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)
Ends soon! Grow on your schedule with big savings on Coursera Plus. Save 40% for 3 months.

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)
Instructor: Shimon Schocken
Top Instructor
73,662 already enrolled
Included with Learn more
536 reviews
Skills you'll gain
Tools you'll learn
Details to know

Add to your LinkedIn profile
There are 9 modules in this course
Instructor
Offered by
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Learner reviews
- 5 stars
94.58%
- 4 stars
4.47%
- 3 stars
0.37%
- 2 stars
0.18%
- 1 star
0.37%
Showing 3 of 536
Reviewed on Jun 24, 2020
Amazing course. Learnt a lot, and goes in depth, in a very elegant manner, making concepts seem simple, and at the same time, difficult.
Reviewed on Mar 6, 2023
Takes time to complete. This is a gem of a course!Highly recommended if you have a CS background but haven't taken a similar computer architecture course in college.
Reviewed on Oct 4, 2024
A great course. It is not easy, assignments are hard and take time. But in the end -- learn so much. Thank you, professors Schoken and Nisan!




