"How to design programs" - Information and Links:

How to design programs - Info and Reading Options

an introduction to programming and computing

Book's cover
The cover of “How to design programs” - Open Library.

"How to design programs" was published by MIT Press in 2001 - Cambridge, Mass, it has 693 pages and the language of the book is English.


“How to design programs” Metadata:

  • Title: How to design programs
  • Author:
  • Language: English
  • Number of Pages: 693
  • Publisher: MIT Press
  • Publish Date:
  • Publish Location: Cambridge, Mass

“How to design programs” Subjects and Themes:

Edition Specifications:

  • Pagination: xxx, 693 p. :

Edition Identifiers:

AI-generated Review of “How to design programs”:


"How to design programs" Table Of Contents:

  • 1- Processing simple forms of data. Students, teachers, and computers
  • 2- Numbers, expressions, simple programs
  • 3- Programs are function plus variable definitions
  • 4- Conditional expressions and functions
  • 5- Symbolic information
  • 6- Compound data, part 1: structures
  • 7- The varieties of data
  • 8- Syntax and semantics
  • 9- Processing arbitrarily large data. Compound data, part 2: lists
  • 10- More on processing lists
  • 11- Natural numbers
  • 12- Composing functions, revisited again
  • 13- List abbreviations
  • 14- More on processing arbitrarily large data. More self-referential data definitions
  • 15- Mutually referential data definitions
  • 16- Development through iterative refinement
  • 17- Processing two complex pieces of data
  • 18- Local definitions and lexical scope
  • 19- Abstracting designs. Similarities in definitions
  • 20- Functions are values
  • 21- Designing abstractions from examples
  • 22- Designing abstractions with first-class functions
  • 23- Mathematical examples
  • 24- Defining functions on the fly
  • 25- Generative recursion. A new form of recursion
  • 26- Designing algorithms
  • 27- Variations on a theme
  • 28- Algorithms that backtrack
  • 29- The cost of computing and vectors
  • 30- Accumulating knowledge. The loss of knowledge
  • 31- Designing accumulator-style functions
  • 32- More uses of accumulation
  • 33- The nature of inexact numbers
  • 34- Changing the state of variables. Memory for functions
  • 35- Assignment to variables
  • 36- Designing functions with memory
  • 37- Examples of memory usage
  • 38- The final syntax and semantics
  • 39- Changing compound values. Encapsulation
  • 40- Mutable structures
  • 41- Designing functions that change structures
  • 42- Equality
  • 43- Changing structures, vectors, and objects.

Read “How to design programs”:

Read “How to design programs” by choosing from the options below.

Search for “How to design programs” downloads:

Visit our Downloads Search page to see if downloads are available.

Find “How to design programs” in Libraries Near You:

Read or borrow “How to design programs” from your local library.

Buy “How to design programs” online:

Shop for “How to design programs” on popular online marketplaces.