Elements Of Computing Systems

The course consists of 14 topics. Each topic is covered by a lecture, a book chapter, and a project.
In a typical academic setting, each topic spans one or two weeks of instruction, depending on pace and course format.

Topic Read Lecture Review
Course Overview Preface Introduction Project 0
Boolean Logic Chapter 1 Appendix A Project 1 Hardware Simulator
Combinatorial Chips Chapter 2 Project 2
Sequential Chips Chapter 3 Project 3
Machine Language Chapter 4 Project 4
Computer Architecture Chapter 5 Project 5 CPU Emulator
Assembler Chapter 6 Project 6 Assembler
Virtual Machine I: Arithmetic Chapter 7 Project 7 VM Emulator
Virtual Machine II: Control Chapter 8 Project 8
Programming Language Chapter 9 Project 9
Compiler I: Syntax Analysis Chapter 10 Project 10
Compiler II: Code Generation Chapter 11 Project 11
Operating System Chapter 12 Project 12