TY - BOOK AU - Felleisen,Matthias TI - How to design programs: an introduction to programming and computing. SN - 9780262062183 AV - QA76.6.H697 U1 - 005.1/2 21 PY - 2001/// CY - Cambridge, Mass. PB - MIT Press KW - Computer programming KW - Electronic data processing N1 - Includes bibliographical references and index; Contents: Processing simple forms of data: Students, teachers and computers -- Numbers of expressions, simple programs -- Programs are function plus variable definintions -- Conditional expressions and functions -- Symbolic information -- Compound data, part 1: structures -- The varieties of data: I: Intermezzo 1: syntax and semantics -- II: Processing arbitrarily large data -- Compound data, part 2: Lists -- More on processing list -- Natuaral 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 definintions -- Functions are values -- Designing abstractions from examples -- Designinig 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 accumulation -- Intermezzo 6: The nature of inexact numbers -- VII: Changing the state of variables: Memory for functions -- Assignment to variables -- Designing funtions 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 -- Epilogue UR - http://www.loc.gov/catdir/toc/fy032/00048169.html ER -