This course meets on Mondays, Tuesdays, Wednesdays, and Thursdays from 10:40 AM to 12:40 PM in Hagedorn 110. The last time I taught this course was Fall 2003.
The main textbook for this class is How to Design Programs, by
Felleisen, Fisler, Flatt, and Krishnamurthi, published by MIT Press.
The text of the book is available on-line,
but I've also ordered the printed version through the bookstore;
you are encouraged, but not required to buy the printed
This textbook uses the Scheme programming language. Why Scheme?
We use the software package DrScheme, which is available for free download for Windows, Mac, and Unix.
If you've got DrScheme version 207 or later, there are some built-in
image-manipulation functions. But not as many as I'd like: save this file into the "teachpack" folder inside your
DrScheme installation (this is probably
on Windows, or
/Applications/PLT Scheme v207/teachpack on a
Macintosh), and you'll have access to an additional teachpack providing
You can play with them using this picture.
This course is intended primarily for people who have not previously studied computer programming, both CS majors and non-majors. For non-majors, this course counts towards your math/science distribution requirement. Students who have passed at least a semester (half a year) of computer programming with a "B" or better may skip this course and go straight to CSC 171, or they may take this course anyway; some of the concepts will be familiar, but they'll probably still learn a lot.