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

4.9
stars
3,604 ratings

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

AI

Jun 13, 2021

Undeniably one of the best computer science courses. The advertising isn't false! This course permanently changed my perspective on hardware and software along with the relationship between the two...

MM

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.

Filter by:

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

By Tomas F G

May 23, 2021

This course was all I had hoped for. I couldn't stand looking at a computer as a magic black box and wanted to know how a bunch of transistors wired together could result in such a thing. In a way, I don't think I would call this "fun" as I would with other courses but take that statement lightly. I found it interesting all the way through and the assignments, I think, are easy enough that nobody should get discouraged. I want to thank Noam and Shimon for making this amazing course.

By Thassilo H

Apr 19, 2016

This is one of the best CS courses I've taken so far. It's great to see how easy it is to build a simple yet powerful computer on your own, and it has given me for the first time the feeling of really understanding what's going on at the low level.

The complete course is centered about the project of building a computer, so there are no quizzes and only few theoretical background lectures here. If you want a hands-on introduction to computer engineering, this is the way to go.

By Alejandro C

Sep 9, 2022

This is very interesting course for those who want to learn how a computer works internally. From the bottom up you will learn that simple things can lead to complex behavior and that computers are complex as they appear are in fact simpler that you may have expected.

You will learn about computer systems, and how to build your own CPU and Computer, which you can then use if you like. The projects are challenging and interesting, definetely going to pass part of this course.

By Nidal F

Mar 30, 2020

I think this is the greatest course ever!

Now, I can understand how the hardware layers play that divine role in our computers!

I've understood how machine languages are designed with the hardware, and a lot more!

Maybe the best thing this course introduces is: You conquer new obstacles every week which are totally new knowledge to you = you gain a lot of self confidence as well as this inner feeling that you are born to do something GREAT!

Can't wait to start the 2nd part!

By Mandava K K

Oct 25, 2020

I really appreciate this course as one of the best in my life. I am familiar with programming and various specializations of computer science and engineering along with information technology, but still, have a lack of knowledge on how computers are built, with practical sense. This course did take me through some interesting concepts which can be learned with hands-on experience. I admire the Professors for their hard work and dedication to offer us such a great course

By Philip O

Jul 28, 2020

This course was challenging. The project-oriented nature of the class is what made it interesting for me. I spent a few days learning Java (nothing like having a challenge to motivate me) so I could write the assembler, rather than just "translate by hand" assembly code. This helped solidify the connection between hardware and software by making me really think about what happens to all the bits in those A, C and L commands. I look forward to part 2 of the course.

By Jim M

Feb 11, 2021

This course was really well done. I do think it would be quite challenging for a non-programmer, but for those who have an education in computer science or some other technical background, it is quite doable. A really good refresher from my early training in computer science. For those who are familiar with the book with the same name, this course is a must to get the most from the book. I am looking forward to continuing on to Part 2 to complete the series.

By Cesar M

Jan 31, 2021

After a 20 year career in software development, this course finally made me exercise the task of building a computer from scratch, making sure a concrete understanding is obtained end to end. I enjoyed the course immensely and had a lot of fun! I recommend every person to take this course and share the knowledge with others. I'll definitely use the knowledge to teach my kids too and other people that could be interested in a career in Computer Science.

By Aye A M

Mar 17, 2016

Simply awesome. By no means does this course teach you everything about building a computer but it introduces you to the subject better than any other course that I have ever come across. It gives a voluminous amount of detail about low-level computing but the instructors took great pains to do so in a very accessible and easy manner. Thereby, the magic of low-level computing is made available for everyone regardless of who they are. Beautiful.

By Savva

Aug 11, 2020

cool and understandable, however the heart of computer –– Data Flip-Flop –– I think is must to be explained. Without it, I couldn't get fundamentals, for which we're here. If you aren't going to lie for yourself, please spend time, it's one of the most important thing that runs computer. After really understanding this, the feeling of the computer system's greatness will hold you quite enough time.

But many-many thanks. The course is awesome.

By Akhil K

Aug 16, 2017

I think this course is very well made from the ground up. Although it might be difficult for starters in the beginning, what you end up in the end is a computer that you could program anything on, which is very cool. This is a great course for starting out in the world of Computer Science, and is something different compared to other Programming 101 or Computer Science 101 courses. I would love to see how the second part of the course holds!

By WLSC

Jun 11, 2023

It is so great, it really help me to understand the computer structure. I am looking forward to attending the second part of this course and I feel that my knowledge of computers will increase a lot after I finish these two courses. It is very helpful for me to learn the knowledge of computer field. Thank you to the teachers and students in the discussion area. I think the cpu project is a little difficult, other project difficulty is OK.

By Ahmed m i e

Jul 8, 2020

I built my own computer and I really enjoyed it.

They calculated every thing for you, you only need to put your hdl files through their suit programs

and every thing is going to be okay.

Project by project you will feel that you now now more about computers.

I learnt Asm language, Computer Architecture, logic gates ,machine language , sequential logic and Combinational logic gates .

I'm really glad that I had the chance to take that course

By Raghav T

May 23, 2020

Honestly, Nand to Tetris is not just a course, it's a beautiful journey. Like a beautifully made game, it assumes nothing about the learner, teaches them the wise ways of playing the game, and delicately guides the player through an infinite world, never making it seem for once that you have no direction. I made my final submission with a heavy heart, but definitely look forward to embarking on this journey again with the second part.

By Tiago F

Jun 2, 2023

This course is a delight. It really drills down into the details of fundamental concepts and by doing the assignments you get a good grasp of how they work. Doing the whole thing in toy languages and specifications is arguably better than using "real" tools: you can focus on the minimum viable components to achieve your goals, and you have to learn the concepts behind each decision within these toy tools to use them effectively.

By Diwakar V

Aug 1, 2020

the best course for people who are interested in learning how computers work and their inner most workings. I wont lie and say that it is easy at the end since i took programming approach and completed the course but it was exciting,intersting and felt so damn good when i completed the course. I will complete the part two of this course as well. I can't recommend this course enough just go for it; it is worth the struggle.

By Peter B

Feb 6, 2023

An excellent course. Computers seemed like magic to me, and I had no idea how you could get from simple logic gates to the thing with which I am typing this review, but this course made that seem possible.

I had only a very small amount of experience programming, but this course is great even without that. The sixth week is somewhat affected by that, but they make accommodations for students who do not know how to program.

By Yothin M

May 22, 2021

I learn a lot, want to say that again A LOT!!! This course structured in a way that motivates me to keep learning for 6 straight weeks and the assignment is really challenging, but also rewarding when I'm able to complete it. Not to mention the tooling and course material that is so great that I can ACTUALLY see what going on inside the hardware I was built. I can say that I can't wait for the second part of this course!

By Eric B

Oct 13, 2020

Thank you for this amazing course, you two gentlemen are incredible teachers. The material is well organized, engaging and super challenging. I work with such high level languages and software nowadays that it was quite a challenge to dig deep to the essence of it all.. zeros and ones. I remember seeing some of it in school about 25 years ago but actually coding it for real was so satisfying! Looking forward to part 2 :)

By Ryan M

Jan 19, 2018

I am a programmer without a background in computer science and the closest I have gotten to the machine has been compiled languages like Java. Because of this, everything that happened below the language I was using was a complete mystery and black box. This course clearly and concisely led me through all the steps of computing that were previously completely opaque to me. I cannot recommend this course enough. Cheers!

By Enzo F

Feb 26, 2016

The course is fantastic. The teachers are both very good at explaining the concepts and the project assignments. The experience of building a computer from basic logic gates is enlightening and the course material is very good and straightforward. I also bought their book (The Elements of Computing Systems) which is also very good and I recommend. It's a very rewarding experience. We really learn how computers *work*.

By Stephen C

May 10, 2022

This was a fascinating course that gave me a much better understanding of the logic behing a computer's hardware. IT was a lot of work and requred some personal teancity and resourcefulness to compete the projects. Not to say that it was 'impossible' just took some time and work. it was gratifying to complete and I congratualte and thank the authors for their work in developing the course, and recommend it hightly.

By Andrei U

Oct 22, 2016

This is an amazing class! The software and unitests provided worked seamlessly - just as described. The lectures excellent pedagogical expositions. The class has also made me appreciate the intellectual beauty of computer science; I used to think programming was somewhat boring and hack-ish, especially compared to mathematics. I'm looking forward to the second part. Also, the book is just as good as the lectures!

By Beau C

Jan 16, 2019

This is an amazing course. I am halfway through my undergraduate degree in CS. I highly recommend it for people who know how to program in a high level language like java, python, js, etc, and feel like everything below the compiler/interpreter is witch craft. During this course, I also used logisim (http://www.cburch.com/logisim/) to help with the hardware design, and would highly recommend that route as well.

By David S

Jul 9, 2018

This course is just great. I'm a third-year CS student, but I wanted to revise concepts I have seen and glue them together, because a lot of times we students have various assignatures for different "blocks of knowledge" but we don't actually connect them together, so they stay as isolated concepts. As a "midly-veteran" student, some parts of this course are basic for me, but I really liked the course overall.