MS
Jan 14, 2018
This is by far one of the best online-courses I have completed. Thumbs up, it was well worth my time and it will definitely help me on my never-ending journey of becoming a better software developer.
RB
Sep 2, 2018
I'm a 13 year old 8th Grader from California. I loved this course and learned a lot! Thank you Mr.Schocken for putting together such a wonderful course! It was a thrill to finish the course finally!
By Arun C
•Sep 28, 2019
What a fabulous journey the second part was! It was exhilarating to finish off with the operating system. In many years of professional software development, I did not have as much fun as I had in six weeks in this course. Hats off to both Noam Nisan and Shimon Schoken for having conceived, developed, and presented this course in such a nice manner.
I did not receive any feedback for the peer-graded assignment, which is sort-off sad. While I can guess what might have been the reason for the grade given to me, feedback is very useful; I hope Coursera/the instructors can allow access to feedback in the future.
I wish part-2 of the book was also available on the web.
By Martin C
•Jul 21, 2020
What professors Nisan and Schocken have done here is absolutely astounding. This course (parts I and II) puts the understanding of how computers work, from low-level hardware to high-level software, into the grasp of anyone who is curious enough and willing to do the work.
I must admit that I have been advocating the course for a number of years before even completing it myself. Now that I have completed it, I am more convinced than ever that anyone who wants to be a professional programmer should have this knowledge as an underpinning.
By Zhengtong N
•Apr 8, 2022
Great course in every way. I can't imagine how much efforts Noam, Shimon and their team have taken. Everyone who's trying to understand computer in a more comprehensive way should take this course.
By Vic P
•Jul 27, 2024
It's been enlightening, and for this I am grateful to the authors of the course. The course takes much longer than what the advertising says/implies based on the estimates. And much much harder than N2T part I. Thus, it should really be split into 2 further parts/courses. It took me over 3-4 months of daily work. I suggest learners first take the course as an auditor - and see if you can handle/finish it... then enroll for certificate. One particular stress has been the project graded by other students: stressful because of next to non-existent specification of what exactly you need to do to ensure a good grade. On the tools: very time consuming to switch back and forth between the command line to compile and VME to run the vm code. Compiler should be integrated in the VME, somehow. I wish the authors gave more explanations on why they took this or that design decision. And be more generous with hints on how to implement this or that - paying attention to what past students had trouble with - read the forum from time to time! As opposed to authors often filling videos with repetitions of previously said stuff or redundant comments. And that they pay more attention to what struggles students encounter when sumbitting the projects - often you fight the grader with unclear hints on what is the problem. Overall, while it's a great course in spirit & ambition, it's deficiencies makes it much harder than should be.
By Cheryl
•Feb 17, 2020
Although the teaching was still great, the projects were more of a slog to get through and took way more time. Most of the projects were to build "translators" (in another language such as Java or Python that is otherwise unrelated to the course) to bridge the low level language of the computer to a programming language. While I can understand the learning that comes with how this is done and techniques to use, I felt that there was just too much programming relative to the lessons.
By Brandon W
•Feb 4, 2021
One of the best MOOCs I've ever taken. Some of the parts during numbers of projects were tricky enough to spend hours Googling and searching for an answer. However, you may find the answers in the discussion forum on Coursera or nand2tetris forum. It is definitely not an easy course, but worthwhile to take. One thing if I may append, some of the lecture PDFs still contain contents that may give fellow learners some amount of frustrations. I hope those will be fixed soon.
By Eric E
•Mar 25, 2021
The difficulty design of coursework is unreasonable, and the difficulty span is large, which is unacceptable
By Vaibhav S
•Jul 20, 2022
First of all, I want to thank Professor Noam Nissan and Professor Shimon Schocken for making such a brilliant course. There is a lot of effort put into making this course.
This is a very informative course for learning how a computer functions internally. It helped me as I am not from a computer science background, as it contains everything that one needs to know and prevented me from wandering on the internet.
For someone starting on this course, I have a few suggestions-
Before starting the course, please ensure you have a decent knowledge of any programming language. Even though the course is for beginners don't think you are going to complete it like other beginners courses. It will take a lot more effort. Also, prepare yourself to devote a lot of time to it. The last 3 assignments took me about 10 days each to complete apart from watching the videos.
And remember if you want to become a better developer this course will help a ton.
Finally, thank you again Professor Noam Nissan and professor Shimon Schocken for this outstanding course, I am waiting for Nand to Tetris part 3.
By Anders P
•May 19, 2020
From Nand to Tetris part II is an incredibly valuable learning experience giving you the knowledge of all software layers, starting with assembly code all the way to high level code - essential for any professional application developer. Be aware, the work load of part II, in relation to part I, is massive. In my own experience, you'll need three times the time you used to complete part I. My three main suggestions for improving this course are; firstly, to shorten the video lecture, as subjects are repeated somewhat throughout the individual videos, secondly, decrease the weekly projects' scope - they are too massive risking to loose the student along the way, thirdly, provide more information from a single source on how to complete projects - information is currently spread throughout video lectures making it difficult to synthesise, while the information provided is too ambiguous. Having said this, my initial recommendation holds - And I wish you a pleasant experience with it!
By silvercodeify
•Jan 5, 2022
My journey started with a game I bought a few months ago. In this game I had to construct some logic gates. I had no idea about these things and started searching the internet for information on the subject. First I landed on nandgames, an online logic gate creation game. And then I found this course. And this course is by far the best I have ever taken.
Building a computer from scratch with all the software and services, seeing all the beauty of the thoughts and ideas behind the machines and algorithms is a real eye opener. There is a lot of hard work to be done in this course, but at the end you have a very good idea of how computers work.
Many thanks to Simon and Noam for offering this course to anyone interested. Thank you for the expert presentation and all the tools and goodies you have created for Nand2Tetris. If there is a third part, I will get it immediately.
By Alejandro C
•Oct 31, 2022
This course is for the avid programmers that want to understand compilers and languages and how they interact with a computer (preumable the one you build in Part 1 of the course).
Projects on this course are more challenging and more time consuming, but also more rewarding as you can see first hand how your code is working together at all levels in the computer. You can write a program and then compile it to VM code with your compiler and then translating it to ASM code with your translator and then executing it in a computer you built.
At the end is facinating to understand how a very complicated network of NAND gates is doing all the work.
I enjoy this course very much and learn several topics along the way. It was fun!
By Fei G
•Oct 12, 2021
A remarkable journey! This course covers a great deal of content, but the projects are well-paced and organized so I never lost the momentum.
The videos are very good company of the book as they give additional information about how to implement the modules.
The official website is also useful: http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/
I was really amazed and inspired by the Cool Stuff on the nand2tetris website. It shows how a simple language can do great things. But I also feel ignoring operator precedence is the most pitiful thing. Maybe it facilitates the implementation but that makes writing buggy Jack programs a lot easier.
Thank you Noam and Shimon.
By Callum M
•Jul 29, 2024
Amazing course, will make you a better programmer overall. A few notes: - The first real project (VMTranslator Part 1) there is definitely some ambiguity that I had to piece together from the videos, which the discussion board helped with. - They only really mention using Java and Python in the course videos, but they allow a list of 20 so programming languages in a list on each of their project pages. - The VMTranslator Part 1 (Week 1) was the hardest week conceptually in my opinion, though the JackTokenizer (Week 4) took me the longest by far. Overall, super fun course though very intensive. Totally recommend.
By Zachary M
•Oct 9, 2022
An absolute blast and an interesting and challenging experience. I would highly recommend this course to any programmer at any skill level. The entire course is eye opening and perspective changing in terms of one's methodological approach to object-oriented programming and modern computer architecture. 16 bit or 64 bit, the understanding of the underlying principles you gain from this course can be invaluable. Also, I grew to really love Shimon Schocken’s lectures and personality. This is one of those things I’m glad to have accomplished but find myself sad to be done with.
By Saad U
•Jul 3, 2023
One of the best learning experiences of my life. I am pleased to see people like Shimon and Noam working that hard for people like us. I am really humbled realizing that they are really the geniuses. Their intellect really shows up as we progress in the course and that really motivates me learn more and try hard.
For someone starting this course I have a few words to tell you: IT IS REALLY HARD but you will thank yourself and the instructors after completing this course.
By Hugo F F L
•Oct 4, 2022
While beginners might feel challenged by this course, it does invite one to excel their own understanding towards computers and it's intricate abstractions in an all and all, very comprehensible route. the Modularity found here (where each chapter brings a taste for what each level/area holds) makes up for a very unique and truly worthwhile journey. Any computer enthusiasts out there need this to understand the Black Box abstractions behind a computer.
By Christopher J L
•Feb 15, 2021
This is a fantastic course. It gives an in depth dive into computer science via an awesome case study - build your own computer! The pace is good for a user with intermediate experience with software. If you are a beginner with little experience, this course will be hard. The lecturers are very passionate and engaged and it makes for a wonderful learning experience. I would highly recommend doing both part 1 and part 2 of the Nand to Tetris course.
By victor312
•May 7, 2017
The grading interface could be better but the TA (Eytan) was highly responsive and patient, as well as informative. I think that the grading interface could be improved (output from the automatic grader), I'm not sure if this has been done already. But, this course is a real gem and definitely helps me understand the inner workings of computers, which is important for me as I come from a pure math background. Thank you!
By Daniel N
•Nov 12, 2020
This is by very very far the best (and most difficult) course I've ever taken- together with Nand to Tetris Part I. Part II requires much more effort and it took a long time for me but I cannot even begin to describe how fantastic of a journey it has been. It helped me in many different ways to become a better programmer. I'm very grateful for everyone who worked hard for this course to be available! Thanks so much!
By Steven G
•Jun 21, 2018
This is a brilliant and very challenging project oriented course. Even as a IT professional doing this course for fun the workload can be very demanding. Be prepared to work hard and for long hours to get through this course. But the tremendous feeling of accomplishment at the end makes it all worthwhile. I have not felt this way since my undergraduate days. Thank you for reigniting my passion.
By James T
•Jun 12, 2018
Absolutely phenomenal. One of the best and most instructive courses I've taken. This provided a much deeper understanding of computer internals than I'd previously had, and I'm shocked by how much ground was covered in this course. It took a lot of work, and while it is listed as 'beginner', I imagine it would be quite challenging to complete without having any experience programming.
By Vivek N
•Jul 7, 2017
By far the best MOOC I have taken - the focus on actual projects rather than simple quizzes keeps one continuously challenged.
The sense of accomplishment from building the entire stack of computing from ground up is really amazing.
The course instructors are great presenters and orators - there's no chance of getting bored - they bring great enthusiasm and passion into what they teach.
By Leonardo L R
•Sep 5, 2022
Along with Part I, this course fills all the knowledge gaps among the distinct computer science courses. It is a "must do" for everyone passionate with the inner workings of the computer and its systems. You can't believe the infra-structure behind the scenes that the authors invented (e.g. the Hack computer, the emulators, etc). It is a real gem. I can't wait for part III.
By Vinicius S
•Sep 1, 2021
This entire course honors what it claims. It has the ability to demystify computers and how they work. And that is great. The sense of accomplishment is enormous, a step forward for anyone studying in this field. It was a long, hard course, but it was worth it. I would like to thank Professors Noam Nisan and Shimon Schocken and all the staff and fellow students. Thank you!
By Yechen H
•Apr 21, 2020
This is a great course to a great amount of knowledge about the compiler and programming language, and get some knowledge about the operating system.
I would definitely recommend to anyone in the tech area to take this course and wish I had the chance to take this course early in my career. It would have provided me with great knowledge and understanding.