Nand to Tetris


Nand 2 Tetris is the brainchild of two CS professors at the Hebrew University of Jerusalem, Noam Nisan and Shimon Schocken. They have a corresponding textbook, The Elements of Computing Systems.

I only worked through the first section of the course, where we leave off writing a few example programs in assembly that correctly run on the small "Hack" computer. Each unit came with a new task in building the computer, from compound logic gates, to memory modules, to ALU units and CPUs and ways to interpret assembly code. It was very satisfying to see your code work to fulfill the challenge, kind of like a Zachtronics game.

I sent all my completed projects to a GitHub repo as a proof of work. If I was ever designing a CS program for kids, I could see how developing a user-friendly GUI interface for these challenges (similar to Sebastian Lague's work) could significantly lower the barrier for entry and have young people building their own computers at an early age.