This course gives non-programmers an overview of the art and science of software engineering, answering the following questions with hands-on lab experience: How does software make a computer do the amazing and powerful things it does? Why are programmers often so obsessed with their work? Is it that much fun?
We will be using the Python programming language for lab exercises. Python is favored by first-time programmers because it presents engineering concepts in straight-forward, clear language, while, quietly and behind-the-scenes, it takes care of the difficult, tedious and error-prone details that present the major obstacles to writing a program in older languages.
If you are familiar with any programming language already, the pace of this course may be too slow for you. To learn Python for those with experience in programming, go directly to "Python for Programmers" (course #3064).