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
The course idea is to understand how a computer works, from the NAND logic gate to a high-level code.
The course is divided in 12 weeks and a final project, as follows
- 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.
- 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.
A Tic-Tac-Toe game made with the Jack language