Chevron Left
Back to Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)

Learner Reviews & Feedback for Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) by Hebrew University of Jerusalem

2,676 ratings
838 reviews

About the Course

What you’ll achieve: In this project-centered course* you will build a modern computer system, from the ground up. We’ll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn - in the most direct and constructive way - how computers work, and how they are designed. What you’ll need: This is a self-contained course: all the knowledge necessary to succeed in the course and build the computer system will be given as part of the learning experience. Therefore, we assume no previous computer science or engineering knowledge, and all learners are welcome aboard. You will need no physical materials, since you will build the computer on your own PC, using a software-based hardware simulator, just like real computers are designed by computer engineers in the field. The hardware simulator, as well as other software tools, will be supplied freely after you enroll in the course. Course format: The course consists of six modules, each comprising a series of video lectures, and a project. You will need about 2-3 hours to watch each module's lectures, and about 5-10 hours to complete each one of the six projects. The course can be completed in six weeks, but you are welcome to take it at your own pace. You can watch a TED talk about this course by Googling "nand2tetris TED talk". *About Project-Centered Courses: Project-centered courses are designed to help you complete a personally meaningful real-world project, with your instructor and a community of learners with similar goals providing guidance and suggestions along the way. By actively applying new concepts as you learn, you’ll master the course content more efficiently; you’ll also get a head start on using the skills you gain to make positive changes in your life and career. When you complete the course, you’ll have a finished project that you’ll be proud to use and share....

Top reviews

Feb 17, 2017

An excellent course provided by phenomenal professors! Everything is broken down into simple, easily understandable portions, and leaves you with a clear idea how to proceed to solve a given problem.

Aug 22, 2020

This was so much fun, so satisfying and I learned a lot. I'm a software engineer. We do so much work in high-level languages that it's great to be reminded how computing machinery gets the job done.

Filter by:

101 - 125 of 828 Reviews for Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)

By Stefan L

Jan 20, 2021

as software student graduate this was a welcome low-level challenge to deepen my understanding of what happens "under the hood". Overall nicely explained (at least for someone familiar with the matter) and well defined goals for each week. definitely recommended for anyone that wants to understand a bit better how higher level languages work when actually working with 0 and 1.

By Joshua P B

Jul 19, 2020

My first course on coursera. I had a blast taking it. It was challenging and fun. I had little programming background which was not an issue until the last project; building an assembler. It was optional to code it, so I decided to learn 'c'. I wish that I picked python instead. I spent the entire week on it. If you are dedicated and interested, I highly recommend this course

By Sai G

Sep 10, 2020

Excellent introduction to building a modern computer with ample hands-on experience. Very fulfilling experience with all the programming assignments, especially the final one. To see my assembler taking any Hack assembly program and convert to a machine instruction is so satisfying. Appreciate the time that has been put in to make this course a challenging and rewarding one.


Apr 30, 2020

Excellent. A really eye-opening course. I learnt a lot of things in the process of completing the projects that were assigned each week. It was a great way of learning the basics of how a computer works, and it made my more conscious on how a program is ran when you make one for a project or course. In conclusion, really good course with great instructors and great content.

By Jacob F

Apr 30, 2019

Really outstanding course. I learned a tremendous amount about how computers REALLY work, and got a glimpse behind the curtain to see and build some of the magic for myself. Anyone with even a passing interest in computers should take this course! The lectures are digestible, and the projects are very well designed. Only suggestion is --- WHERE IS PART TWO???? WE NEED IT!


Jun 3, 2017

This course helped me to learn how a basic computer performs.My heartiest thanks to both of my beloved professors and mentors for helping me to understand the crux of computer design.I am looking for future courses offered by them with advanced difficulty level and related to computer architecture and design that covers more detailed parts of computers like ALU, CPU etc.

By Andrew M

Nov 11, 2019

Having now taken a number of different courses across both on Coursera and elsewhere, I can honestly say that this course is perhaps the best one I've taken -- it's comprehensive without being overly tedious, and the fact that the assignments are projects, rather than quizzes or exams, was both more engaging and helped me better understand (and appreciate) the material.

By Yugesh P

Aug 28, 2018

The course is self-contained as advertised. The forum moderators are prompt and excellent at providing help. The projects were sufficiently challenging without being intimidating. Professors Nisan and Shocken deliver the knowledge in a very lucid manner. Overall a very nice course to take if you're interested in how a computer works by building one from the ground up.

By David E

Jun 7, 2020

This class taught me things I was curious about for years, such as how lower levels of the computer work. It was so gratifying to make gates myself out of NAND and eventually build an ALU (hard project), then the CPU (really hard, but so satisfying!). Building the assembler was something that seemed always hard, but completed it in just a few hours. +1 for unittest!


Jan 27, 2018

I learned a lot from this course. The journey of building a computer and an assembler using bottom-up approach was very exciting. Especially Project 4,5 and 6 kept me engaged with the course and most exciting part was building a computer and an assembler. I loved this course. Thank you, Noam and Shimon. Both of you are imparting quality education in the true sense.

By Greg M

Apr 19, 2016

Great glass! The assignments were well designed and a lot of effort was put in to making sure students could understand what they were supposed to do. I've found that good assignments are were most other courses are very lacking. Having good assignments is what really motivates me to finish a class, and it's what helps me verify I've actually learned something.

By Sayed H

Jan 9, 2020

Exceptionally well-designed course. Taught me how to build a computer and assembler from the first principle and amazingly, I didn't have any outstanding questions at the end of the course. Everything made sense. This is an excellent course for understanding the basics of the inner workings of a computer without being too bogged down into engineering details.

By Oleksandr Z

Feb 22, 2020

TL; DR - this course is brilliant.


When I started this course, it was so intriguing to see so many 5-star reviews. I could not find any flaws in the course. The material is dense and interesting. The course is fully polished, even shining.

Dear Professor Shocken, Professor Nisan, thank You so much. This course is absolute brilliant.


0; JMP

By Saksham G

Aug 16, 2020

Excellent course!! All the course materials and discussions forums were extremely helpful. All the tools and project files provided with the course worked without any difficulties. Also, it was a very shallow learning curve to get used to the new tools and hack language. Thanks Noam and Shimon for making such wonderful course. I am looking forward to part 2.

By Ndimangwa F N

Mar 16, 2018

I have never taken such a practical session like this. It was a challenge especially on the middle weeks , however I made it. I recommended for any one , needs to understand how the computer works, and increase the system design skills, this is the course to take. I recommended to take a full version (non-audit version) to enjoy the full power of the course

By sabyasachi m

Aug 25, 2017

This is the greatest course I ever came across. Together along with part 2 it connects all dots and goes beyond abstractions to show how a computer works. It is the best course that can teach an electronics or electrical engineer how the HWs and SWs interact in a machine. It indeed goes from building an nand gate to a fully functional primitive application.

By Andrew J

Nov 20, 2017

This is hands down one of the best courses I have ever done. It tears down the layers of abstraction between your programs and your computer's hardware. It's a project centred course meaning you get to build very cool things every week.

I'm blown away that I just finished building a computer that can play pong... it has a display and keyboard inputs!

By Travis B

Jun 28, 2020

This was an amazing learning experience that I enjoyed so much. I expanded my knowledge of computer science especially regarding logic gate construction, hardware descriptor language (HDL), and how to build a simple assembler. I would highly recommend this course to anyone who wants a better understanding of how computers work at the machine level.

By Robert F

Oct 19, 2020

Excellent course. I'm a seasoned high-level programmer, but I'd never taken any hardware courses before. Now I better understand when the hardware engineers are talking about different chips and when one chip doesn't have enough pins to control a certain peripheral, etc. Really looking forward to the next part to connect everything I work with.

By John J

Sep 24, 2020

Very comprehensive! Well worth the hard work!

I already had a vague idea about assemblers and machine code but I now understand how machine code actually controls the hardware in a CPU.

The other mystery solved for me is how basic logic gates can be combined into ever more complex structures which are then combined into a CPU and a computer.

By Vinicius S

May 18, 2020

It was a great course. It fulfilled its role in demystifying the internal parts of a computer. It was a excellent idea to present Digital Circuits through a Hardware Description Language (HDL). It was rewarding to get in touch with Assembly language in the processes of "building" the CPU as well as while coding the Assembler. Thank you!

By Sung W K

Apr 12, 2020

I had so much fun following the course and I actually feel I've learned a lot.

Not only the course videos are helpful and easy to follow but also the "perspective units" were also very interesting that I watched all the videos.

I definitely will move on to part 2 of this course and I am 100% sure that I will get all I want in part 2 also.

By Apostolis P

Jul 6, 2020

Excellent course. Not one to take lightly as it involves plenty of hard work in order to understand the new concepts it introduces and complete the assignments. Ideal for self-learners who wish to take their skills to the next level. It has done a great deal de-mystifying how computers work on a very low level. Definitely recommended.

By Pranjal K

Jun 24, 2017

This is one of the best courses that I have come across. I had always wanted to learn computer science in a continuous fashion . I wanted to know how all the different subjects come together to make a computer. This course was a boon for me. It showed me how to connect the dots among various subjects. Iam looking forward to part 2 now.

By Saurabh G

Mar 9, 2020

Has been a great course addressing a lot of basic questions. Very well-structured.

However, I do feel that more light could have been shed upon how the instructions in 0's and 1's in the text file (here the .hack files) are actually given to a computer. Perhaps it could be addressed in one of the QA sessions at the end of each module.