Syllabus | Calendar | Homework | PSP | Moodle (incl. my textbook) |
Pictures used in my textbook |
Worked Exercises from my textbook |
Supplementary Textbook |
Daily Survey | Design recipes |
This course meets on Mondays and Wednesdays from 2:25-3:40 PM in Science 227. The last time I taught this course was Spring 2008.
My office hours (in Alumnae Hall 113A; if I'm not there, look around the corner in the 112 lab) are MTTh 1:00-2:15, W 10:00-12:00, and other times by appointment.
The main textbook for this class is one that I'm writing; it'll be
available, chapter by chapter, on Moodle.
I use a lot of pictures in the book; if you'd like to be working with the
same pictures, you can download them from here.
In past semesters, I've used
How to Design Programs, by
Felleisen, Fisler, Flatt, and Krishnamurthi, published by MIT Press, and
you're encouraged to read parts of that book too (especially when we get
to chapters of my book that haven't been written yet!)
We'll be programming in the Scheme programming language. Why Scheme
rather than C++ or Java?
We use the software package DrScheme, which is available for free download for Windows, Mac, and Unix. You are encouraged to install it on your home computer. The current version, which should be installed in the computer labs on campus, is 371.
After you've installed it,
please also download and install the
371-tiles.ss
and 371-sb-world.ss
teachpacks;
see here for directions.
This course is intended primarily for people who have not previously studied computer programming, primarily non-majors. CS majors are allowed to take the course, and will almost certainly learn something, but this course isn't part of the CS major. For non-majors, this course counts towards your math/science distribution requirement.