How to design programs an introduction to programming and computing
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills -- critical reading, analytical thinking, creative synthesis, and attention to detail...
Saved in:
| Other Authors | |
|---|---|
| Format | Electronic eBook |
| Language | English |
| Published |
Cambridge, Mass. :
MIT Press,
©2001.
|
| Subjects | |
| Online Access | Full text |
| ISBN | 9780262256117 |
| Physical Description | 1 online zdroj (xxx, 693 pages) : illustrations |
Cover
Table of Contents:
- Processing simple forms of data. Students, teachers, and computers
- Numbers, expressions, simple programs
- Programs are function plus variable definitions
- Conditional expressions and functions
- Symbolic information
- Compound data, part 1: structures
- The varieties of data
- Syntax and semantics
- Processing arbitrarily large data. Compound data, part 2: lists
- More on processing lists
- Natural numbers
- Composing functions, revisited again
- List abbreviations
- More on processing arbitrarily large data. More self-referential data definitions
- Mutually referential data definitions
- Development through iterative refinement
- Processing two complex pieces of data
- Local definitions and lexical scope
- Abstracting designs. Similarities in definitions
- Functions are values
- Designing abstractions from examples
- Designing abstractions with first-class functions
- Mathematical examples
- Defining functions on the fly
- Generative recursion. A new form of recursion
- Designing algorithms
- Variations on a theme
- Algorithms that backtrack
- The cost of computing and vectors
- Accumulating knowledge. The loss of knowledge
- Designing accumulator-style functions
- More uses of accumulation
- The nature of inexact numbers
- Changing the state of variables. Memory for functions
- Assignment to variables
- Designing functions with memory
- Examples of memory usage
- The final syntax and semantics
- Changing compound values. Encapsulation
- Mutable structures
- Designing functions that change structures
- Equality
- Changing structures, vectors, and objects.