Structure and Interpretation of Computer Programs

SICP, first published in 1985, is a classic of computer programming education.

The article Why Structure and Interpretation of Computer Programs matters provides a great overview of why SICP is still considered one of the best textbooks of computer science, even now, 30 years after it was first published.

SICP is about standing back from the details to learn big-picture ways to think about the programming process.

SICP front cover

SICP uses Scheme as the programming language with which to explain its concepts.

Another revolution was the choice of Scheme as the programming language. [...] It was very brave of Abelson and Sussman to teach their introductory course in the best possible language for teaching, paying no attention to complaints that all the jobs were in some other language. Once you learned the big ideas, they thought, and this is my experience also, learning another programming language isn't a big deal; it's a chore for a weekend.

At EvalApply, we are also interested in examining programming and technology in a wider societal context - and this is something that SICP has fostered, with its focus on ideas, not just implementations.

The idea that computer science should be about ideas, not entirely about programming practice, has since widened to include non-technical ideas about the context and social implications of computing.