Computer Programming for Non-Majors
This course meets on Mondays and Wednesdays from 2:25-3:40 PM in Room
100 of the Swirbul Library.
The last time
I taught this course was Summer
My office hours
(in Alumnae Hall 113A; if I'm not there, look around the corner in the 112 lab)
are Mondays 12-1 and 4-5, Tuesdays 10-4, Wednesdays 12-1, and Fridays
The main textbook for this class is one that I'm writing; it'll be
available, chapter by chapter, on BlackBoard. In past semesters, I've
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
We use the software package
DrScheme, which is available for
free download for Windows, Mac, and Unix.
After you've installed it,
please also download and install the
tiles.ss teachpack; see here for
- Read (and use!) the
- Skim my Adages on Software Engineering and
Object-Oriented Programming; in particular, read the few
paragraphs about "the joys (and woes) of the craft".
- On Pair Programming: read
I Really Need to Know about Pair Programming I Learned in
Programming page on Pair Programming
- More generally, skim through the various sections of
- My page on the minimal Scheme
language treats Scheme as a foreign language, with its own spelling,
punctuation, grammar, vocabulary, and idioms.
You might also be interested in Jack Crouch's CS1 Web site. Jack Crouch teaches a course on
beginning programming, using Scheme, DrScheme, and How to Design
Programs; the difference is that he's teaching high school freshmen
rather than college freshmen.
- Why Scheme rather than C++ or Java? A
collection of success
stories and articles about Scheme in education and industry.
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
You are visitor number
to this page since June 4, 2001.
Stephen Bloch / email@example.com