Chevron Left
Retour à Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)

Avis et commentaires pour l'étudiant pour Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) par Université hébraïque de Jérusalem

218 notes
54 avis

À propos du cours

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform. In the process, you will gain a deep, hands-on understanding of numerous topics in applied computer science, e.g. stack processing, parsing, code generation, and classical algorithms and data structures for memory management, vector graphics, input-output handling, and various other topics that lie at the very core of every modern computer system. This is a self-contained course: all the knowledge necessary to succeed in the course and build the various systems will be given as part of the learning experience. The only prerequisite is knowledge of programming at the level acquired in introduction to computer science courses. All the software tools and materials that are necessary to complete the course will be supplied freely after you enrol in the course. This course is accompanied by the textbook "The Elements of Computing Systems" (Nisan and Schocken, MIT Press). While not required for taking the course, the book provides a convenient coverage of all the course topics. The book is available in either hardcopy or ebook form, and MIT Press is offering a 30% discount off the cover price by using the discount code MNTT30 at The course consists of six modules, each comprising a series of video lectures, and a project. You will need about 2-3 hours to watch each module's lectures, and about 15 hours to complete each one of the six projects. The course can be completed in six weeks, but you are welcome to take it at your own pace. You can watch a TED talk about this course by Googling "nand2tetris TED talk". *About Project-Centered Courses: Project-centered courses are designed to help you complete a personally meaningful real-world project, with your instructor and a community of learners with similar goals providing guidance and suggestions along the way. By actively applying new concepts as you learn, you’ll master the course content more efficiently; you’ll also get a head start on using the skills you gain to make positive changes in your life and career. When you complete the course, you’ll have a finished project that you’ll be proud to use and share....

Meilleurs avis


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!


Mar 19, 2017

Superb course. Great presentation and course material. Projects are challenging but fun at the same time. Highly recommend for all levels of software developers.

Filtrer par :

1 - 25 sur 53 Examens pour Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)

par Brian C

Sep 10, 2018

If it's not the absolute hardest course you've taken, it'll be one of the hardest courses you've taken. The workload is staggering. At an Ivy League University you'll have an entire semester + winter break to write a compiler. Here you'll have three weeks. Buckle down & get ready to work hard.

par Sean E

May 14, 2019

A fascinating and incredibly well-made course. Check out my Medium article as to why you should be taking this course:

par Ross M

Sep 05, 2018

Challenging but rewarding.

About a year ago I started mucking about with code with the aim of becoming a web developing. I started with front end and could get away with knowing next to nothing about how computers actually worked and the big software picture. As my interest grew however I quickly became dispirited because I just didn't know enough about what was really going on. Now I no longer feel like a fraud teaching myself code. This course was everything I was looking for.

My only criticism would be the last project. My implementation of the operating system classes passed the tests however it turned out I had let in some really stupid bugs which the tests didn't pick up. This led to easily the most frustrating part of the course as I then discovered most of my classes were incompatible. After the best part of another's weeks work, and several submissions later, I got full marks on the final project. That being said it is probably very difficult to test everything as the classes leave a lot open in terms of implementation.

Thanks a lot. It was a great course.

par Roshan B

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!

par Anran

Jun 19, 2019

A true gem!

par George K O

Jun 10, 2019

passionate professors!

par Cheng H

May 30, 2019

Best ever computer science course I've taken. Though it takes me 7 months to complete both parts, it really worth it!

par Guillermo S C C

May 18, 2019

The best course ever.

par bao b

Apr 29, 2019

Understand computer is difficult, but this course can help you on this point.

par Graeme G

Mar 29, 2019

This course has been brilliant. I expected to learn a lot, but I got so much more out of this. Its incredible to see such a powerful machine coming out of such a simple design - a true mark of elegance.

par Chris P

Mar 17, 2019

Excellent, challenging course. Learned way more than I expected!

par Piotr L

Mar 01, 2019

Great, highly recommended.

par Shriharsh M

Feb 15, 2019

What an effort by the teachers! Such complex concepts simplified for a large and varied target audience. I thoroughly enjoyed doing the exercises for this course. I am eager to take up the part 3 whenever it comes out.

par Serjey G I

Jan 23, 2019


par Andrei P

Sep 18, 2018

Great course! Together with part1, it goes through how a computer does what it does, but in a simple way. That is not to say it's not valuable, it was very cool to see how things work behind the scenes and how they did all that! Best course I've done!

par David S

Sep 07, 2018

As great as the first part, although far more demanding.

par Benedek R

Sep 03, 2018

It was a bit superficial. Homework helped to practice the basics. I prefer more detailed and more deep lectures.

par Andrii D

Sep 02, 2018

One of the best computer science courses I ever had. You start understand how actually things like heap, stack, etc. works.

par James M

Aug 20, 2018

Overall, it's an excellent course covering a lot of concepts, definitely the best online course I have done so far. The latter weeks are quite overloaded though, I think it might be better as a slightly longer course, with an additional week focussing on the VM language and the use/history of the stack and heap distinction.


Jul 24, 2018

Great course

par Joe K

Jul 20, 2018

Thank you so much Shimon Schocken!!

Part two was tough, but it was very helpful.

par Steven G

Jun 22, 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.

par James T

Jun 13, 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.

par Liudmila N

Apr 20, 2018

Very well structured, you learn a lot, primarily by doing, which is the best learning. The project where you program in Jack is in my opinion unnecessary, and the OS part is just a bag of random stuff, but overall, one of the best courses out there.

par Stephen H

Mar 25, 2018

Great course! Cannot imagine how can I build in two weeks the whole compiling software that translates an OO language down to machine code! Although the part II needs more work than part I, it is still manageable and equally inspiring!