geohot / fromthetransistor

From the Transistor to the Web Browser, a rough outline for a 12 week course
3.89k stars 381 forks source link

Do nand2tetris #28

Open blacknand opened 2 months ago

blacknand commented 2 months ago

I opened a issue a couple of months ago asking if I should do this or nand2tetris. I started nand2tetris and said I would talk about my progress here, first off I think nand2tetris was and is the best option between the two. It is completely free, teaches the theory in very minimal details first and then gives you a project to do next. You have 12 projects to build a modern computer capable of running Tetris or any other equivelant program.

There is a lot of content on nand2tetris, including a book, the website, a Q&A forum that is active and you can also get additional support on platforms like Stack Overflow and Reddit. I would seriously recommend doing nand2tetris, becasue Hotz is never going to do anything further with this. In the YouTube stream where this course was created, he does not mention any plans to develop it further. The whole point is to struggle yourself, and that is why I think nand2tetris is the better option. It has much more structure, has support online if you get stuck, teaches you more than this course since you go down even lower into logic gates and build your way up. If you heart is set on doing this course, then I would recommend doing this course after nand2tetris, since this course is so insanely huge and each week (apart from week 1) could be broken down into their own respective courses.

I also think its worth noting that Hotz himself did not self teach all of this, in his first apperance on the Lex Frideman podcast, he talks about how he learnt about how to build an OS in Haskell at univeristy, the same with compilers etc. Just keep that in mind if you want to do this course without any prior experience or knowledge.

Here is nand2tetris. I am having a great time with it and already feel like I have learnt a lot, also the nand2tetris HDL is so similar to Verilog that you can just do the implementations in Verilog anyway.

kvrushifa commented 2 months ago

Thank you very much for suggesting nand2tetris. Sounds very promising! 🙂

andrewhummus commented 1 month ago

https://github.com/andrewhummus/fromthetransistor working on it here! feel free to contribute to code/documentation as i develop this!

blacknand commented 1 month ago

https://github.com/andrewhummus/fromthetransistor working on it here! feel free to contribute to code/documentation as i develop this!

Have you managed to find any Verilog documentation?