Chapter 1. Building Abstractions with Procedures

1.1. The Elements of Programming

  1. Expressions
  2. Naming and the Environment
  3. Evaluating Combinations
  4. Compound Procedures
  5. The Substitution Model for Procedure Application
  6. Conditional Expressions and Predicates (exercise 1.1, exercise 1.2, exercise 1.3, exercise 1.4, exercise 1.5)

  7. Example: Square Roots by Newton's Method (exercise 1.6, exercise 1.7, exercise 1.8)

  8. Procedures as Black-Box Abstractions

1.2. Procedures and the Processes They Generate

  1. Linear Recursion and Iteration (exercise 1.9, exercise 1.10)

  2. Tree Recursion (exercise 1.11, exercise 1.12, exercise 1.13)

  3. Orders of Growth (exercise 1.14, exercise 1.15)

  4. Exponentiation (exercise 1.16, exercise 1.17, exercise 1.18, exercise 1.19)

  5. Greatest Common Divisors (exercise 1.20)

  6. Example: Testing for Primality (exercise 1.21, exercise 1.22, exercise 1.23, exercise 1.24, exercise 1.25, exercise 1.26, exercise 1.27, exercise 1.28)

1.3. Formulating Abstractions with Higher-Order Procedures

  1. Procedures as Arguments (exercise 1.29, exercise 1.30, exercise 1.31, exercise 1.32, exercise 1.33)

  2. Constructing Procedures Using Lambda (exercise 1.34)

  3. Procedures as General Methods (exercise 1.35, exercise 1.36, exercise 1.37, exercise 1.38, exercise 1.39)

  4. Procedures as Returned Values (exercise 1.40, exercise 1.41, exercise 1.42, exercise 1.43, exercise 1.44, exercise 1.45, exercise 1.46)

Chapter1 (last edited 2008-05-11 11:36:23 by localhost)