I'm looking for a course or connected series of resources that explains how a computer is built layer by layer. Ideally, it would begin with basic logic gates or NAND gates, move through larger digital circuits and a CPU, then cover assembly, a higher-level language, compiler construction, and finally an operating system. Nand2Tetris is the closest example I know, but I'm interested in alternatives or more advanced follow-up material. If there isn't one complete course, what books, lectures, or projects would you recommend to learn the full progression?
4 Answers
Turing Complete is a fun interactive option. It lets you build increasingly complex computer components while learning the underlying concepts, so it works well as a hands-on supplement to a more formal course.
For a practical route, start with a computer architecture textbook and work through the exercises, then look at Ben Eater’s hardware videos for approachable demonstrations. After that, separate resources on assembly, compiler design, and operating systems will give you more depth than trying to find one course covering everything.
It helps to define what “from scratch” means. Building from raw minerals or fabricating semiconductor devices is an entirely different industrial process and isn’t realistic for a personal course. Starting with commercially available transistors or integrated circuits is feasible, while building a complete modern computer from individual discrete components quickly becomes impractical because of the enormous component count and complexity.
There probably isn’t a single course that covers every layer in serious depth. What you’re describing overlaps with computer engineering, electrical engineering, computer architecture, compilers, and operating systems—fields that normally take several courses or an entire degree. Nand2Tetris is unusual precisely because it connects so many layers in one project.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically