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! Save on skills that make you shine with 40% off 3 months of Coursera Plus. Save now

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

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

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.56%
- 4 stars
4.49%
- 3 stars
0.37%
- 2 stars
0.18%
- 1 star
0.37%
Showing 3 of 534
Reviewed on Jun 23, 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 Apr 7, 2022
Great course in every way. I can't imagine how much efforts Noam, Shimon and their team have taken. Everyone who's trying to understand computer in a more comprehensive way should take this course.
Reviewed on 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.




