NandGame - Build a computer from scratch.

The Nand Game takes you though building a working computer, starting from the most basic components. It does not require any prerequisites, in particular it does not require any previous knowledge about computer architecture or software, and does not require math skills beyond addition and subtraction. It does require some patience—some of the tasks might take a while to solve.

The game consists of a series of levels. In each level you are tasked with building a component that behaves according to a specification. This component can then be used as a building-block in the next level.

This is amazing. Played and completed it last night. XOR and full-adder were the hardest ones for me. After that it was just careful thought and dealing with a lot of concepts I was already familiar with from programming. I don’t think the robot exercise at the very end added much for me, but the rest of it was top notch.

When you’re done you’ll actually have built a whole tiny CPU - complete with instruction fetch, decode, execute; also, small arithmetic (add, sub) and logic (lt, gt, eq, inv) units, working RAM and a few registers. You can flip the clock input on and off and watch it grind one instruction at a time.