返回到 Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)

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. This is a self-contained course: all the knowledge necessary to succeed in the course and build the various systems will be given as part of the learning experience. The only prerequisite is knowledge of programming at the level acquired in introduction to computer science courses. All the software tools and materials that are necessary to complete the course will be supplied freely after you enrol in the course. This course is accompanied by the textbook "The Elements of Computing Systems" (Nisan and Schocken, MIT Press). While not required for taking the course, the book provides a convenient coverage of all the course topics. The book is available in either hardcopy or ebook form, and MIT Press is offering a 30% discount off the cover price by using the discount code MNTT30 at https://mitpress.mit.edu/books/elements-computing-systems. The course consists of six modules, each comprising a series of video lectures, and a project. You will need about 2-3 hours to watch each module's lectures, and about 15 hours to complete each one of the six projects. The course can be completed in six weeks, but you are welcome to take it at your own pace. You can watch a TED talk about this course by Googling "nand2tetris TED talk". *About Project-Centered Courses: Project-centered courses are designed to help you complete a personally meaningful real-world project, with your instructor and a community of learners with similar goals providing guidance and suggestions along the way. By actively applying new concepts as you learn, you’ll master the course content more efficiently; you’ll also get a head start on using the skills you gain to make positive changes in your life and career. When you complete the course, you’ll have a finished project that you’ll be proud to use and share.

状态:Object Oriented Programming (OOP)
状态:Hardware Architecture
课程小时

精选评论

SD

5.0评论日期:Nov 28, 2020

Part 2 is really more challenge than part 1, but it's worthy. What a course ! I have learned a huge of knowledge of CS for 4 months. Thanks Simon and Noam

PV

5.0评论日期: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.

CH

5.0评论日期:May 29, 2019

Best ever computer science course I've taken. Though it takes me 7 months to complete both parts, it really worth it!

ZN

5.0评论日期: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.

MK

5.0评论日期:Dec 3, 2020

It really deepened my understanding of computers and helped me to be a better programmer. It is more challenging than the first part.

NH

4.0评论日期: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!

AS

5.0评论日期: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.

MH

5.0评论日期: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.

AD

5.0评论日期:Sep 1, 2018

One of the best computer science courses I ever had. You start understand how actually things like heap, stack, etc. works.

OM

5.0评论日期:Jan 12, 2021

Outstanding ! What a journey and what a remarquable course. An awful lot of work but very gratifying in the end !

MS

5.0评论日期: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.

LP

5.0评论日期:Jan 8, 2020

Course materials and project assignment are well-organized, demanding but also motivating. I felt so lucky to have taken both of the courses and really enjoyed them! Thanks!

所有审阅

显示:20/161

Roshan Bellary
5.0
评论日期:Sep 3, 2018
Brian Cunnie
5.0
评论日期:Sep 9, 2018
Ross Meredith
5.0
评论日期:Sep 5, 2018
Mohammad Ghaffari
5.0
评论日期:Feb 25, 2017
Jun Zhang
5.0
评论日期:Oct 13, 2017
Sean Eulenberg
5.0
评论日期:May 14, 2019
Marcel Studer
5.0
评论日期:Jan 15, 2018
Richard Moscone
5.0
评论日期:Mar 19, 2017
Ben
5.0
评论日期:Sep 9, 2019
Jesse Ward
5.0
评论日期:Jun 13, 2017
Sai Krishna Garlapati
5.0
评论日期:Aug 17, 2020
mebusy
5.0
评论日期:Jul 30, 2019
Max Herrmann
4.0
评论日期:Jul 27, 2017
Ravindra Vijayendra
5.0
评论日期:Jul 16, 2017
James McMurray
5.0
评论日期:Aug 20, 2018
Graeme Gets
5.0
评论日期:Mar 29, 2019
Akash P Rajan
5.0
评论日期:Oct 6, 2020
Maryan H
5.0
评论日期:Feb 11, 2021
Praveen Venkatesh
5.0
评论日期:Jun 23, 2020
Andrew Denisov
5.0
评论日期:Sep 2, 2018