Workshop In Computer Construction - From Nand to Tetris
Home
Syllabus
Book
Projects
Tools
Guidelines
Administratives
Projects
The projects below walk you through a step-by-step construction of a typical computer. The first five projects focus on the construction of the computer's hardware and assembler. The remaining projects deal with the construction of the computer's software hierarchy, and with the implementation of a simple Java-like language.

No. Name Deadline Remarks
Project 1 Boolean Logic 31/10/2004  
Project 2 Boolean Arithmetic 31/10/3004  
Project 3 Sequential Logic (original version) 7/11/2004  
Project 4 Machine Language 14/11/2004  
Project 5 Computer Architecture 21/11/2004  
Project 6 The Assembler 28/11/2004  
Project 7 Virtual Machine I 12/12/2004  
Project 8 Virtual Machine II 19/12/2004  
Project 9 The High Level Language 26/12/2004  
Project 10 The Compiler I: Syntax Analysis 9/1/2004  
Project 11 The Compiler II: Code Generation 16/1/2004  
Project 12 The Operating System 23/1/2004  

Each project is essentially a series of implementation exercises. Alltogether there are some 300 such exercises, each being a stand-alone hardware element (e.g. a gate or a chip) or an independent software module (e.g. a class or a method). Each exercise has an executable solution that can be plugged into the project without gaining access to the underlying source code.