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 Stefan L•
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•
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•
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.
By NU�EZ C J E•
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•
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!
By BAPPADITYA D•
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•
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•
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•
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!
By PRIYA S•
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•
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•
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•
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.
By Saksham G•
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•
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•
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•
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•
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•
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•
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•
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•
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•
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•
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•
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.