|
|
|
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text.There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published.A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises.In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.
| ISBN | 0262510871 | | Pages | 683 | | ISBN13 | 9780262510875 (What's this?) | | Weight (grammes) | 908 | | Publisher | MIT Press Ltd | | Published in | Cambridge, Mass. | | Imprint | MIT Press | | Series title | MIT Electrical Engineering and Computer Science | | Format | Paperback | | Height (mm) | 229 | | Publication date | 06 Aug 1996 | | Width (mm) | 152 | | Library of Congress | QA76.6.A25 | | Spine width (mm) | 33 | | DEWEY | 005.1 | | Academic level | Undergraduate, Postgraduate, Professional / Scholarly | | DEWEY edition | DC21 | | Interest age | From 18 |
|
| |
| | | Foreword | | | | | | Preface to the Second Edition | | | | | | Preface to the First Edition | | | | | | Acknowledgments | | | | 1 | | Building Abstractions with Procedures | | 1 | | 1.1 | | The Elements of Programming | | 4 | | 1.1.1 | | Expressions | | 5 | | 1.1.2 | | Naming and the Environment | | 7 | | 1.1.3 | | Evaluating Combinations | | 9 | | 1.1.4 | | Compound Procedures | | 11 | | 1.1.5 | | The Substitution Model for Procedure Application | | 13 | | 1.1.6 | | Conditional Expressions and Predicates | | 17 | | 1.1.7 | | Example: Square Roots by Newton's Method | | 21 | | 1.1.8 | | Procedures as Black-Box Abstractions | | 26 | | 1.2 | | Procedures and the Processes They Generate | | 31 | | 1.2.1 | | Linear Recursion and Iteration | | 32 | | 1.2.2 | | Tree Recursion | | 37 | | 1.2.3 | | Orders of Growth | | 42 | | 1.2.4 | | Exponentiation | | 44 | | 1.2.5 | | Greatest Common Divisors | | 48 | | 1.2.6 | | Example: Testing for Primality | | 50 | | 1.3 | | Formulating Abstractions with Higher-Order Procedures | | 56 | | 1.3.1 | | Procedures as Arguments | | 57 | | 1.3.2 | | Constructing Procedures Using Lambda | | 62 | | 1.3.3 | | Procedures as General Methods | | 66 | | 1.3.4 | | Procedures as Returned Values | | 72 | | 2 | | Building Abstractions with Data | | 79 | | | More... | | |
|
|
|
|
|