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)Hebrew University of Jerusalem
About this Course
Skills you will gain
- 5 stars94.36%
- 4 stars4.55%
- 3 stars0.43%
- 2 stars0.21%
- 1 star0.43%
TOP REVIEWS FROM BUILD A MODERN COMPUTER FROM FIRST PRINCIPLES: NAND TO TETRIS PART II (PROJECT-CENTERED COURSE)
It was a bit superficial. Homework helped to practice the basics. I prefer more detailed and more deep lectures.
Amazing course. Learnt a lot, and goes in depth, in a very elegant manner, making concepts seem simple, and at the same time, difficult.
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.
This is an excellent course giving good view of operating system, compiler and fitting the pieces together. Highly recommended
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.