Building a computer system – hardware and software — from the ground up. The Nand2Tetris course created by Professor Shimon Schocken, and Professor Noam Nisan.