The Most Complex Machine
Table of Contents
Preface
Chapter 1. Introduction: What Computers Do
- 1.1. Bits, Bytes, etc.
- 1.2. Transistors, Gates, etc.
- 1.3. Instructions, Subroutines, etc.
- 1.4. Handling Complexity
- Chapter Summary
- Questions
Chapter 2. Teaching Silicon to Compute
- 2.1. Logical Circuitry
- 2.2. Arithmetic
- 2.3. Circuits that Remember
- Chapter Summary
- Questions
Chapter 3. Building a Computer
- 3.1. Basic Design
- 3.2. Fetching and Executing
- 3.3. Self-control
- 3.4. Postscript: Assembly Language
- Chapter Summary
- Questions
Chapter 4. Theoretical Computers
- 4.1. Simulation and Universality
- 4.2. Turing Machines
- 4.3. Unsolvable Problems
- Chapter Summary
- Questions
Chapter 5. Real Computers
- 5.1. A Brief History
- 5.2. Usable Computers
- 5.3. Computers and Society
- Chapter Summary
- Questions
Chapter 6. Programming
- 6.1. The Power of Names
- 6.2. Taking Control
- 6.3. Building Programs
- Chapter Summary
- Questions
Chapter 7. Subroutines and Recursion
- 7.1. Writing and Using Subroutines
- 7.2. Real Programs
- 7.3. Recursion
- 7.4. Postscript: Implementation Issues
- Chapter Summary
- Questions
Chapter 8. Real Programming Languages
- 8.1. Virtual Machines
- 8.2. The Other Half of Programming
- 8.3. Escape from the von Neumann Machine
- Chapter Summary
- Questions
Chapter 9. Applications
- 9.1. The Works
- 9.2. Off the Desktop
- 9.3. Postscript: Analysis of Algorithms
- Chapter Summary
- Questions
Chapter 10. Cooperating Computers
- 10.1. Programming for Parallel Processing
- 10.2. Multiprocessing Computers
- 10.3. Computer Networks
- Chapter Summary
- Questions
Chapter 11. Graphics
- 11.1. Mathematical Foundations
- 11.2. Realistic Images
- Chapter Summary
- Questions
Chapter 12. Artificial Intelligence
- 12.1. Good Old-fashioned Artificial Intelligence
- 12.2. The Philosophical Debate
- 12.3. AI in the World
- Chapter Summary
- Questions
Answers
Annotated Bibliography
Index