The complete Nand to Tetris experience spans 12 projects.
Each project consists of project materials, a lecture, and a book chapter:
In the first part, you have to build the hardware hierarchy of a simple computer named "Hack" through six sequential projects.
All things started from the humble NAND gate and then gradually building a 16 - bit working computer comprises of a simple CPU,
16K RAM, 8K Screen-Memory map, 32K ROM, and a keyboard.
All the projects can be tested/emulated/simulated by the provided software suit.
In second part it is all about software!
The target of this course is to develop a two-tier compiler and a simple OS for a high-level
java like object-oriented language named "Jack" which doesn't support inheritance.
First, you've to implement a VMTranslator that can generate target assembly code from machine-independent VM code.
After getting familiar with the "Jack" language you've to deal with implementing a compiler for it with VM code generation capabilities.
This course ends after implementing some library classes(such as: Array, Memory, String, Keyboard, Output, Screen, Math, Sys) which work at the OS level.