Chevron Left
Back to Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)

Learner Reviews & Feedback for Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) by Hebrew University of Jerusalem

4.9
stars
3,494 ratings

About the Course

What you’ll achieve: In this project-centered course* you will build a modern computer system, from the ground up. We’ll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn - in the most direct and constructive way - how computers work, and how they are designed. What you’ll need: This is a self-contained course: all the knowledge necessary to succeed in the course and build the computer system will be given as part of the learning experience. Therefore, we assume no previous computer science or engineering knowledge, and all learners are welcome aboard. You will need no physical materials, since you will build the computer on your own PC, using a software-based hardware simulator, just like real computers are designed by computer engineers in the field. The hardware simulator, as well as other software tools, will be supplied freely after you enroll in the course. Course format: 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 5-10 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....

Top reviews

AI

Jun 13, 2021

Undeniably one of the best computer science courses. The advertising isn't false! This course permanently changed my perspective on hardware and software along with the relationship between the two...

MM

Feb 17, 2017

An excellent course provided by phenomenal professors! Everything is broken down into simple, easily understandable portions, and leaves you with a clear idea how to proceed to solve a given problem.

Filter by:

26 - 50 of 1,058 Reviews for Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)

By Hussain K

Apr 18, 2023

Amazing! This Course will be always in my top list. Before starting this course, I was thinking like how can i build a computer on my own Computer. But the course instructor Shimon Schocken and Noam Nisan make it so simple and easy to understand. And in the end of this course Wollahh!! i created my First Computer Called HACK Computer.

By Lucas F d S

Jun 7, 2020

Great course! The instructors make it sound really easy, and when you see the implementation working It really motivates you. The community is really great too, lots of people to help and assist you. No need for any background in Computer Science or Programming to attend and finish this course.

By Jesse W

Jun 19, 2016

Computer system internals, hardware and software architectures, concept of abstraction, divide and conquer method, the fun of building hardware, and the fun of writing programs, all combined into this course, in an organised way, I can't think of a better course and a better teaching!

By Mitchell K

Aug 13, 2022

Coming from a high level programming backgroun with a degree in games programming, this course was amazing to fill in the gaps in my knowledge, and solidify low level computer science fundamentals.

By Evgeny K

Apr 3, 2021

Impressive work had been done by tutors. For me computers were always a black box and now i see logic behind it and to certain extent i can create one from the set of logic gates.

By pushpankar k p

Mar 8, 2021

This is one of the best courses available on the internet. Projects are just at the end of comfort zone. Thank you professor.

By Abdulaziz S

Jun 10, 2020

Really Amazing Course! This course gives a proper insight of how things work on the most fundamental level!

By MORIYA P V

Jun 22, 2020

It's been a really nice course. I'm a EE undergrad and I did know most of it but it was a fun experience.

By Jianye S

Mar 8, 2021

It's the best course that I've ever seen. And I'm hoping to participte in the second part of the course!

By VISHAARAD B

Jun 10, 2020

Best Course Ever! Watch its Ted Talk for all you need to know about it. They deliver on their promise.

By Kachireddy S R

Jun 10, 2020

It was really good. It gave me a very good understanding how a computer is built from scratch.

By 你的我怪

May 31, 2019

any CS people should take this course. the way it delivers is just amazing.

By Younes B

Apr 4, 2021

Thank you a lot for taking the making the blackbox clear !

By Zhang Y

Jun 20, 2023

这是一门很棒的课程,满足了我对计算机底层架构的好奇心,非常感谢两位老师!!!

By Yishai L

Mar 8, 2021

Excellent course!

By Dan M

Apr 11, 2016

Good starting point but very slim on the 'why's and the hardware is quite unlike anything you'd find in real life. In addition, I feel they leave too much unsaid and rely on visual comprehension far too much. I had to use the book to figure out the last two weeks. Overall, I did learn the more practical sides of hardware that other textbooks failed to convey. If they would add a Status register and break 'branching' into a separate instruction then I'd be happy with the CPU.

By Gerardo

Jul 10, 2017

The program takes you step by step into the development of a functional model of a computer. It delivers everything it promises and is very well integrated. I put 4 stars because 4 and half is not possible, and I feel that you need to be a little bit familiar with logic and computers in order to do progress at the rate the course requires, because although every chapter is formidably explained, it can take much more time for anyone to fully understand the concepts.

By Sonya L

Jan 8, 2019

Took more work and effort than expected (except for the last project which was surprisingly easy going), and although there were (many) moments of frustration, there was always a sense of accomplishment at the end. Everything ties together in a very satisfying way. But I would prefer if the course provided more support than just the forum for questions and queries, because I found it hard to find help when I most needed it.

By Gercino A N J

Dec 8, 2016

The course is good. I just do not give five stars because we have to pay to atempt pass.

By The A

Oct 23, 2020

explanations could have been better

By Joshua R

Feb 28, 2016

I submitted homework for week 1. I get an email telling me I did not submit. Then week two the course makes references to material not covered in week 1. it looks like a week is missing between week 1 and week 2?

By HAYDAR

Nov 1, 2022

The program is buggy, you will spend more time trying to troubleshoot the language than doing the questions.

By Isaac S

Jun 22, 2017

The link www.nand2tetris.org is down always . I can't download data from website.

By Ju H K

Aug 16, 2020

Great course to go over the basics of how a computer works up to the assembler. This is a great introduction to computer organization (hardware) as it goes through various logic gates and builds up to sequential circuits to be able to implement an ALU, memory which then can be used to build a CPU. The course goes over their own variation of HDL and assembly which is a great introduction to those who are not familiar with it. The assembly may look different from what some may be used to but it's designed to be simple for those without computer science background to be able to learn. In fact the entire course is designed to be simple for anyone with enough dedication to be able to build a computer. Therefore, there are some simplifications and "axioms" that are established (i.e. you don't learn about how transistors work in depth, nor are you expected to implement various flip flops and chips that may be a bit too complex).

I particularly like this course as it helps refresh my memory of what I learned when I was in undergraduate. This is a project centered course which contrasts to my undergrad where it was more theoretical (though we did have lab components which was in some sense more in-depth on implementing certain chips). I never tried building a computer theoretically from what I learnt in University and the computer architecture we studied was either too complex or way too time consuming for the average student to implement virtually. This computer architecture was designed just right.

By Ian B

Nov 16, 2021

Building on their superb and seemingly timeless book (published 2005), Shocken and Nisan deliver a tightly organised and engagingly presented sequence of lectures to guide us on the journey from logic gates to assembler via computer architecture (and you can go further in their second course, all the way up through high-level languages to operating systems). Their painstaking examination of the detailed material, on camera, and their reflections on it in the Perspectives sections, add depth and colour to the already brilliant expositions in the book. This is the way computing should be taught and learned, in a succession of demanding practical exercises connected to underlying theory. You can see the value of abstraction when you can put it to use. Rather than resort to mumbo-jumbo or geekiness, they keep the central sense of wonder about the power of the computer at the centre of attention.

I found HDL hard to learn and write, but am glad to have had the opportunity to try. It was hard for me to fathom how sequential circuits worked, and I found it hard, as someone used to procedural programming, to get my head round the declarative nature of HDL: it's not one damned thing after another you have to think about, but every damned thing at once!