Catalog Description: The same material as 3 but in a self-paced format; introduction to computer programming, emphasizing symbolic computation and functional programming style, using the Scheme programming language. Units assigned depend on amount of work completed. The first two units must be taken together.

Units: 1-4

Prerequisites: High school algebra.

Credit Restrictions: Refer to computer science service course restrictions. Course may be repeated up to 4 units.

Formats:
Fall: 1.0-4.0 hours of self-paced and 3.0-9.0 hours of laboratory per week
Spring: 1.0-4.0 hours of self-paced and 3.0-9.0 hours of laboratory per week

Grading basis: letter

Final exam status: Written final exam conducted during the scheduled final exam period


Class homepage on inst.eecs


Department Notes:

Course objectives: We intend in this course for students to learn to program in a dialect of the Lisp programming language-specifically, to become comfortable with recursion and applicative operators-and to gain in addition some appreciation of the algorithms underlying modern tools like databases, spreadsheets, and expert systems. As their final project requires a fair bit of software engineering, they will also be making design decisions (algorithm, data structure, time-vs-space, etc) and considering various implementation trade-offs.

Topics covered: