Nand2Tetris
Building a Modern Computer from First Principles by Nisan and Schocken (http://nand2tetris.org/)
Project 1: Boolean Logic
Project 2: Boolean Arithmetic
Project 3: Sequential Logic
Project 4: Machine Language
Project 5: Computer Architecture
Project 6: Assembler
Project 7: VM I: Stack Arithmetic
Project 9: High-Level Language - Game