Emphasis on principles of programming and program design through extensive practice in writing, running, and reasoning about programs. This course is designed for majors. Recursion and iteration are two ways of repeating computations. For example, a bicycle has as modules wheels, frame, brakes, and so on. Functional, interactive, and imperative programming are all styles of programming.
Interactive programs talk to the user.
Another analogy is that a programmer is like someone who writes a cookbook, as opposed to a cook. Com S 227. This is not a course about Scheme, it is a course for you to explore computer programming, and Scheme happens to be a good vehicle for that. It also has a discussion section that meets once a week with a teaching assistant. There are usually 43 or 44 lecture meetings in a semester.