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. The first edition of this popular textbook inspired Nand to
Tetris classes in universities coding boot camps hacker clubs and online course platforms.
This second edition has been extensively revised. It has been restructured into two distinct
parts—Part I hardware and Part II software—with six projects in each part. All chapters and
projects have been rewritten with an emphasis on separating abstraction from implementation
and many new sections figures and examples have been added. Substantial new appendixes offer
focused presentation on technical and theoretical topics.