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
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessSkills you will gain
- Computer Architecture
- Compiler Construction
- Compiler
- Operating System
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessOffered by
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.36%
- 4 stars4.59%
- 3 stars0.41%
- 2 stars0.20%
- 1 star0.41%
TOP REVIEWS FROM BUILD A MODERN COMPUTER FROM FIRST PRINCIPLES: NAND TO TETRIS PART II (PROJECT-CENTERED COURSE)
Amazing course. Learnt a lot, and goes in depth, in a very elegant manner, making concepts seem simple, and at the same time, difficult.
It really deepened my understanding of computers and helped me to be a better programmer. It is more challenging than the first part.
It was a bit superficial. Homework helped to practice the basics. I prefer more detailed and more deep lectures.
Superb course. Great presentation and course material. Projects are challenging but fun at the same time. Highly recommend for all levels of software developers.
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.






