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.



Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)
Instructor: Shimon Schocken
Top Instructor
Access provided by Nvidia
70,957 already enrolled
(529 reviews)
Skills you'll gain
Details to know

Add to your LinkedIn profile
See how employees at top companies are mastering in-demand skills

There are 9 modules in this course
What's included
2 videos1 reading1 programming assignment
What's included
10 videos1 reading1 programming assignment
What's included
11 videos1 reading1 programming assignment
What's included
10 videos1 reading1 programming assignment
What's included
11 videos1 reading1 peer review
What's included
10 videos1 reading1 programming assignment
What's included
12 videos1 reading1 programming assignment
What's included
14 videos1 reading1 programming assignment
What's included
4 videos
Instructor
Offered by
Why people choose Coursera for their career




Learner reviews
529 reviews
- 5 stars
94.51%
- 4 stars
4.53%
- 3 stars
0.37%
- 2 stars
0.18%
- 1 star
0.37%
Showing 3 of 529
Reviewed on Oct 14, 2020
One of the best classes I've ever taken, better than most of my college classes. It was fantastic every step of the way.
Reviewed on Feb 5, 2022
It was a fun course, yet it's super involved! Please be sure to have a solid understanding of computer programming and computer science before you take this course!
Reviewed on Feb 11, 2021
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.
Explore more from Computer Science
Hebrew University of Jerusalem
University of California San Diego
Microsoft
Princeton University