Jan 15, 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.
Sep 03, 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!
автор: George K O•
Jun 10, 2019
Jun 19, 2019
A true gem!
автор: Benjamin W•
Sep 09, 2019
The second part of an extremely rewarding course by instructors who have clearly put a great amount of thought and effort into its design. If you already feel quite comfortable with compilers and operating systems (for instance, you've previously implemented your own compiler from scratch), then maybe it suffices only to take the first part of nand2tetris as a course in computer architecture. If not, then I would highly recommend taking the second part in addition to the first as an introduction to these subjects (part 2 should probably not be taken without part 1 since the software hierarchy developed in part 2, particularly the virtual machine, is designed to run on the specialized architecture introduced in part 1). However, note that part 2 is signficantly more work (at least 2-3 times as much) as part 1. Note also that part 2 requires familiarity with a programming language; if you wish to have your assignments graded by the auto-grader, then this language should come from the list of supported languages. At the time of this writing (September 2019), the auto-grader supports the following languages: C, C++, C#, Elixir, Erlang, Go, Haskell, Java, Lua, Node.js, Perl, PHP, Python 2.7, Python 3, Ruby, Rust, Scala, Swift.
One thing to note about this course is that it is not the result of combining ordinary courses on compiler construction and operating systems and many of the standard topics taught in these courses are not touched upon at all. Rather, the nand2tetris philosophy is one of "learn by doing". This means that, while the lectures do give very clear explanations of what it is you are trying to accomplish, as well as examples of how parts or cases of your problem can be solved, you ultimately have to come up with your own solutions. In the end, your solutions may not be optimal or very elegant, but you will gain a very confident understanding of the details. I believe this makes nand2tetris part 2 an excellent course to take prior to a formal course on compilers or operatings systems.
автор: Benedek R•
Sep 03, 2018
It was a bit superficial. Homework helped to practice the basics. I prefer more detailed and more deep lectures.
автор: Ehud K•
Feb 02, 2017
very interesting, good lectures,