Nand2Tetris is a course that aims to build a general-purpose computer system from the ground up using only as building block the nand logic gate.
The list of components to be constructed:
- Logic gates
- Memories
- Arithmetic-Logic Unit
- Central Processing Unit
- Computer Architecture
- Assembler
- Virtual Machine
- High-Level Language
- Compiler
- Operating System
- Tetris Game
The tetris game is expected to run under the final (top)
constructed layer the Operating System
, and acquire more
knowledge about the whole tech stack
of a modern/general-purpose
computer.
From NAND to Tetris!
The Elements of Computing Systems: Building a Modern Computer from First Principles [2]
“Nand to Tetris courses are typically offered as a 1-semester course, consisting of ~13 weekly 3-hour meetings. The course and the book are completely self-contained, requiring only programming (in any language) as a pre-requisite. All the knowledge necessary for building the computer is embedded in the supplied lectures, projects, and book chapters. The result is a synthesis course that can be taken at any stage in an undergraduate or graduate CS program following programming.”
“Because many CS students don’t understand how computers work; because fewer CS programs requires a compilation course; because many computer architecture courses are too detailed; because nothing beats the thrill of creating something from almost nothing; because Nand to Tetris engages students in implementing some of the coolest algorithms, data structures and techniques in applied computer science, and because the typical student feedback in Nand to Tetris courses is “the best course I ever took.”
- Boolean Logic
- Boolean Arithmetic
- Sequential Logic
- Machine Language
- Computer Architecture
- Nand2Tetris simulators[4].
- Project 6: Assembler
- https://www.nand2tetris.org/
- https://www.nand2tetris.org/book
- https://www.nand2tetris.org/course
- https://www.nand2tetris.org/software
MIT