The Elements of Computing Systems course from nand2tetris.org