Skip to content
You are not logged in |Login  
     
Limit search to available items
Book Cover
Bestseller
BestsellerE-Book

Title How to design programs : an introduction to programming and computing / Matthias Felleisen [and others].

Publication Info. Cambridge, Mass. : MIT Press, [2001]
©2001

Copies

Location Call No. Status
 University of Saint Joseph: Pope Pius XII Library - Internet  WORLD WIDE WEB E-BOOK MIT    Downloadable
Please click here to access this MIT resource
Description 1 online resource (xxx, 693 pages) : illustrations
text file PDF rda
Bibliography Includes bibliographical references and index.
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.
Summary 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 -- that are important for everyone, not just future computer programmers. The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well-defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners. The environment grows with the readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. - Publisher.
Note Print version record.
Local Note MIT Press DTL OA MIT Titles
Language English.
Subject Computer programming.
Electronic data processing.
COMPUTERS -- Software Development & Engineering -- Systems Analysis & Design.
COMPUTERS -- Software Development & Engineering -- General.
Computer programming. (OCoLC)fst00872390
Electronic data processing. (OCoLC)fst00906956
Programmierung.
Programmatuurtechniek.
Computadores.
Teoria e técnicas de programação.
Engineering & Applied Sciences.
Computer Science.
Genre/Form Electronic books.
Added Author Felleisen, Matthias.
Other Form: Print version: How to design programs. Cambridge, Mass. : MIT Press, ©2001 0262062186 (DLC) 00048169
ISBN 058539296X (electronic book)
9780585392967 (electronic book)
0262256118 (electronic book)
9780262256117 (electronic book)
Standard No. 9780262062183
ISBN 0262062186
9780262062183
9786612096303
6612096306
1282096303
9781282096301
0262300192
9780262300193
0262062186
9780262062183
-->
Add a Review