Starting from a few fundamental concepts and principles—procedural and syntactic abstractions, recursion, iteration, state, and control—Springer and Friedman develop the ideas and techniques of programming. They include traditional topics such as numeric and symbolic computation and also cover current issues such as streams, object-oriented programming, and continuations for abstracting control. The presentation is designed for the introductory college student. It is more sophisticated and complete than The Little LISPer but not as advanced as Structure and Interpretation of Computer Programs.
Springer and Friedman provide a solid introduction to data abstraction by presenting topics such as lists, strings, vectors, matrices, sets, relations, and functions. Among the examples used to illustrate object-oriented programming are stacks, queues, circular lists, hash tables, and a gas station simulation.