- Chapter 1: Code Should Be Easy to Understand
- Part 1: Surface-Level Improvements
- Part 2: Simplifying Loops and Logic
- Part 3: Reorganizing Your Code
- Chapter 10: Extracting Unrelated Subproblems
- Chapter 11: One Task at a Time
- Chapter 12: Turning Thoughts into Code
- Chapter 13: Writing Less Code
- Part 4: Selected Topics
- Chapter 14: Testing and Readability
- Chapter 15: Designing and Implementing a Minute/Hour Counter