Building a Modern Computer from First Principles
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Following the course The Nand2Tetris, I am trying to build a computer from NAND gates and D flip-flop.

Building the computer consists of two modules:

  • Hardware hierarchy
  • Software hierarchy


  • Boolean Logic
  • Boolean Arithmetic
  • Sequential Logic
  • Machine Language
  • Computer Architecture


  • Assembler
  • VM I: Stack Arithmetic
  • VM II: Program Control
  • High-Level Language
  • Compiler I: Syntax Analysis
  • Compiler II: Code Generation
  • Operating System
  • Postscript: More fun