Book · Computer Science

Structure and Interpretation of Computer Programs (SICP)

Known as 'the wizard book,' SICP teaches fundamental programming concepts and computational thinking through Lisp, emphasizing abstraction and problem-solving paradigms.

by Harold Abelson, Gerald Jay Sussman, Julie Sussman

Summary

Structure and Interpretation of Computer Programs (SICP) introduces fundamental computation ideas through mental models, adapted to JavaScript. The first three chapters present programming concepts universal to high-level languages. Later chapters address language processors, introducing program parsing in chapter four. Chapter five details an evaluator and compiler that use a stack discipline to support return statements while preserving tail recursion, a key feature for statement-oriented languages. The book's examples run on ECMAScript 2020 compliant JavaScript implementations.

This edition builds on a popular MIT introductory computer science course. Originally using Scheme, the adaptation to JavaScript provides access to its influential computer science curriculum globally. The book, also known as the "Wizard Book" or "Purple Book," aims to establish mental models for computation.

Key concepts

  • Mental models for computationConceptual frameworks used to understand how programs operate.
  • Program parsingThe process of analyzing a string of symbols to determine its grammatical structure according to a given grammar.
  • EvaluatorA program that interprets and executes code.
  • CompilerA program that translates code from one programming language to another.
  • Stack disciplineA rule for managing data on a stack, specifically applied here to support return statements and tail recursion.
  • Tail recursionA recursion where the recursive call is the very last operation in the function, allowing for optimization.

From the book

Title: Structure and Interpretation of Computer Programs (SICP) by Harold Abelson, Gerald Jay Sussman, Julie Sussman
Description: > **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.
Title: Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman, Martin Henz, Tobias Wrigstad, Julie Sussman

Popular questions readers ask