Check nearby libraries
Buy this book
When you buy books using these links the Internet Archive may earn a small commission.
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.
Check nearby libraries
Buy this book
When you buy books using these links the Internet Archive may earn a small commission.
Previews available in: English
Subjects
Electronic data processing, Computer programming, racket, Computer science, Electronic Data Processing, Programmation (Informatique), Informatique, Data processing, COMPUTERS, Software Development & Engineering, Systems Analysis & Design, General, Programmierung, Programmatuurtechniek, Computadores, Teoria e técnicas de programaçãoShowing 6 featured editions. View all 6 editions?
Edition | Availability |
---|---|
1
How to Design Programs: An Introduction to Programming and Computing
2018, MIT Press
in English
0262344114 9780262344111
|
zzzz
Libraries near you:
WorldCat
|
2
How to Design Programs: An Introduction to Programming and Computing
May 04, 2018, The MIT Press
paperback
- Second Edition
0262534800 9780262534802
|
zzzz
Libraries near you:
WorldCat
|
3 |
zzzz
|
4
How to design programs: an introduction to programming and computing
2001, MIT Press
in English
0262062186 9780262062183
|
eeee
Libraries near you:
WorldCat
|
5
How to Design Programs: An Introduction to Programming and Computing
2001, MIT Press
in English
0262332868 9780262332866
|
zzzz
Libraries near you:
WorldCat
|
6
How to Design Programs: An Introduction to Programming and Computing
February 12, 2001, The MIT Press
Hardcover
in English
0262062186 9780262062183
|
aaaa
Libraries near you:
WorldCat
|
Book Details
First Sentence
"Getting Started We learn to compute at a young age."
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 |
The Physical Object
ID Numbers
Community Reviews (0)
Feedback?History
- Created April 30, 2008
- 8 revisions
April 6, 2014 | Edited by ImportBot | Added IA ID. |
September 14, 2011 | Edited by 158.158.240.230 | Edited without comment. |
August 12, 2010 | Edited by IdentifierBot | added LibraryThing ID |
April 29, 2010 | Edited by WorkBot | add editions to new work |
April 30, 2008 | Created by an anonymous user | Imported from amazon.com record. |