Feb 18, 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.
Oct 12, 2017
Really good course. Great explanations of everything and the tools provided make it very easy to implement some very high levels ideas. Would recommend this to anyone interested in how a CPU works
автор: Jon A•
May 30, 2017
A truly wonderful course to learn how computers *actually* work from the fundamental level of digital logic circuits all the way up to assembly language, CPUs and RAM. You get to design your own circuits and programs, and test your designs using a wonderful set of free tools developed especially for this course. I would recommended getting the textbook and studying the lecture notes in addition to the video lectures. This course is challenging but oh so rewarding! It is truly an accomplishment when you can figure out how to get something to work! It almost feels like you're actually building your computer system. I LOVE this class. Looking forward to Part II :)
автор: Nenad L•
Jul 11, 2017
I have bought the book and worked it along this course for the Part 1. Part 2 wasn't available, so I continued working the book and managed to create my own language, compiler (both layers) and quasi-OS.
The amount of supporting facilities is unbelievable: several simulators, code validators, visualisation aids describing how data flows through the machine, etc...
The authors are very down-to-earth lecturers who were able to create a simple yet powerful machine, explain to the audience and then make the audience recreate that very same machine themselves.
I can freely say that this course, paired with the book, moved my understanding of computers the next level.
автор: Olyanich D•
May 26, 2017
It is the great course that explains how to build a computer starting from one simple logic element. Although in Institute, I learned how to create the combination and the sequential logic elements such as Mux, Dmux, ALU, Flip-Flop, Memory and other, and I self-learned how to program in assembler for processors kr580vm80 (i8080), Z80, x86, PIC and AVR controllers I did not know how to build the CPU and entire computer at all. Of course, this knowledge helped me passed the course faster than in six weeks, but after finishing it I have in my mind the entire picture of creating the computer. I thank the authors of the course for their great work.
автор: Kgotso K•
Mar 01, 2019
No other course could give me a basic understanding of computer architecture in just 6 weeks. This is one of the most creative computer science classes mainly because of the teaching approach. The faculty's combination of hands on assignments and software aids make this the easiest way to demystify the black box that are computers. The only challenge with the course is that the workload is heavy for newbie programmers and the student is advised to seek out YouTube videos to see real circuits in action. Even with the weaknesses in course design, I would rate this a 5 star and highly recommend it to those that can give 10-20 hours a week.
автор: Frank G•
Jan 25, 2017
First Class Systems-approach Introduction to Computing! Together with the corresponding Textbook "Elements of Computing Systems: Building a Modern Computer from First Principles" published by MIT Press, this is probably THE BEST and most comprehensive course and Intro available - for both self-educated and degree-educated Knowledge-Seekers - into the vast subject of Computer-Science/Electrical-Engineering. Very practical and hands-on, but still conveying the relevant theory. A great second Computer-Science course, e.g after the traditional "Introduction to Computer Science" and before a dedicated Algorithms module.
автор: Prayag S•
Oct 03, 2017
This course is THE best course that you can take online. That is if you are interested in understanding and mastering the fundamentals of a modern computer. The course is organised in an excellent manner requiring no prior knowledge whatsoever. Though you do require a hunger to learn and persistence to do the exercises and projects. Simon and Noam are excellent teachers. They teach the concept in a such a manner that not only you understand the concept, they instill a desire to learn more. The teaching aid be it slides, tools and exercises are perfect. You will not go wrong if you take the course.
автор: Fabrice L•
Jan 02, 2018
Incredible course!! I still can't believe that I was able to design all these hardware chips, including a CPU in 6 weeks, knowing nothing about it in the first place. It was exactly what I was looking for, a good introduction to hardware without having to take a 6 month class on Computer Architecture.
The material is extremely well done (book, lectures, assignment), the only part I liked less was the forum, mentors reply often by repeating what was said in the lecture which is not helpful.
I learned a great deal, I understand more computer, and I believe I will help me writing better code.
автор: Curt B•
Mar 04, 2018
While it might be argued that this course is analogous to "building a computer" in a similar way that "painting by numbers" is creating art (meaning that the author's knowledge of computer architecture is akin to the printed and numbered cells; it obscures a level of complexity the student is exposed to, but not required to generate from first principles) there is plenty to learn (and do!) in this short course. It was fun to learn about how transistors help us execute modern life, and have a chance to 'discover' the layers of complexity between Nand-gates and high level programming languages.
автор: Apar B•
Jan 10, 2018
I would highly recommend this course for anyone interested in any level of abstraction between Computer Architecture to Logic gates. I would highly recommend it to senior undergrad or first-year Masters Computer Science/Engineering students. Being a Masters student of Computer Engineering, I loved this course. The only problem is that we cannot use any industrial HDL (like Verilog) for most of the projects. The syntax for the HDL was a nightmare, especially the sub-bus parts. However, any programming language may be used to build the last project, Assembler. I did it in C++.
автор: Samuel P K•
Mar 19, 2020
Excellent course! I have an undergrad degree in Electrical and Computer Engineering and I still feel that I got a lot out of it. It was a great refresher on what goes into making a computer. I took a similar course to this one in college. My college course was a bit more technical but it didn't cover as much breadth or do nearly as good a job of making the connections between the layers of abstraction. I preferred this one much more. I especially appreciated the perspective section at the end of each unit. It always tied a lot together and answered any lingering questions.
автор: Shriharsh M•
Oct 21, 2018
Thoroughly enjoyed learning how a computer and its hardware parts are built. The course content is very close to reality and one gets to develop a computer from Nand gates. This might sound outlandish but the beauty of this course is that it shows how a complex concept can be explained with sufficient details using hardware simulation. Of course a lot of details are ignored about the hardware world and focusing on such nitty-gritty isn't needed. Thanks Shimon and Noam for building this course! I recommend this course to everyone who works on software or hardware.
автор: Joseph B•
Jan 07, 2017
By constructing a computer from its foundational components, this course demystifies how computers work. You gain insight into how your code is executed by the CPU, how the CPU manipulates memory, even how it works with additional hardware components such as your monitor and keyboard. After going through the first part of the course, you'll gain a deeper understanding of how the code you write runs on hardware. If you are the curious sort and enjoy peeling back layers in order to figure out how things work, you should definitely go through this course.
автор: Ali A•
Nov 18, 2016
I love this course, I think it's one of the best I did in the past few years, most of the content are material that I read over twenty years ago, but the style and projects in this course bring the subject to another level.
The course is fun, and by the end of it I had a working virtual computer from the components I built, running machine code from the assembler I wrote. The course is fun, it's clear, simple to follow, and the instructor are great.
The truth is I felt a little sad that the course ended :). Looking forward for the second part of it.
автор: Tim S•
May 14, 2018
This was a fantastic learning opportunity, even as someone with a degree in computer science and many years experience as a professional in the field. I loved the way this course taught from first principles and encouraged you to think about the abstraction layers behind a computer system. While the chip and assembler created here are somewhat primitive, the course leaves you understanding the principles behind more sophisticated hardware. Huge credit to the team for the thoughtful exercises: they caught me out repeatedly!
автор: Heiko M•
Jan 10, 2017
Just the course I always wanted to take. I've been working for some 5 years in IT as a programmer with a background in mathematics. Since my education in university did not cover the low level details of how things really work deep down, I was always befuddled by the mystery of computers. This course helped to clear things out for me! There is a bit less mystery to it now, but even more admiration. Thank you very much Noam and Shimon for making things so accessible. I am looking forward to building a compiler in part II!
Oct 14, 2019
Great course that teaches you the basics of the technology from which computers are built. The instructors carefully walk you through the concepts such that the problems feel relatively easy and simple compared to some other courses. If you like challenges, you might not like this approach, but I think it's appropriate for this course (as an introductory course) so that you can pick up the main points and not get frustrated from getting stuck on problems you don't have sufficient knowledge/experience to handle.
автор: Himanshu T•
Jan 01, 2017
I am eternally grateful for everything you both faculty Shimon Schocken, Noam Nisan taught me.Really before the commencement of course I was thinking that this course will be boring.But after I started watching videos, the ultimate guidance and effort done by all the members of this course inspired me a lot.The course content is awesome. I am very happy that I build the computer. It was really amazing experience.Once again millions of thanks to teaching and non teaching staff.
Oct 05, 2018
This introductory course to computer architecture is just excellent.
It gives you a clean overview of the hardware and software architecture of a computer (albeit, a simple one). Everything you need is provided to you, the content (given in multiple forms) is clear and concise, the exercises give you just enough challenge to enjoy the reward of completing them. It just hits the mark between complexity, understanding and entertainment.
Thousand thanks to the professors/authors for giving this course!
автор: Sana D•
Apr 02, 2017
This is a brilliant course for those who want to learn how computers really work. It takes a bottom up approach to build a computer all the way from logic gates to the CPU and the complete architecture. You get a tremendous sense of satisfaction running a program on a computer that you built.
This course is especially useful for people interested in working in computer architecture or systems, but I would recommend it for everyone studying or working in computer science and engineering.
автор: Thassilo H•
Apr 19, 2016
This is one of the best CS courses I've taken so far. It's great to see how easy it is to build a simple yet powerful computer on your own, and it has given me for the first time the feeling of really understanding what's going on at the low level.
The complete course is centered about the project of building a computer, so there are no quizzes and only few theoretical background lectures here. If you want a hands-on introduction to computer engineering, this is the way to go.
автор: Nidal F•
Mar 30, 2020
I think this is the greatest course ever!
Now, I can understand how the hardware layers play that divine role in our computers!
I've understood how machine languages are designed with the hardware, and a lot more!
Maybe the best thing this course introduces is: You conquer new obstacles every week which are totally new knowledge to you = you gain a lot of self confidence as well as this inner feeling that you are born to do something GREAT!
Can't wait to start the 2nd part!
автор: Aye A M•
Mar 17, 2016
Simply awesome. By no means does this course teach you everything about building a computer but it introduces you to the subject better than any other course that I have ever come across. It gives a voluminous amount of detail about low-level computing but the instructors took great pains to do so in a very accessible and easy manner. Thereby, the magic of low-level computing is made available for everyone regardless of who they are. Beautiful.
автор: Akhil K•
Aug 16, 2017
I think this course is very well made from the ground up. Although it might be difficult for starters in the beginning, what you end up in the end is a computer that you could program anything on, which is very cool. This is a great course for starting out in the world of Computer Science, and is something different compared to other Programming 101 or Computer Science 101 courses. I would love to see how the second part of the course holds!
автор: Raghav T•
May 23, 2020
Honestly, Nand to Tetris is not just a course, it's a beautiful journey. Like a beautifully made game, it assumes nothing about the learner, teaches them the wise ways of playing the game, and delicately guides the player through an infinite world, never making it seem for once that you have no direction. I made my final submission with a heavy heart, but definitely look forward to embarking on this journey again with the second part.
автор: Ryan M•
Jan 19, 2018
I am a programmer without a background in computer science and the closest I have gotten to the machine has been compiled languages like Java. Because of this, everything that happened below the language I was using was a complete mystery and black box. This course clearly and concisely led me through all the steps of computing that were previously completely opaque to me. I cannot recommend this course enough. Cheers!