The elements of computing systems: building a modern computer from first principles

Noam Nisan, Shimon Schocken

Research output: Book/ReportBook


"A unique approach to teaching about hardware and software by having students build their own machine from scratch, using simple simulators provided on the companion site"-- A new and extensively revised edition of a popular textbook used in universities, coding boot camps, hacker clubs, and online courses. The best way to understand how computers work is to build one from scratch, and this textbook leads learners through twelve chapters and projects that gradually build the hardware platform and software hierarchy for a simple but powerful computer system. In the process, learners gain hands-on knowledge of hardware, architecture, operating systems, programming languages, compilers, data structures and algorithms, and software engineering. Using this constructive approach, the book introduces learners to a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other computer science courses fit into the overall picture. The outcome of these efforts is known as Nand to Tetris: a journey that starts with the most elementary logic gate, called Nand, and ends, twelve projects later, with a general-purpose computer system capable of running Tetris.
Original languageEnglish
Place of PublicationCambridge, Massachusetts
PublisherThe MIT Press
Number of pages325
ISBN (Electronic)9780262361002
ISBN (Print)0262539802, 9780262539807
StatePublished - 2021


Dive into the research topics of 'The elements of computing systems: building a modern computer from first principles'. Together they form a unique fingerprint.

Cite this