Structure and Interpretation of Computer Programs (SICP)

Also known as Structure and Interpretation of Computer Programs. It is one of the most famous books in computer science and very essential for any software engineer to go through.
This series contains my solutions and notes as I work through the exercises. The online version of this book can be found at https://mitpress.mit.edu/sicp/full-text/book/book.html
To supplement the book, I’m also following the original online lectures by Abelson and Sussman found here
Browse by Tags
Chapter Solutions
Chapter 1: Building Abstractions with Procedures
- 1.1 The Elements of Programming - Summary | Solutions
- 1.2 Procedures and the Processes They Generate - Solutions
- 1.3 Formulating Abstractions with Higher-Order Procedures - Solutions
Chapter 2: Building Abstractions with Data
- 2.1 Introduction to Data Abstraction - Solutions
- 2.2 Hierarchical Data and the Closure Property - Solutions
- 2.3 Symbolic Data - Solutions
- 2.4 Multiple Representations for Abstract Data - Solutions
- 2.5 Systems with Generic Operations - Solutions
Chapter 3: Modularity, Objects, and State
- 3.1 Assignment and Local State - Solutions
- 3.2 The Environment Model of Evaluation - Solutions
- 3.3 Modeling with Mutable Data - Solutions
- 3.4 Concurrency: Time Is of the Essence - Solutions
- 3.5 Streams - Solutions
Chapter 4: Metalinguistic Abstraction
- 4.1 The Metacircular Evaluator - Solutions
Chapter 5: Computing with Register Machines
Solutions coming soon…
Each post contains detailed solutions with explanations, helping to understand both the specific problems and the broader computer science concepts they illustrate.