<div><p><strong>A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming.</strong></p><p>This introduction to programming places computer science at the core of a lib
How to design Programs. An Introduction to Programming and Computing (online version) [2nd ed.]
โ Scribed by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi
- Publisher
- MIT
- Year
- 2014
- Tongue
- English
- Leaves
- 744
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Table of Contents
Preface......Page 1
Prologue - how to program......Page 13
Arithmetic & Arithmetic......Page 17
Inputs & Output......Page 23
Many Ways to compute......Page 28
One Program, Many Definitions......Page 33
One more Definition......Page 37
You are a Programmer now......Page 40
Not!......Page 41
Arithmetic......Page 42
Functions & Programs......Page 59
How to design Programs......Page 90
Intervals, Enumerations, Itemizations......Page 116
Adding Structure......Page 161
Itemizations & Structures......Page 200
Intermezzo - BSL......Page 232
Lists......Page 256
Self-Referential Data Definitions......Page 269
More on Lists......Page 303
Design by Composition......Page 331
Projects - Lists......Page 353
Summary......Page 382
Intermezzo - Quote, Unquote......Page 384
Similarities everywhere......Page 394
Designing Abstractions......Page 408
Using Abstractions......Page 423
Nameless Functions......Page 449
Summary......Page 471
Intermezzo - Scope & Abstraction......Page 473
Poetry of S-Expressions......Page 493
Incremental Refinement......Page 520
Refining Interpreters......Page 526
Commerce of XML......Page 539
Simultaneous Processing......Page 562
Summary......Page 590
Intermezzo - Nature of Numbers......Page 592
Non-standard Recursion......Page 603
Designing Algorithms......Page 613
Variations on the Theme......Page 626
Mathematical Examples......Page 640
Algorithms that backtrack......Page 659
Summary......Page 675
Intermezzo - Cost of Computation......Page 677
Loss of Knowledge......Page 690
Accumulator-Style Functions......Page 699
More Uses of Accumulation......Page 720
Summary......Page 739
Epilogue - how not to program......Page 741
๐ SIMILAR VOLUMES
<P>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 detai
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--
A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This introduction to programming places computer science at the core of a liberal arts education. Unlike