Nand2tetris
Nand2Tetris: Building a Modern Computer from First Principles
Install / Use
/learn @SamuelGadiel/Nand2tetrisREADME
nand2tetris
Building a Modern Computer from First Principles
The base of this project are both a course in Coursera and a book.
Coursera - Build a Modern Computer from First Principles: Nand to Tetris
Book - The Elements of Computing Systems: Building a Modern Computer from First Principles
Motivation
The course idea is to understand how a computer works, from the NAND logic gate to a high-level code.

Walkthrough
The course is divided in 12 weeks and a final project, as follows
Hack Hardware Plataform
- Boolean Logic - Elementary logic gates like Not, And, Or, Mux, etc.
- Boolean Arithmetic - Combinational Chips, the ALU.
- Sequential Logic - Sequential Chips, Memory.
- Machine Language - Assembly programming.
- Computer Architecture - CPU + Memory = Computer.
Software hierarchy
- Assembler - Hack Assembler in Python.
- Virtual Machine translator - Translate VM language into Hack assembly language in Python.
- High-Level Language - Introducing Jack programming language and coding Tetris.
- Jack Compiler - Jack Compiler in Python.
- Operating System - Jack Operating System or Standard library.
Final Project
A Tic-Tac-Toe game made with the Jack language
