The Elements of Computing Systems ("From NAND to Tetris")
www1.idc.ac.il
www1.idc.ac.il
The first chapter starts with logic gates (NAND, XOR, etc.), and then adds an emulated chip, than assembler for it, then a VM built on it, then an OS and a compiler for the VM. The course is designed to tie together the whole CS stack, whose pieces tend to get discussed in isolation.
Some of the coursework is online, and it would probably be really useful to those of us who are mostly learning CS through self-study.