Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book.

(from The New Hacker's Dictionary, 2nd edition)

Also available are the sicp-video-lectures, a series of lectures given to employees at HP. The lectures were filmed before the 2nd edition of the book, so some of the examples are different, but this is an invaluable resource. There is a map between the 2nd edition of the book and the videos: sicp-text-to-video-map.

Other lectures about SICP are available at ArsDigita University.

There was some talk about distributing them in a .torrent.

This is not necessarily a book about Scheme (though, you will learn scheme in it), but more about programming in general, and its processes. This book will not only make you a better scheme programmer, but it will make you a better programmer in general.

Virtual Study Group

There is a Virtual Study Group found at that rather dormant save for spam (as of Dec 2007). Also there is an IRC channel found on freenode called #sicp. (Note: The IRC channel is empty as of 2009-11-11.) This channel is logged on SICP-Solutions is the page where you can post solutions to problems in the book.

Implementation Specific Considerations

(runtime) primitive

In exercise 1.22, you'll need a "(runtime)" primitive. Not every implementation has it. You can use the following similar functions:


 (define (runtime) (tms:clock (times)))
 ;; returns current time, in seconds
 (define (runtime)
   (define now (gettimeofday))
   (+ (car now) (/ (cdr now) 1000000.)))


 (define (runtime) (current-milliseconds))