The Elements of Computing Systems
Related to the course [[from-nand-to-tetris-part-1]].
Resources
Modules
Structure of the book
Starting with the construction of elementary logic gates (chapter 1), we go bottom-up to combinational and sequential chips (chapters 2-3), through the design of a typical computer architecture (chapters 4-5) and a typical software hierarchy (chapters 6-8), all the way to implementing a compiler (chapters 10-11) for a modern object-based language (chapter 9), ending with the design and implementation of a simple operating system (chapter 12).
Checklist
- Preface
- Introduction
- Chapter 1 - Boolean Logic
- 1.1 Background
- 1.2 Specification
- 1.3 Implementation
- 1.4 Perspective
- 1.5 Project
- Chapter 2 - Boolean Arithmetic
- 2.1 Background
- 2.2 Specification
- 2.3 Implementation
- 2.4 Perspective
- 2.5 Project
- Chapter 3 - Sequential Logic
- 3.1 Background
- 3.2 Specification
- 3.3 Implementation
- 3.4 Perspective
- 3.5 Project
- Chapter 4 - Machine Language
- 4.1 Background
- 4.2 Hack Machine Language Specification
- 4.3 Perspective
- 4.4 Project
- Chapter 5 - Computer Architecture
- 5.1 Background
- 5.2 The Hack Hardware Platform Specification
- 5.3 Implementation
- 5.4 Perspective
- 5.5 Project
- Chapter 6 - Assembler
- 6.1 Background
- 6.2 Hack Assembly-to-Binary Translation Specification
- 6.3 Implementation
- 6.4 Perspective
- 6.5 Project
- Chapter 7 - Virtual Machine I: Stack Arithmetic
- 7.1 Background
- 7.2 VM Specification, Part I
- 7.3 Implementation
- 7.4 Perspective
- 7.5 Project
- Chapter 8 - Virtual Machine II: Program Control
- 8.1 Background
- 8.2 VM Specification, Part II
- 8.3 Implementation
- 8.4 Perspective
- 8.5 Project
- Chapter 9 - High-Level Language
- 9.1 Background
- 9.2 The Jack Language Specification
- 9.3 Writing Jack Applications
- 9.4 Perspective
- 9.5 Project
- Chapter 10 - Compiler I: Syntax Analysis
- 10.1 Background
- 10.2 Specification
- 10.3 Implementation
- 10.4 Perspective
- 10.5 Project
- Chapter 11 - Compiler II: Code Generation
- 11.1 Background
- 11.2 Specification
- 11.3 Implementation
- 11.4 Perspective
- 11.5 Project
- Chapter 12 - Operating System
- 12.1 Background
- 12.2 The Jack OS Specification
- 12.3 Implementation
- 12.4 Perspective
- 12.5 Project
- Chapter 13 - Postscript: More Fun to Go
- 13.1 Hardware Realizations
- 13.2 Hardware Improvements
- 13.3 High-Level Languages
- 13.4 Optimizations
- 13.5 Communications
Backlinks
Computer Science Books
- [[the-elements-of-computing-systems]]