| Applicative-Order vs Normal-Order Evaluation | concept | 3 | Open |
| Closures, Lexical Scope, and Captured Environments | concept | 2 | Open |
| Concurrency and Language-Level Abstractions over Mutation | concept | 1 | Open |
| Data Abstraction and Abstract Data Types | concept | 2 | Open |
| First-Class Procedures and Higher-Order Functions | concept | 2 | Open |
| From Interpretation to Compilation: Staging, Intermediate Representation | concept | 2 | Open |
Function Composition, map, filter, reduce as Abstractions | concept | 2 | Open |
| Introducing Assignment: The Cost of Mutation | concept | 1 | Open |
| Layering Abstractions to Tame Complexity | concept | 2 | Open |
| Learning Resources | resource | 8 | Open |
| Procedural Abstraction: Procedures as Black Boxes | concept | 2 | Open |
| Reference and Selective Reading | reference | 8 | Open |
| SICP Exercise Pointers | exercise | 4 | Open |
| Streams, Laziness, and Infinite Data Structures | concept | 1 | Open |
| Tail Calls and Iteration as Disguised Recursion | concept | 2 | Open |
| The Substitution Model vs the Environment Model | concept | 2 | Open |
What an Interpreter Is: eval and apply | concept | 1 | Open |
| Writing a Small Lisp / Scheme Interpreter | concept | 1 | Open |