Chapter 1 · Building Abstractions with Procedures
18 runnable lessons across 3 sections of the original book.
StartSection 1.1 · The Elements of Programming
7 lessons
- 1.1.1An expression asks for a value.Open lesson
- 1.1.2A name gets its value from a particular environment.Open lesson
- 1.1.3A procedure gives a process a name.Open lesson
- 1.1.4Substitution explains an application by rewriting its body.Open lesson
- 1.1.5A predicate chooses which work becomes real.Open lesson
- 1.1.6Repeated refinement turns a guess into an approximation.Open lesson
- 1.1.7A useful boundary hides a method without hiding its contract.Open lesson
Section 1.2 · Procedures and the Processes They Generate
6 lessons
- 1.2.1The answer is only the last frame.Open lesson
- 1.2.2A tree process can repeat the same smaller problem.Open lesson
- 1.2.3An invariant makes exponent reduction safe.Open lesson
- 1.2.4Replace the problem with a smaller equivalent one.Open lesson
- 1.2.5A fast passing test is evidence with a boundary.Open lesson
- 1.2.6Remainders keep repeated squaring inside a modulus.Open lesson
Section 1.3 · Formulating Abstractions with Higher-Order Procedures
5 lessons
- 1.3.1Pass the part that changes.Open lesson
- 1.3.2Lambda creates a procedure before any argument arrives.Open lesson
- 1.3.3A transformation can produce its own next guess.Open lesson
- 1.3.4A finite continued fraction can unfold or accumulate.Open lesson
- 1.3.5A procedure can build the next procedure.Open lesson
Chapter checkpoint
Reconnect the chapter’s key ideas before moving on.
Review