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

Learner Reviews & Feedback for Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) by Hebrew University of Jerusalem

461 ratings

About the Course

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....

Top reviews


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.


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!

Filter by:

26 - 50 of 144 Reviews for Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)

By Maryan H

Feb 11, 2021

By Ola M

Oct 25, 2020

By Eric E

Mar 25, 2021

By Vaibhav S

Jul 20, 2022

By Anders P

May 19, 2020

By silvercodeify

Jan 5, 2022

By Alejandro C

Oct 31, 2022

By Guo F

Oct 12, 2021

By Zachary M

Oct 9, 2022

By Hugo F F L

Oct 4, 2022

By Christopher J L

Feb 15, 2021

By victor312

May 7, 2017

By Daniel N

Nov 12, 2020

By Steven G

Jun 21, 2018

By James T

Jun 12, 2018

By Vivek N

Jul 7, 2017

By Leonardo L R

Sep 5, 2022

By Vinicius S

Sep 1, 2021

By Yechen H

Apr 21, 2020


May 31, 2020

By Xander L

Mar 2, 2017

By clemera

Jul 19, 2017

By Sam S

May 27, 2020

By Sijo X

Jan 5, 2022

By Robert S

Jun 11, 2020