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.51%
- 4 stars4.43%
- 3 stars0.42%
- 2 stars0.21%
- 1 star0.42%
TOP REVIEWS FROM BUILD A MODERN COMPUTER FROM FIRST PRINCIPLES: NAND TO TETRIS PART II (PROJECT-CENTERED COURSE)
It really deepened my understanding of computers and helped me to be a better programmer. It is more challenging than the first part.
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.
Great course! it was hard for me but I finished with a feeling of accomplishment.
Thanks to the authors.
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.
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.