nand2tetris.org
Haven't finished it yet but it's all about building a full computer from a NAND to other logic gates (mux, dmux, and, or, etc) to higher level things like assembly, memory, cpu, and it keeps going to a tetris game.
It's challenging, comprehensive and builds upon itself. It's awesome