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?