- The Structure and Interpretation of
Computer Programs (SICP), by Abelson, Sussman and Sussman.
- The full text, in HTML form, is available in several places, including
a Zip archive here.
- How to Design Programs by Felleisen, Findler, Flatt, and Krishnamurthi:
- The PLT Scheme Manual Search Engine
- PLT Scheme Tips, based on questions that
arise during this course
- Coding Best Practices, based on critiques that commonly arise
during this course
There are many Scheme implementations. We use PLT Scheme because
it includes DrScheme, a student-friendly development environment.
To get help on Scheme, first check the Help Desk
under the Help menu
in DrScheme. The Help Desk has information on what's available
in each language subset and each TeachPack. Some of these
resources require being online, but many are local to your machine.
MacOS note: The first time you access the Help Desk,
a dialog box about opening a downloaded web page may appear with several
buttons. Choose Open not Show Web Page to get the Help Desk.
This dialog only appears the first time.
Other documentation can be found at
- the PLT Scheme home page
- The PLT Scheme Language Levels
The MIT 6.001 Course Notes:
6.001 is the grand-daddy of this family of courses.
Scheme Quick Reference
(PDF): Fairly short and readable. Ignore items marked Swindle (an object-oriented extension
available in DrScheme but not a focus of this class) and the
handful of extensions listed at the end.
Scheme Forms and Procedures If you don't understand them now,
don't worry, you will as the quarter progresses.
Scheme Primer This is a nice reference to Scheme.
- The Scheme standards documents. These define the official core language.
Not necessary for learning but if you want to know the differences between
what PLT Scheme provides and what's standard,
here's where to look.