My Journey into Nand2Tetris: Building a Computer from Scratch

Nand to Tetris (also known as The Elements of Computing Systems) is one of the most unique and rewarding computer science courses available. It takes you on a hands-on journey where you build a complete, general-purpose computer system — starting from basic logic gates all the way up to a high-level programming language and operating system — using nothing but the humble NAND gate.

Course Overview

The course is divided into two main parts:

  • Part 1 (Hardware): Projects 1–6 — Building the hardware platform
  • Part 2 (Software): Projects 7–12 — Building the software stack

The 12 Projects

  1. Boolean Logic — Build basic gates (And, Or, Not, etc.)
  2. Boolean Arithmetic — Adders, ALU
  3. Memory — RAM, registers, counters
  4. Machine Language — Low-level programming
  5. Computer Architecture — Assemble the full CPU + memory
  6. Assembler — Write your own assembler 7–8. Virtual Machine — Stack-based VM 9–11. High-Level Language (Jack) — Compiler
  7. Operating System — Build a simple OS

Web-Based IDE vs Downloaded Version

FeatureWeb IDEDownloaded Version
InstallationNoneRequires unzip + Java
Internet RequiredYesNo (offline)
InterfaceModern, cleanClassic (older look)
File ManagementAutomatic, browser-basedManual
PerformanceGood for most projectsSlightly faster for heavy use
Recommended by authorsYes (primary)For backward compatibility

Recommendation: Start with the Web IDE for convenience, but keep the downloaded version as backup.

links to both below: