CSC 160
Computer Programming for Non-Majors

Fall, 2008

syllabus calendar homework PSP daily survey recipes
Syllabus Calendar Homework PSP Moodle
(incl. my textbook)
Pictures used
in my textbook
Worked Exercises
from my 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.

Getting Help

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?

Partners for upcoming assignments

If you need a partner for the next homework, please e-mail me immediately and I'll try to match you up with someone.

Recipes and Syntax Rules

You'll get through this course a lot more easily if you follow the design recipes! Here are the recipes and syntax rules we've seen so far, and you can also read about the spelling, grammar, vocabulary, and idioms of Scheme.

Software support

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 and teachpacks; see here for directions.

Reading List

Who should take this course?

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.

You are visitor number to this page since June 4, 2001.
Last modified:
Stephen Bloch /