Yesterday while browsing the web, I stumbled upon a blog where the author had written a post regarding what a computer scientist should know, in that list he had given links for further reading. One of these links was to a website nand2tetris where the goal is supposedly to build a modern computer from first principles! This seems very interesting to me, and I would like to ask whether anyone here has tried, or would recommend this project. In a video he says it could be completed in 12 weeks, is this an accurate estimate? If so I would perhaps undertake this project early in the new year.

Also, if anyone who has tried it does reply, can you provide information about what the course doesn't cover, so I can have an idea of what I would need to study after completing the project?

Answers are much appreciated.

Dani AI

Generated

Short answer: 12 weeks is a plausible target if the course is run as a university semester and you work steadily, but your background and pace matter a lot.

Nand2Tetris is a tightly sequenced, project-based course that walks from basic gates up to a working CPU/VM/compiler. As asked about "12 weeks" — that figure is the typical semester-style pacing used by instructors. In the U.S. an academic term is often about 12–15 weeks (varies by school), so the estimate assumes you treat the course like a single-term class and budget weekly hours accordingly.

Rough pacing guidance (your mileage will vary):

  • Beginner to hardware and low-level software: expect 3–6 months at a part-time pace (6–10 hours/week).
  • Comfortable programmer with CS background: a semester (8–15 hours/week) will often do it in 8–12 weeks.
  • Full-time intensive (8 hours/day): you can complete the projects in a few weeks, but that risks shallow learning and lots of late-night debugging.

What it does not cover (useful follow-ups): advanced microarchitecture (pipelining, caches, speculative execution), production hardware description and FPGA toolchains (Verilog/VHDL), transistor-level or analog electronics, full-scale OS internals, advanced compilers, concurrency and distributed systems, formal verification and performance engineering. After finishing, solid next steps are a compilers course, an operating-systems lab (e.g. Xv6-type work), an architecture text/project (pipelined CPU + cache simulator), and FPGA/Verilog practice.

Practical tips: follow the project tests closely, commit incremental work to version control, document failure cases, and resist rushing. A sensible self-study plan is one project per week for an experienced learner (or 2–3 weeks/project if new to hardware). As hinted by linking broader "long-term learning" threads, completing Nand2Tetris is a powerful milestone — not the end of learning.

Recommended Answers

All 2 Replies

Looks very interesting, but in 12 weeks? Also have a look here

That is true, however I wouldn't expect to build the next intel chip or windows 9 after doing a short course! (Well,maybe windows 9! just kidding! :P)
I'm a bit worried about doing it if it will take too long, but if I spent maybe 8 hours a day on it, do you suspect I could complete it within a few months and gain a lot of knowledge from it? In the video he talks about being able to complete it in a semester, but I'm not sure how long a semester is in America, Or how much time a student would invest in it during that semester.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.