SICP Chapter 1: Building Abstractions with Procedures
building abstractions by combining procedures to form compound procedures
SICP Chapter 2: Building Abstractions with Data
building abstractions by combining data objects to form compound data
SICP Exercise 1