**Search this chapter:**

**1.1 The Elements of Programming**- 1.1.1 Expressions
- 1.1.2 Naming and the Environment
- 1.1.3 Evaluating Combinations
- 1.1.4 Compound Procedures
- 1.1.5 The Substitution Model for Procedure Application
- 1.1.6 Conditional Expressions and Predicates
- 1.1.7 Example: Square Roots by Newton's Method
- 1.1.8 Procedures as Black-Box Abstractions

- 1.1.1 Expressions
**1.2 Procedures and the Processes They Generate**- 1.2.1 Linear Recursion and Iteration
- 1.2.2 Tree Recursion
- 1.2.3 Orders of Growth
- 1.2.4 Exponentiation
- 1.2.5 Greatest Common Divisors
- 1.2.6 Example: Testing for Primality

- 1.2.1 Linear Recursion and Iteration
**1.3 Formulating Abstractions with Higher-Order Procedures**- 1.3.1 Procedures as Arguments
- 1.3.2 Constructing Procedures Using
`Lambda` - 1.3.3 Procedures as General Methods
- 1.3.4 Procedures as Returned Values

- 1.3.1 Procedures as Arguments