Structure and Interpretation of Computer Programs


Structure and Interpretation of Computer Programs is a computer science textbook by Massachusetts Institute of Technology professors Harold Abelson and Gerald Jay Sussman with Julie Sussman. It is known as the Wizard Book in hacker culture. It teaches fundamental principles of computer programming, including recursion, abstraction, modularity, and programming language design and implementation.
The MIT Press published the first edition in 1985, and the second edition in 1996. It was formerly used as the textbook for MIT's introductory course in electrical engineering and computer science. SICP focuses on discovering general patterns for solving specific problems, and building software systems that make use of those patterns.

Content

The book describes computer science concepts using Scheme, a dialect of Lisp. It also uses a virtual register machine and assembler to implement Lisp interpreters and compilers.

Characters

Several fictional characters appear in the book:
The book is licensed under a Creative Commons Attribution ShareAlike 4.0 License.

Coursework

The book was used as the textbook for MIT's former introductory programming course, 6.001. That course was replaced by 6.0001, which uses Python. Other schools also made use of the book as a course textbook. It is used as the textbook for MIT's Large Scale Symbolic Systems class, 6.945.

Reception

Byte recommended SICP "for professional programmers who are really interested in their profession". The magazine said that the book was not easy to read, but that it would expose experienced programmers to both old and new topics.

Influence

SICP has been influential in computer science education, and several later books have been inspired by its style.