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...
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.
By Evgeny K•
Apr 3, 2021
Impressive work had been done by tutors. For me computers were always a black box and now i see logic behind it and to certain extent i can create one from the set of logic gates.
By pushpankar k p•
Mar 8, 2021
This is one of the best courses available on the internet. Projects are just at the end of comfort zone. Thank you professor.
By Abdulaziz S•
Jun 10, 2020
Really Amazing Course! This course gives a proper insight of how things work on the most fundamental level!
By MORIYA P V•
Jun 22, 2020
It's been a really nice course. I'm a EE undergrad and I did know most of it but it was a fun experience.
By Jianye S•
Mar 8, 2021
It's the best course that I've ever seen. And I'm hoping to participte in the second part of the course!
By VISHAARAD B•
Jun 10, 2020
Best Course Ever! Watch its Ted Talk for all you need to know about it. They deliver on their promise.
By Kachireddy S R•
Jun 10, 2020
It was really good. It gave me a very good understanding how a computer is built from scratch.
May 31, 2019
any CS people should take this course. the way it delivers is just amazing.
By Younes B•
Apr 4, 2021
Thank you a lot for taking the making the blackbox clear !
By Yishai L•
Mar 8, 2021
By Dan M•
Apr 11, 2016
Good starting point but very slim on the 'why's and the hardware is quite unlike anything you'd find in real life. In addition, I feel they leave too much unsaid and rely on visual comprehension far too much. I had to use the book to figure out the last two weeks. Overall, I did learn the more practical sides of hardware that other textbooks failed to convey. If they would add a Status register and break 'branching' into a separate instruction then I'd be happy with the CPU.
Jul 10, 2017
The program takes you step by step into the development of a functional model of a computer. It delivers everything it promises and is very well integrated. I put 4 stars because 4 and half is not possible, and I feel that you need to be a little bit familiar with logic and computers in order to do progress at the rate the course requires, because although every chapter is formidably explained, it can take much more time for anyone to fully understand the concepts.
By Sonya L•
Jan 8, 2019
Took more work and effort than expected (except for the last project which was surprisingly easy going), and although there were (many) moments of frustration, there was always a sense of accomplishment at the end. Everything ties together in a very satisfying way. But I would prefer if the course provided more support than just the forum for questions and queries, because I found it hard to find help when I most needed it.
By Dario A•
Jul 28, 2016
Very interesting course for those who want to fully understand the inner workings of a computer.
However, the utilities offered are a bit neglected. Be prepared to fight bugs on your own.
By Gercino A N J•
Dec 8, 2016
The course is good. I just do not give five stars because we have to pay to atempt pass.
By The A•
Oct 23, 2020
explanations could have been better
By Joshua R•
Feb 28, 2016
I submitted homework for week 1. I get an email telling me I did not submit. Then week two the course makes references to material not covered in week 1. it looks like a week is missing between week 1 and week 2?
Nov 1, 2022
The program is buggy, you will spend more time trying to troubleshoot the language than doing the questions.
By Isaac S•
Jun 22, 2017
The link www.nand2tetris.org is down always . I can't download data from website.
By Ju H K•
Aug 16, 2020
Great course to go over the basics of how a computer works up to the assembler. This is a great introduction to computer organization (hardware) as it goes through various logic gates and builds up to sequential circuits to be able to implement an ALU, memory which then can be used to build a CPU. The course goes over their own variation of HDL and assembly which is a great introduction to those who are not familiar with it. The assembly may look different from what some may be used to but it's designed to be simple for those without computer science background to be able to learn. In fact the entire course is designed to be simple for anyone with enough dedication to be able to build a computer. Therefore, there are some simplifications and "axioms" that are established (i.e. you don't learn about how transistors work in depth, nor are you expected to implement various flip flops and chips that may be a bit too complex).
I particularly like this course as it helps refresh my memory of what I learned when I was in undergraduate. This is a project centered course which contrasts to my undergrad where it was more theoretical (though we did have lab components which was in some sense more in-depth on implementing certain chips). I never tried building a computer theoretically from what I learnt in University and the computer architecture we studied was either too complex or way too time consuming for the average student to implement virtually. This computer architecture was designed just right.
By Ian B•
Nov 16, 2021
Building on their superb and seemingly timeless book (published 2005), Shocken and Nisan deliver a tightly organised and engagingly presented sequence of lectures to guide us on the journey from logic gates to assembler via computer architecture (and you can go further in their second course, all the way up through high-level languages to operating systems). Their painstaking examination of the detailed material, on camera, and their reflections on it in the Perspectives sections, add depth and colour to the already brilliant expositions in the book. This is the way computing should be taught and learned, in a succession of demanding practical exercises connected to underlying theory. You can see the value of abstraction when you can put it to use. Rather than resort to mumbo-jumbo or geekiness, they keep the central sense of wonder about the power of the computer at the centre of attention.
I found HDL hard to learn and write, but am glad to have had the opportunity to try. It was hard for me to fathom how sequential circuits worked, and I found it hard, as someone used to procedural programming, to get my head round the declarative nature of HDL: it's not one damned thing after another you have to think about, but every damned thing at once!
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.
By Vikram N•
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.
By 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!
By Nils H•
Aug 2, 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.