views:

163

answers:

3

What's your favorite project-based book or website?

I really like The Elements of Computing Systems. This book will show you how to build a computing system from the ground up. In the process, you learn about combinatorial & sequential logic, ALU & memory chips, CPU & von Neumann architecture, machine & assembly language, assemblers, virtual machines, parsing and code generation. The hardware part is built using a freely provided Hardware Simulator and the software part can be tackled in any programming language(s) you choose. Each project comes with extensive test cases, giving you immediate feedback on your progress.

Can you recommend any book or website that has a similar learn-by-doing approach?

+1  A: 

It's not one project through the entire book (only the last half, if I remember correctly), but by the time you finish Test-Driven Development by Example, you should have an nUnit testing framework written in Python.

Bill the Lizard
Thanks. I read and actively reproduced the xUnit example, and it was fun and educational for sure.
namin
A: 

I haven't read it yet, but The Art of Computational Science looks like just this sort of thing.

Darius Bacon
A: 

The Kernighan and Pike book "The Unix Programming Environment" is all about building a higher order calculator.

"The C++ Standard Library from Scratch" is all about building a personal information manager application using the C++ STL.

unclerojelio