| Next

About

CC-BY-NC 3.0

  • Chapter 1
  • Building Abstractions with Procedures
  • 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.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.3 Formulating Abstractions with Higher-Order Procedures
  • 1.3.1 Procedures as Arguments
  • 1.3.2 Constructing Procedures Using fn
  • 1.3.3 Procedures as General Methods
  • 1.3.4 Procedures as Returned Values
  • Chapter 2
  • Building Abstractions with Data
  • 2.1 Introduction to Data Abstraction
  • 2.1.1 Example: Arithmetic Operations for Rational Numbers
  • 2.1.2 Abstraction Barriers
  • 2.1.3 What Is Meant by Data?
  • 2.1.4 Extended Exercise: Interval Arithmetic