CSC 160
Computer Programming for Non-Majors

Summer I, 2005

Syllabus Calendar Homework PSP Textbook Examples Design recipes Daily Survey

This course meets on Mondays, Tuesdays, Wednesdays, and Thursdays from 10:40 AM to 12:40 PM in Science 227. The last time I taught this course was Spring 2005.

Getting Help

My office hours will generally be immediately after class, either in the lab/classroom or in my office (Alumnæ Hall 113A).

The Big Ideas

I've put on the Web a glossary of the most important terms and ideas in this course; please read these and think about them.


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 version.
This textbook uses the Scheme programming language. Why Scheme?

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.

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 C:\Program Files\PLT\teachpack on Windows, or /Applications/PLT Scheme v207/teachpack on a Macintosh), and you'll have access to an additional teachpack providing functions image-above, image-beside, reflect-horiz, reflect-vert, reflect-main-diag, reflect-other-diag, rotate-cw, rotate-ccw, and rotate-180. You can play with them using this picture.

I've set up some forms for entering and viewing PSP data. You may use these forms to record defect and time information. To use the forms successfully, make sure your browser accepts JavaScript and cookies. (For those with a moral opposition to cookies, I assure you that they're all "temporary" -- they disappear as soon as you quit the browser.)

Reading List

Who should take this course?

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.

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