Live data from Hacker News

Build a Modern Computer from First Principles: Nand to Tetris Part II

coursera.org

1–10 of 37 posts

Re: Build a Modern Computer from First Principles: Nand to Tetris Part II

#2
This course seems to be by the authors (and based upon) The Elements of Computing Systems, a truly marvellous introduction to computer architecture that holds the readers' hand as they construct a system from the hardware up. I cannot recommend it enough.

Re: Build a Modern Computer from First Principles: Nand to Tetris Part II

#6
post #4

Is it built with discrete logic or an FPGA?

I think you start by building the hardware inside a simulator. From the description in the first part of the course, you build things from the gate level using an HDL, working up to designing and building a CPU+RAM, programmable using "Hack" machine language, and an assembler so that you aren't stuck writing opcodes directly.

Part 2 starts from that assembly and goes into developing a higher-level object-oriented language called "Jack", then a compiler and operating system.

Re: Build a Modern Computer from First Principles: Nand to Tetris Part II

#7
post #2

This course seems to be by the authors (and based upon) The Elements of Computing Systems , a truly marvellous introduction to computer architecture that holds the readers' hand as they construct a system from the hardware up. I cannot recommend it enough.

My university's assembly course was based on this book. It was fantastic, the most I've learned in any class

Re: Build a Modern Computer from First Principles: Nand to Tetris Part II

#9
post #5

Does anyone know if part 2 is a new Coursera offering then? I looked through the FAQ and didn't see any mention of that, only that that part 1 and 2 are stand alone courses.

Part 2 didn't exist when I worked through the book and watched the Part 1 lectures a couple years ago, so presumably this is new. The big question is: do they actually take you all the way to Tetris? Surely it is their duty to deliver on the best course title of all time!

The book, btw, is a masterpiece for anyone unfamiliar with the material it covers—particularly for programmers like me who are comfortable with the language layers and up, but to whom the hardware and lower programming layers were a mystery. Getting a simple, but rich enough to be demystifying, understanding of the those layers by actually building them myself was (no exaggeration) a healing experience for me, and made me want to fly to Israel just to hug those guys.

For any programmer who never took courses like this or tinkered at the hardware level, and thus has that alienated feeling of skating on a frozen mystery their whole career, this book is the antidote. It's a classic of economy, given how short it is and how much it covers. Of course it gets through it all by oversimplifying, which you realize the moment you get to a chapter whose topic you already know. But it does get through it all, which is astonishing.

Re: Build a Modern Computer from First Principles: Nand to Tetris Part II

#10
post #9
post #5

Does anyone know if part 2 is a new Coursera offering then? I looked through the FAQ and didn't see any mention of that, only that that part 1 and 2 are stand alone courses.

Part 2 didn't exist when I worked through the book and watched the Part 1 lectures a couple years ago, so presumably this is new. The big question is: do they actually take you all the way to Tetris? Surely it is their duty to deliver on the best course title of all time! The book, btw, is a masterpiece for anyone unfamiliar with the material it covers—particularly for programmers like me who are comfortable with the…

I was considering it based on positive feedback for a bootstrapping project where cleanslate hardware, software, compiler, and/or interpreter are done simple as possible to mske root of trust. Far as hardware, I was looking at Forth, JOP (Java) or Wirth's RISC as lowest layer with simple language targeted to it.

You're endorsement adds extra corroboration it might be useful for that. Also, if they keep it simple, might be able to use the FOSS tools like Qflow and ABC.

Post reply on HN