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

Opiniones y comentarios de aprendices correspondientes a Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) por parte de Universidad Hebrea de Jerusalén

2,061 calificaciones
614 revisiones

Acerca del Curso

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....

Principales revisiones


Feb 18, 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.


Oct 12, 2017

Really good course. Great explanations of everything and the tools provided make it very easy to implement some very high levels ideas. Would recommend this to anyone interested in how a CPU works

Filtrar por:

1 - 25 de 606 revisiones para Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)

por Peter K

Jan 27, 2019

This was just a wonderful course - exciting, challenging, well organized, and a ton of fun. I really enjoyed every week of it and will recommend it to friends. Thanks so much to Shimon and Noam!

por Sean E

May 14, 2019

A fascinating and incredibly well-made course. Check out my Medium article as to why you should be taking this course:

por Brendon L C

Oct 12, 2017

Really good course. Great explanations of everything and the tools provided make it very easy to implement some very high levels ideas. Would recommend this to anyone interested in how a CPU works

por alvaro H

Dec 03, 2019

The teacher with grey long hair talks to fast and seems like he gets nervous in front of the camera, its hard to follow what he says also because of his speed at talking and accent.

por Jon I

May 11, 2017

A very enjoyable class, which takes you from the basics of logic gates, through constructing larger logical units such as an ALU, through to machine code, and finally (the last, and definitely hardest section) writing your own assembler for the 'Hack' instruction set. Every stage has been carefully thought through by the instructors, and a lot of effort obviously went into finding forms which would be accessible for the beginner to construct (for example, every machine code instruction occupies exactly one 16 bit word, and the instructions themselves carefully designed to make the CPU control logic as easy as possible to implement).

For an even lower level of computer construction, this course is complemented very well with the series of videos that Ben Eater is creating on YouTube - - detailed the construction of a very basic 8-Bit 'Simple As Possible' computer from discrete logic chips. He goes into a lot of detail about the construction of various Flip Flops, for example, whose existence and abilities are just assumed in this course. On the other hand, for a higher level look at computers, the natural followup to this course is Nand to Tetris Part II, which is also on Coursera.

por Mithilesh V

Jan 02, 2019

A wonderful course which covers the fundamentals of computers from scratch. The instructors have done an amazing job at explaining the basics, without any pre-requisite. The lectures were well-planned and the projects were crucial in strengthening the basics. It was an enlightening experience and I recommend it to anyone who is bewildered by the sheer complexity of today's computers. If you have the will to learn, go ahead and take this course!

por 你的我怪

May 31, 2019

any CS people should take this course. the way it delivers is just amazing.

por s v

Oct 26, 2019

Pluses are :-

Great Projects !!

Like the saying "Simplicity is beauty", both the authors' presentations were very simple

I thoroughly enjoyed the course.

Minuses are :-

Justification for the behaviour of Half-Adders & Full-Adders was not covered.

Magic of ALU control bits was not explicitly explained.

In project6, since Assembler was not written in Binary language, the hardship of making a real assembler in machine language was not felt leaving the project a little unsatisfactory.

Final Verdict :-

Thank you so much for making this course.

You guys have written, an Assembler, Hardware-emualtor, Cpu-emulator etc.

And the graphics that comes with "Program & Data Flow" option is simply icing on the cake.

And to top this, this entire course can be audited free of cost.

This is a thankless service you guys have regardlessly rendered.

Great Respect & Massive Gratitude i have for you guys.

Thank you so much. Much appreciated

por Shawna C

Apr 17, 2019

The instructional videos for this class move way too quickly for a beginner. I had to use lots of other sources to even begin to understand how to do the projects. This class is not for beginners.

por Benjamin W

Jun 11, 2019

At this point I don't think there's terribly much I could add to the many other stellar reviews this course has received. However, the development of this course is such a great accomplishment and participating in it such a joy that I feel compelled to further reinforce the opinions of most of the other reviewers here.

The instructors have clearly put in a great deal of thought and effort into designing this course. This means not only writing a book and slides and recording hours of lectures, but also designing an entire computer architecture and corresponding machine language suitable for pedagogy as well as a a suite of software tools (hardware simulator, CPU emulator, etc.) and an automated grader to help students see the results of their efforts.

I would advise anyone with even the slightest interest in understanding how computers work to go ahead and take this course. What's there to lose? There is certainly a good amount of work involved but for the most part, due to the detailed and helpful guiding explanations provided, the tasks are exercises in detailed and precise thinking (as one should expect when building a computer from elementary logic gates).

This course is a model for what educators should strive for.

por VN

May 27, 2016

Simply takes your breath away to learn how computers are built from the ground up. This is like an art appreciation course ... but for a crucial technology that permeates every moment of our modern lives.

Starting with the simplest pieces and moving all the way up to a functioning computer you will build nearly all the pieces with your own hands. You will learn how hardware is designed in the real world by actually making your own gates as well as an ALU - an absolutely delightful experience. You will then get your hands dirty with some assembly language - seeing how symbols are translated into bits before moving on to put together your functioning computer.

The course is great because there is very little yak-shaving for you to do ... most of the boring stuff is actually handled by the software provided in the course. You get to focus on the joyous acts of discovering things for yourself and putting together the pieces of the puzzle at every stage.

Many thanks to the professors and their team for taking the time to put this course together and for making something that's very abstract for most of us into something that's concrete and accessible.

Thank you!

por Mohammad G

Nov 16, 2016

I love you guys, Noam Nisan and Shimon Schocken, for this tremendously successful course! I never thought I could acquire even a basic understanding of the inner computer structure in less than 6 weeks and honestly at first I had doubts if I would be able to finish it and now by your help we have created yet another computer!

You are the brilliant example of how a proper education system can hugely intensify the students' learning abilities.

I Surely recommend this course to everybody regardless of their study/educational background in order to "demystify" the computer in their minds.

However, I need to remind others that the course sometimes really challenges you and you might need to think a bit hard to solve the projects. Nonetheless the teaching materials are extremely sufficient for resolving any kind of problem you might have, given you spend enough time on it!

I am eagerly waiting for the second part of the course.

My heartfelt thanks goes to everyone, Coursera and any other individual and instructors, who has made this wonderful course available to the world!

por Nils H

Aug 02, 2019

If your want to understand how computers work THIS is the course you should take. I've started with programming about two years ago. Very often I have asked myself "How does this *magic* all work?"

So I've looked at different programming languages (even read a bit about assembly) but nothing was able to enlighten me ass much as the nand2tetris course.

I'd like to thank the two creators for offering this amazing trip from nand-gates to actually having a usable assembly language that the user even writes and assembler for. Just Wow!

Side-note: Since the course consists of a lot of video material, I'd like to point out, that I watched the videos on 1.5x. By doing so you'll get through the information bits much quicker and for me it still wasn't an issue to follow, because there is always a lot of side material where you can look up stuff, once you get to the exercises.

por Hyun-joo K

Feb 16, 2020

I graduated my university long time ago, and hard to experience very low level approach to computers in my field experiences. This course offers refreshing what I had learned very long time ago - the principles and mechanisms of computer designs and low level software development with opcodes and assemblers.

I think this course is very helpful for current university students and everyone interested in computer designs and software development in very low level with assemblers because nowadays there is too small chances to work in such a low level environment.

For both quite experienced people and new comers in computing, I dare recommend this course. Experienced people can refresh what they had learned very long time ago, and New comers can get well-designed knowledges and understandings for low level computing.

por Zach W

Jul 22, 2017

This course is incredibly interesting, and I would HIGHLY recommend it to anyone who's remotely interested in computers and technology (which must be the case if you're reading this!). I've been programming for a while and have built a rudimentary GameBoy emulator, so I had some level of familiarity with assembly and machine language going in to this course; but despite all this, the raw mechanics of how a computer works on a logic-gate level were basically indistinguishable from magic to me prior to taking this course.

The course covers an impressively diverse array of topics, which serves not only to keep the course consistently fresh and engaging, but also to give the student solid foundations in many different areas on which they can later choose to build on (I know I will be).

por Christopher H D

Aug 13, 2016

This course is an outstanding survey from logic gates through assembler. At the end you will have the gate level design of an elementary CPU and RAM, and the mysteries of machine code will be revealed. I am an older learner returning to computer science after a twenty-year absence. I had previously been exposed to this material, so I was refreshing my knowledge. It took me about 5-6 hours per week. If someone is brand new to these concepts, the syllabus may move a bit fast for them, and they should expect to spend some additional time to absorb the material. It is an outstanding survey course that together with part II will help you understand how all the hardware and software layers of a computer system fit together. I recommend this course without reservation.

por Pushkar D

Nov 12, 2017

I can't praise this course enough! It transforms your working knowledge of computer systems into a clear picture of what is happening behind the scenes. In this part 1 of the course, I learnt how basic gates are used to make more complex chips such as ALU, CPU and Memory. This helped me understand the application of Boolean Algebra in computer science. Next, I understood how instructions are executed on the computer and that computer architecture design is quite complex (although a simple one is presented here). Week 5 assignment is the toughest, in my opinion. Finally, the course ended with an assignment to write an assembler (something I have been wanting to do at least once in my life i.e writing translators). The satisfaction level for this course is a 10/10.

por Michael D

Apr 09, 2018

While I'm already a software engineer and have taken introductory EE courses, I have never gotten the full picture of how software is interacting with the hardware. When you code, you usually think of branching as choosing to execute one segment of code or another. While this is true for a lot of jump executions, it was also really interesting to see how the hardware is constantly doing multiple execution paths at the same time when working with registers/ram addresses. It starts to paint a better picture of the under-the-hood performance and optimization, and gives an idea of how advanced CPU instructions like SSE might work. All of this is done in such an approachable way in this course. I feel like assembly is more approachable to me now, as well.

por daniel a m

Nov 29, 2019

This is an amazing course. You really get to build a (virtual) computer by yourself and step-by-step. They give you the necesary guidance, but still leave you room to think by yourself when completing each step of the project. It is amazing how they manage to strike this delicate balance.

The conferences and slide presentations are really good, and also the software they provide.

The computer you will build is a masterpiece of simplicity, yet a full-functioning universal computer. Its simplicity allows you to really understand the internal workings of any computer and truly grasp the real power of Boolean logic. Truly awesome.

And the whole project of building this computer develops like a game: It´s realluy fun.

I loved this course.

por Nat S

Apr 14, 2019

Wow. What can I say except for the fact that this course was fantastic. I completed all 6 weeks as an auditor, and thoroughly enjoyed it. Although the design is simple compared to modern day computers, I feel like I have a solid foundation of how the hardware layer of a computer works and interacts. The difficulty level is about right and assumes no knowledge of programming - there is a no programming option for the final week project. I would recommend doing the programming version though. It's a great, rewarding challenge.

Overall, the quality of the lecturing, as well as the tools provided, and the clear passion for the subject from Professors Schocken and Nisan make this a must take course for everyone interested in computers.

por Christian R

Jul 11, 2017

Very interesting and enjoyable course. It's pretty neat to go from a NAND gate all the way to an ALU and a CPU.

One word of caution: The course says that no prior programming experience is required. And this is true. *But*, if you've never taken a programming course and never taken a math/logic course that covers boolean logic and such, you might struggle a bit. This is not to say it's overly hard, but without this type of background, expect to spend more time on the basics. (This is said from the point of view of someone with this type of background, and how I imagined people without it would do.)

If you have a programming background, or have an interest/background in electronics, you should have no problem.

por Tiago L

Mar 30, 2018

From all courses that I took online, this is by far the best.

While this is a subject which I particularly like, this is not the only factor for me to rate this course very high. The instructors are truly educated in the subject, and from the very first lectures it is clear that they put a lot of effort and time in the preparation of this course.

This course opened my mind to the organization of computers, and from here, I was able to understand and do further research on other architectures and projects.

In all, I strongly suggest that you take the time, put in the effort, and attend this course. It will dramatically increase your understanding of computer architecture.

por Artem S

Feb 03, 2019

For anyone who's hesitating about this course - you should absolutely take it !

As a working developer in web-development industry without specialized education, I always felt that i missed some core concepts of the computer architecture and i didn't know where should i start. Thanks god, i found this course

I should say this course opened my eyes on a lot of things going on inside the computer, now i understand what i do better and produce better results at my day-to-day job.

During 2 month of studying this course, that was a wonderful journey, thanks to the best teachers Professor Shimon and Noam, thank you both for investing your efforts and time in this course!

por Jon A

May 30, 2017

A truly wonderful course to learn how computers *actually* work from the fundamental level of digital logic circuits all the way up to assembly language, CPUs and RAM. You get to design your own circuits and programs, and test your designs using a wonderful set of free tools developed especially for this course. I would recommended getting the textbook and studying the lecture notes in addition to the video lectures. This course is challenging but oh so rewarding! It is truly an accomplishment when you can figure out how to get something to work! It almost feels like you're actually building your computer system. I LOVE this class. Looking forward to Part II :)

por Nenad L

Jul 11, 2017

I have bought the book and worked it along this course for the Part 1. Part 2 wasn't available, so I continued working the book and managed to create my own language, compiler (both layers) and quasi-OS.

The amount of supporting facilities is unbelievable: several simulators, code validators, visualisation aids describing how data flows through the machine, etc...

The authors are very down-to-earth lecturers who were able to create a simple yet powerful machine, explain to the audience and then make the audience recreate that very same machine themselves.

I can freely say that this course, paired with the book, moved my understanding of computers the next level.