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.
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.
By Akhil K•
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 Ahmed m i e•
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•
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 diwakar b•
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 Eric B•
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•
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 d B F•
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 Andrei U•
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•
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•
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.
By Todd P•
I cannot recommend this course enough! Although I have developed software professionally for almost 20 years, some areas beneath the high-level languages I create software with felt like dark mysteries. This course was extremely helpful in illuminating many of those areas. If you develop software professionally but did not graduate college with a computer science degree, I highly recommend this course to you.
By Ben S•
While I have multiple degrees in computer science, I have never felt I have a solid appreciation of how a computer works from the electrons up. This course is by far the best I have taken, and incredibly rewarding to work through. I feel I now have a first principles level grasp of how a computer works from the logic gates all the way through to the operating system. I can't recommend this course enough.
By Arun C•
It is an excellent course. I have a bachelors degree in Computer Science and I have done some portions of what has been taught in this course in our logic design lab and assembly programming lab, but bringing all together in a single project-centered course like this one is a novel and useful idea. This course should be made compulsory in all bachelor degree courses in Computer Science and Engineering.
By Berker K•
I only audited the course due to shortage of time. A complex topic like computer hardware architecture can't be taught as simple and nice as like in this course..I took many moocs and this is one of the best. I also loved the end of the lectures named as "perspectives" which is about the questions of students mostly ask about the relevant week's topic. Thank you lecturers a lot and a lot and a lot..
By Joseph A•
This is the best course I have ever taken. The professor Noam Nisan and Shimon Shocken are incredible. The lectures are well paced with helpful slides, and they explain concepts very clearly.
The projects are challenging yet fun so in the end it's incredibly rewarding.
I can't even begin to imagine the work and knowledge required to a course like this together.
From the bottom of my heart thank you.
By Nelson O•
Very comprehensive course that is both in-depth and broad in terms of its analysis of current computing architecture. It makes one understand how sublime modern computers are - for they complete tasks of astounding complexity despite having a much simpler internal architecture than one might suppose. Certainly, the feeling of satisfaction I felt upon finishing a task is nothing short of immense!
By Krishnamurthy K•
I am a self learner with a non-computer background, but I am a programmer by profession. I have been looking for information of how a computer is built from the inside. I have read many theoretical books, but none matches your cross-section coverage from start (gates), abstracting away to the top (user programs). I have purchased your book too and would recommend others to get it. Thank you!
By adarsh t•
Amazing course! I know how to code and stuff but the fundamentals of how things work in hardware was something I was unaware of. This course takes you from teaching about logic gates to making an assembler! Its pretty great and you will learn a lot (even if you know a thing or 2 about it). On top of this, the instructors (near the end of this course), also teach some good coding practices.
By Tim F•
Great course! It's not impossibly difficult, but you will want to spend some time thinking things through. In the first week, I wasn't sure that the lectures completely covered the material, but YouTube exists, so I was able to find some videos on digital algebra to fill in the gaps. Week 5 was the toughest, and if you have any experience programming in higher levels, week 6 is a breeze.
By Herman P•
This is without any doubt one of the best Coursera courses I've taken.
I always wanted to know how the computer works on hardware level. I read a lot of stuff but none of them allowed to understand truly what's inside and how and why works.
The materials and projects of the course are simply great and (from my point of view) makes you understand much more deeply the concepts of the videos.
By Vinicius G d R•
Very nice course on how to build a computer from elementary circuits up. It's a simplified computer, but gives you a good sense of how actual computer work. It has exercises that are good for retaining the contents and making sure you understand the concepts. I definitely recommend for someone that wants to understand what happens between the assembly language and the computer circuits.
By Lieu Z H•
I really liked the comprehensive and bottom-up approach to this course. However, I would have liked a bit more instruction on how the schematics for the CPU and ALU were derived, as we were merely implementing it without having to understanding why the ALU and the CPU was the way it is. The same goes for the machine language.
Nonetheless, an excellent course, and well worth your time.
By Han L•
This is a great course that explained every thing from gates to actual PC very clearly.
I'd recommend this course to any one who try to fresh up computer science basics.
I only have a small suggestions, the four week taught about machine language, fifth week taught about the CPU-ROM-RAM architecture. From the first three weeks, (in my own opinion) I feel the order should be reversed.
I have taken many physics and computer science classes, and this is by far the best one. Not only it explains in detail how computers actually work, it also gives you tools and knowledge to implement the computer yourself. Both the book and lectures are very good at explaining things and assignments, while not being too hard, concentrate on learning and understanding the principles.
By Madhuresh m•
I would recommend this course and as well part 2 of the same to every computer science student no matter what year they are in. Gives a clarity how different layers are related and function together . And if the authors of this course are reading this comment then i am really grateful to you for putting in your effort in this phenomenal piece of art that you have created.Thank you .