Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000004704296 | QA76.6 A33 1996 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
There are new implementations of most of the major programming systems in this revised book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the computer science course at MIT since the first edition was published.
Reviews 1
Choice Review
This book is a revision (1st ed., CH, Dec'84) of one of the great classic texts in computer science, used in MIT's entry-level computer science course since the 1980s. Programming is examined, but through the wide range of subjects used as examples in the programs, the book touches on almost every part of computer science. The language used is Scheme, a modern dialect of LISP; its advantage is its great flexibility and power--the programs developed in the text cover an enormous range of applications. The exercises vary from straightforward applications to subtle and challenging problems. This new edition includes many clarifications, and most of the major programs have been redesigned; new material in concurrency and nondeterminism has been added. Like its predecessor, the book is written in a lively, clear, stimulating style. Combining that style with the great richness of content yields a book hard to put down: open it anywhere and you are "hooked" in a matter of moments. This book should be in every library, and on every computer scientist's bookshelf. Undergraduate through professional. H. D. Warner Western New England College
Table of Contents
Contents | p. vii |
Foreword | p. xi |
Preface to the Second Edition | p. xv |
Preface to the First Edition | p. xvii |
Acknowledgments | p. xxi |
1 Building Abstractions with Procedures | |
1.1 The Elements of Programming | p. 4 |
1.2 Procedures and the Processes They Generate | p. 31 |
1.3 Formulating Abstractions with Higher-Order Procedures | p. 56 |
2 Building Abstractions with Data | p. 79 |
2.1 Introduction to Data Abstraction | p. 83 |
2.2 Hierarchical Data and the Closure Property | p. 97 |
2.3 Symbolic Data | p. 142 |
2.4 Multiple Representations for Abstract Data | p. 169 |
2.5 Systems with Generic Operations | p. 187 |
3 Modularity, Objects and State | |
3.1 Assignment and Local State | p. 218 |
3.2 The Environmental Model of Evaluation | p. 236 |
3.3 Modeling with Mutable Data | p. 251 |
3.4 Concurrency: Time Is of the Essence | p. 297 |
3.5 Streams | p. 316 |
4 Metalinguistic Abstraction | |
4.1 The Metaciricular Evaluator | p. 362 |
4.2 Variations on a Scheme--Lazy Evaluation | p. 398 |
4.3 Variations on a Scheme--Nondeterministic Computing | p. 412 |
4.4 Logic Programming | p. 438 |
5 Computing with Register Machines | p. 491 |
5.1 Designing Register Machines | p. 492 |
5.2 A Register-Machine Simulator | p. 513 |
5.3 Storage Allocation and Garbage Collection | p. 533 |
5.4 The Explicit Control Evaluator | p. 547 |
5.5 Compilation | p. 566 |
References | p. 611 |
List of Exercises | p. 619 |
Index | p. 621 |