Brief summaries:
2.1 Numbers and Arithmetic
Scheme permits the input of data as well as its manipulation through primitive operations (+ - * etc.). Scheme differentiates between exact numbers and inexact numbers. Inexact numbers may represent infinitely repeating decimals, for example.
2.2 Variables and Programs
Scheme allows us to use placeholders to stand in for unknown quantities, or variables. A variable can consume an input and act on it.
2.3 Word Problems
Programs often represent solutions to word problems. One important key to designing programs is effectively extracting relevant information from a word problem.
2.4 Errors
Atomic expressions are composed of numbers and variables, whereas compound expressions may be composed of an operation, variables, and/or more expressions. Compound expressions are surrounded by parentheses. We can distinguish between three types of errors: Syntax errors (expressions that can't be evaluated because they are malformed), run-time errors (an expression that is faulty because of it is mathematically nonsensical, for example), and logical errors (the program or expression is well-formed, but it produces incorrect results).
2.5 Designing Programs
Designing a program can be boiled down into a 'recipe' consisting of four phases: contract purpose and header, examples, body, and test