3 ms·
Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) https://www.coursera.org/learn/build-a-computer https://www.courser
by betamaxthetape 7y ago
Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)
https://www.coursera.org/learn/build-a-computer https://www.coursera.org/learn/build-a-computer
and then part 2:
https://www.coursera.org/learn/nand2tetris2 https://www.coursera.org/learn/nand2tetris2
[Both courses are free]
These are fantastic courses, by far the best MOOCs I have ever taken. I went into them knowing nothing about computer architecture, and by the end of the first course I was able to design a fully-working digital computer in Logisim.
While other courses consist of lectures + text content, with Nand2Tetris the course is practical. The authors have developed a complete software system to allow you to complete the course:
* A simplified hardware programming language to design the ALU, CPU, clock, RAM, etc..
* A hardware simulator and debugger to allow you to test the hardware that you develop
* An assembler for the assembly programs you write for the computer
* A compiler for the higher-level programs you write for the computer
I'm probably banging-on about this course more than I reasonably should, but that's just because I enjoyed the course so much!
- hawkjo 7y agoI have to also mention nandgame.com here. Similar idea, but all presented as an interactive, browser-based game. Start with nand gates and build up to a functioning computer. You never get to tetris, but it's great and super easy to start playing/learning. Delightful.
- polycaster 7y agohttp://nandgame.com/ http://nandgame.com/ You‘re welcome.
- credit_guy 7y agoOh man, a big Thank You. I kind of know where I'll be spending 10-12 hours in the next few days.
- zerr 7y agoOh, I was hoping the development of an assembler and a compiler was a part of the course. How useful would that course be for someone who knows about computer architecture, has coded in assembly, understands how compilers work, etc...? Alternatively, would this course be useful/accessible for complete beginners, e.g. mid/high schoolers?