Skip to main content
Princeton Mobile homeCourses home

Nand to Tetris: Building a Modern Computer from First Principles

COS 205

Info tab content
A hands-on synthesis of key topics from digital architectures and software engineering in one course. Starting with the most elementary logic gate, Nand, students build a general-purpose computer system that can run Tetris, and any other program. You will learn how computers work, how they are constructed, and how to plan and build large-scale systems. The hardware platform (logic gates, RAM, CPU) is built in a simple Hardware Description Language, learned in the course; The software hierarchy (assembler, compiler, basic OS) is built in Java. Assignments are done in pairs and are supported by extensive scaffolding and partial implementations.
Instructors tab content
Sections tab content

Section L01