

The Elements of Computing Systems ("From NAND to Tetris") - silentbicycle
http://www1.idc.ac.il/tecs/

======
silentbicycle
I just got this book a couple days ago. I didn't have a chance to look at it
until today because I was off at ErlangCamp, but it looks _really_ good.

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.

~~~
cadr
The other nice thing is that, while each chapter builds on the last, you don't
_have_ to do them in that order. For example, you build your compiler to
compile for the virtual machine you build, but they provide a VM to use also.
This way, if you have build a computer from scratch before but haven't built a
compiler, you can do it in that order.

