Contact The MIT Press Information on how to order from The MIT Press Access your saved shopping cart, e-mail list subscriptions, order history, address book, and other info in the Your Profile area MIT Press Home Page


February 2001
8 x 9, 720 pp., 128 illus.
$71.00/£48.95 (CLOTH)
Text

ISBN-10:
0-262-06218-6
ISBN-13:
978-0-262-06218-3

Related Links
Open this site in a new browser window.
Supplemental Material and ExercisesOpen this site in a new browser window.
Find this book in a library
Request Exam/Desk Copy
Table of Contents
< BACK
How to Design Programs
An Introduction to Programming and Computing
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurthi

Table of Contents

I. 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; Intermezzo 1: Syntax and Semantics

II. Processing Arbitrarily Large Data
Compound Data, Part 2: Lists; More onProcessing Lists; Natural Numbers; composing Functions, Revisited Again; Intermezzo 2: List Abbreviations

III. 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; Intermezzo 3: Local Definitions and Lexical Scope

IV. Abstracting Designs
Similarities in Definitions; Functions Are Values; Designing Abstractions from Examples; Designing Abstractions with First-Class Functions; Mathematical Examples; Intermezzo 4: Defining Functions on the Fly

V. Generative Recursion
A New Form of Recursion; Designing Algorithms; Variations on a Theme; Algorithms that Backtrack; Intermezzo 5: The Cost of Computing and Vectors

VI. Accumulating Knowledge
The Loss of Knowledge; Designing Accumulator-Style Functions; More Uses of Accunulation; Intermezzo 6: The Nature of Inexact Numbers

VII. Changing the State of Variables
Memory for Functions; Assignment to Variables; Designing Functions with Memory; Examples of Memory Usage; Intermezzo 7: The Final Syntax and Semantics

VIII. Changing Compound Values
Encapsulation; Mutable Structures; Designing Functions that Change Structures; Equality; Changing Structures, Vectors and Objects

 
Join an E-mail Alert List


 
 
TECHNOLOGY PARTNER: Azility, Inc. TERMS OF USE | PRIVACY POLICY | COPYRIGHT © 2009