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.
Offered By
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)
Hebrew University of JerusalemAbout this Course
Skills you will gain
- Computer Architecture
- Compiler Construction
- Compiler
- Operating System
Offered by

Hebrew University of Jerusalem
Ranked among the top academic and research institutions worldwide, the Hebrew University of Jerusalem is Israel's leading university and premier research institution. Serving 23,000 students from 70 countries, the Hebrew University produces a third of Israel’s civilian research and is ranked 12th worldwide in biotechnology patent filings and commercial development. The Hebrew University was founded in 1918 by visionaries including Albert Einstein, Sigmund Freud, Martin Buber and Chaim Weizmann. It is located on three campuses in Jerusalem and a fourth in Rehovot. Visit the website at http://new.huji.ac.il/en. Join our online learners community at https://www.facebook.com/groups/hujimooc/.
Syllabus - What you will learn from this course
Getting Started
Machine Language
Virtual Machine I: Stack Arithmetic
Virtual Machine II: Program Control
High-Level Language
Compiler I: Syntax Analysis
Reviews
- 5 stars94.41%
- 4 stars4.68%
- 3 stars0.22%
- 2 stars0.22%
- 1 star0.44%
TOP REVIEWS FROM BUILD A MODERN COMPUTER FROM FIRST PRINCIPLES: NAND TO TETRIS PART II (PROJECT-CENTERED COURSE)
This is an excellent course giving good view of operating system, compiler and fitting the pieces together. Highly recommended
Superb course. Great presentation and course material. Projects are challenging but fun at the same time. Highly recommend for all levels of software developers.
I extremely enjoyed this course. It's very recommended to those how wanna know about how computers work indeed.
What a great way to learn from ground up.
It's the only course I know that takes you on the journey from CPU binary instructions all the way to compiler and OS.
Massive.
Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I purchase the Certificate?
Is financial aid available?
Do I have to take Nand to Tetris Part I before taking Nand to Tetris Part II?
How much computer science do I have to know before taking this course?
Which programming language do I have to use in order to complete the assignments in this course?
How many assignments do I have to submit in order to pass the course?
More questions? Visit the Learner Help Center.