Tuesday, April 23, 2013

From Nand to Tetris

As an employer and tech guy I've often been frustrated by recent college graduates who have earned a degree in computer science but who don't know how computer systems are really put together.

While researching a DSL (domain-specific language) project I ran across an interesting approach to computer systems education. It's a book, The Elements of Computing Systems, MIT Press, by Noam Nisan and Shimon Schocken and a companion web site at www.nand2tetris.org.

The idea is to, in a semester or two, take students through the process of an entire computer system from scratch.

Here's a visual look at the course outline (lifted from A Synthesis Course in Hardware Architecture, Compilers, and Software Engineering, SIGCSE 2009.

Very cool concept!