Sold Out
Book Categories |
Contents | ||
List of Figures | ||
Preface | ||
I | Processing Simple Forms of Data | 3 |
1 | Students, Teachers, and Computers | 3 |
2 | Numbers, Expressions, Simple Programs | 5 |
3 | Programs are Function Plus Variable Definitions | 21 |
4 | Conditional Expressions and Functions | 29 |
5 | Symbolic Information | 46 |
6 | Compound Data, Part 1: Structures | 51 |
7 | The Varieties of Data | 79 |
Intermezzo 1: Syntax and Semantics | 97 | |
II | Processing Arbitrarily Large Data | 117 |
9 | Compound Data, Part 2: Lists | 117 |
10 | More on Processing Lists | 137 |
11 | Natural Numbers | 153 |
12 | Composing Functions, Revisited Again | 168 |
Intermezzo 2: List Abbreviations | 183 | |
III | More on Processing Arbitrarily Large Data | 189 |
14 | More Self-referential Data Definitions | 189 |
15 | Mutually Referential Data Definitions | 209 |
16 | Development through Iterative Refinement | 221 |
17 | Processing Two Complex Pieces of Data | 228 |
Intermezzo 3: Local Definitions and Lexical Scope | 259 | |
IV | Abstracting Designs | 283 |
19 | Similarities in Definitions | 283 |
20 | Functions are Values | 299 |
21 | Designing Abstractions from Examples | 306 |
22 | Designing Abstractions with First-Class Functions | 319 |
23 | Mathematical Examples | 334 |
Intermezzo 4: Defining Functions on the Fly | 350 | |
V | Generative Recursion | 357 |
25 | A New Form of Recursion | 357 |
26 | Designing Algorithms | 368 |
27 | Variations on a Theme | 381 |
28 | Algorithms that Backtrack | 406 |
Intermezzo 5: The Cost of Computing and Vectors | 417 | |
VI | Accumulating Knowledge | 441 |
30 | The Loss of Knowledge | 441 |
31 | Designing Accumulator-Style Functions | 450 |
32 | More Uses of Accumulation | 466 |
Intermezzo 6: The Nature of Inexact Numbers | 478 | |
VII | Changing the State of Variables | 491 |
34 | Memory for Functions | 491 |
35 | Assignment to Variables | 496 |
36 | Designing Functions with Memory | 507 |
37 | Examples of Memory Usage | 521 |
Intermezzo 7: The Final Syntax and Semantics | 548 | |
VIII | Changing Compound Values | 573 |
39 | Encapsulation | 573 |
40 | Mutable Structures | 587 |
41 | Designing Functions that Change Structures | 608 |
42 | Equality | 637 |
43 | Changing Structures, Vectors, and Objects | 642 |
Epilogue | 677 | |
Index | 683 |
Login|Complaints|Blog|Games|Digital Media|Souls|Obituary|Contact Us|FAQ
CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!! X
You must be logged in to add to WishlistX
This item is in your Wish ListX
This item is in your CollectionHow to Design Programs: An Introduction to Programming and Computing
X
This Item is in Your InventoryHow to Design Programs: An Introduction to Programming and Computing
X
You must be logged in to review the productsX
X
X
Add 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, c, How to Design Programs: An Introduction to Programming and Computing to the inventory that you are selling on WonderClubX
X
Add 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, c, How to Design Programs: An Introduction to Programming and Computing to your collection on WonderClub |