CSC 160
Computer Programming for Non-Majors

Fall, 2011

syllabus calendar homework PSP Piazza daily survey recipes
Syllabus Calendar Textbook
(including pictures
and worked exercises)
Homework PSP Moodle Piazza Supplementary
Daily Survey Design recipes

Course meeting

This course meets on Tuesdays and Thursdays from 12:15-1:30 PM in Science 227. (There's another section of it on Mondays and Wednesdays from 4:15-5:30, taught by a former student of mine.) The last time I taught this course was spring 2011.

Getting Help

My office hours (in Post Hall 203; if I'm not there, look downstairs in the computer lab, Post 102) are To Be Announced.

Student tutor Nick Miceli can help with this course. He has office hours in the Learning Center, also To Be Announced. The Learning Center encourages students to make appointments using their on-line appointment calendar, but if you can't make an appointment, just walk in during those hours.

When you have questions about the class, I encourage you to post them on Piazza (anonymously if you wish), and perhaps one of your classmates will answer the question before Nick or I even see it. If we see an answer that's clearly wrong, we'll correct it; if we see an answer that we like, we'll mark it as such.


The main textbook for this class is Picturing Programs: an Introduction to Computer Programming. It's available in the bookstore, fairly inexpensively, but it's also available on-line for free

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. There's also an incomplete second edition of the book.

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 DrRacket, which is available for free download for Windows, Mac, and Unix. You are encouraged to install it on your home computer. It's also installed in all the computer labs on campus. If you download the latest version, you may get one slightly more up-to-date than what's in the on-campus labs, but I don't expect that'll cause any problems.

If you're using a recent version of DrRacket, you don't need the installation procedure described in Chapter 1 of the textbook, and you can just say

(require picturing-programs)
instead of
(require installed-teachpacks/picturing-programs)

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 and CMIS majors are allowed to take the course, and will almost certainly learn something, but this course isn't part of the CS or CMIS major. For math majors, this course no longer counts as your programming requirement (although you'll learn a lot from it anyway). 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 /