This selection of programming assignments, drawn from material
developed for MIT's introductory computer science subject, is provided
for the convenience of instructors teaching courses based on
Structure and Interpretation of Computer Programs, and as a
self-study aid for people using the book on their own.

There is a separate directory for each assignment.
In general, individual directories will contain:

The assignment in PostScript form (.ps) ready to be printed.

The assignment source text, which you can modify and reprint.
The source is designed to be processed by the LaTex
text formatting system. In order to process the sources, you
will need to download some LaTeX support
files from this site. In addition to the LaTeX text sources,
some of the assignments require figures, which are included as graphics
files.

One or more files of source code (.scm) written in the Scheme
dialect of Lisp. Most of the assignments involve modifying and
extending such code.

Answers to the problems are not included.

Note to instructors

The PostScript files here are provided as a guide to what the problem
sets should look like. You should not expect to simply print them out
and assign them without modification. Some of the assignments
available rely on specific features of MIT Scheme and
idiosyncrasies our programming environment at MIT. Also, the exercise
numbers alluded to in "the course notes" may not match the published
textbook, since these assignments were constructed before the final
revisions to the manuscript. In some cases (such as the adventure
game) you will want to modify the problem set to remove MIT-isms and
replace them with your own local color. Finally, the assignments are
referred to by number -- problem set 1, problem set 2, etc. These
numbers are the assignment numbers used during the semester that each
one was assigned at MIT, and you will likely want to change them.