Kartikay

Nand To Tetris

Nand To Tetris is a popular course that you can take online in which you build a fully functional computer from scratch using just Nand gates, a type of basic logic gate used to build computers. Sounds unbelievably cool yet I was skeptical of the course first.

You are not building an actual computer, with an actual operating system, a compiler, and an assembler. You are not designing actual hardware components. It's just toy examples discarding the actual complexity of these software stacks and designs. All these factors made me look down on it.

I always considered it something non cse graduates needed because they missed the necessary topics and rigour as part of their curriculum. A sort of watered-down version of the actual thing.

A friend recommended this to me and said I was wrong. So I gave the course a shot. And to be honest I was surprised. It helped me connect some big-picture dots I did not know I was missing. Also, the depth is surprising and good enough for the most part.

It also just hammers in things you already know. For example, I know the hardware-software tradeoff. If your hardware supports a simpler instruction set then you have to compensate for that up in the software stack at some point. But actually doing it really drove it home. With this and many other things. Something that is not possible when you build compilers, os, or even hardware in their own silos as part of college or your own learning of each subject.

Obviously, you are not making a computer close to its real-world complexity. That is not the point of the course. The point is to touch upon everything with enough depth to have a solid base. Mainly it acted as a great jump-off point for me to satisfy my curiosity and jump into random rabbit holes online. This in my opinion is the no 1 quality of this course.

Overall it was fun. And I would recommend it to everyone even if you have done a rigorous degree. Try it. It will teach you some things you did not know or just didn't connect the dots on. And who knows, you might find yourself at 2 am down in some rabbit hole about the latest optimisations in compilers. Good times.