Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Course · OtherFree

Nand to Tetris: Build a Modern Computer from First Principles

A project-based course in which you build a complete computer, starting from a single NAND gate and ending with an assembler, a virtual machine, a compiler and a simple operating system. All materials and software tools are free on the official site. It removes the mystery from how hardware runs software better than any lecture series.

Format

Course

Topic

Other

Provider

Noam Nisan and Shimon Schocken

Time needed

Two parts, self paced

Level

Beginner

Access

Free

What it is

Nand to Tetris is a course and textbook by Noam Nisan and Shimon Schocken, published by MIT Press as The Elements of Computing Systems. You build a general-purpose computer layer by layer: logic gates from a NAND gate, then arithmetic chips, memory, a CPU and a full computer, all in a hardware simulator. The second half builds the software stack on top: an assembler, a virtual machine translator, a compiler for a small object-based language, and a basic operating system library. Each chapter ends with a project, and the provided tools test your work.

Who it is for

The course says it is designed for learners from high school to graduate level and needs no hardware background. The first half needs only logical thinking; the second half assumes you can program in some language, such as Python or Java, because you write the assembler, translator and compiler yourself. It suits first and second year students before or alongside computer architecture, and self-taught developers who want to understand what happens below their code.

Why it is worth your time

Most people learn computer architecture as a list of diagrams to memorise. Here you build every part and test it, so registers, the ALU, the fetch and execute cycle, memory addressing, stack-based virtual machines and compilation become things you made rather than words. That understanding carries straight into operating systems, compilers and performance work.

Free or paid

Everything on nand2tetris.org is free for non-profit use: lecture materials, project specifications and the software suite, including an online IDE. The course also runs on Coursera in two parts, where watching is free and a certificate is paid. The book can be bought from MIT Press and other sellers, but the projects can be done with the free materials.

Time and pacing

Plan for a steady few hours a week over a couple of months per half. The hardware projects are shorter; the compiler projects in the second half are the largest. You can stop after the first half and still get most of the architecture value.

Common questions

Do I need to buy the book? No. The free site has the project specifications and the lecture material; the book is helpful but optional.

Is it too basic for a CS student? Rarely. Many students who passed architecture exams find they could not actually build the pieces until they did this course.

Which language should I use for part two? Any language you know well. Python and Java are common choices.

computer sciencefree coursebeginner friendlyopen source

Ready to start?

Opens on Noam Nisan and Shimon Schocken in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "Nand to Tetris: Build a Modern Computer from First Principles". Only Tauseef reads this.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.