
Build a Modern Computer from First Principles: Nand to Tetris Part II - mkeyhani
https://www.coursera.org/learn/nand2tetris2
======
qubex
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.

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

------
bjelkeman-again
Does anyone have a recommendation for an electronics course that starts from
the basics, with real hardware, for some who did electronics at highschool,
but has forgotten essentially everything but some abstract knowledge. I'd
really want to be able to design simple stuff on a breadboard. I know there is
a ton of stuff out there, but where to start?

~~~
failsafe
6.002.1x "Circuits and Electronics 1: Basic Circuit Analysis" Based on 6.002
MIT Course
[https://courses.edx.org/courses/course-v1:MITx+6.002.1x_1+2T...](https://courses.edx.org/courses/course-v1:MITx+6.002.1x_1+2T2016/info)
1 of 3 part series

~~~
bjelkeman-again
Thank you

------
raz32dust
Highly recommend this course. I am a self-taught programmer with experience in
building infrastructure backends. But I had not done formal courses like OS,
computer architecture, networks etc. I was able to finish part 1 in a couple
of months with just 3-4 hours per week, and came out with a deeper
understanding of what goes within a computer. It also inspired me to do more
formal courses in some areas that I am more interested in. It is also a nice
ramp up if you want to do heavier courses while still working full-time
because almost everyone can afford 4 hours per week, but following a full,
formal course online (e.g, MIT OCW etc.) requires a lot more time and
discipline to be able to keep momentum and finish the course in good time.

------
lamby
My problem would be that as soon as my computer could play Tetris I wouldn't
do anything else...

------
xiaoma
This would be so good if it were available off of Coursera, which is
essentially a shake-down for certificate fees at this point. Nand2Tetris is a
fantastic course.

Back in its heyday 3 years ago, I did a ton of courses on Coursera. They
weren't perfect, of course. There was no higher-level coordination that could
lead to covering an entire 4-year degree's worth of material and it was hard
to match up courses from different institutions with different prereqs. It was
hard to find advanced courses in general and the enforced speed at which
content was expected to be completed sucked.

But the automated graders were great. I went through parts of many, many
courses before having to abandon them due to work pressures and I finished a
few, like the scala course and the fantastic automata course and some stuff
from Berkeley before they bailed and moved to edX. It wasn't ideal for adult
independent learners, but Coursera used to provide real value, especially for
introducing niche topics that wouldn't be available via OCW.

It's a pity they never figured out a business model that would fit what its
learners really wanted and just threw up a paywall instead.

~~~
coaxial
What paywall are you talking about? Unless I'm missing something, every course
I did on Coursera had the option of buying a certificate. But if I didn't want
to pay, I could follow and complete the course all the same; I just didn't get
the certification in the end. The contents were the same, the exercises were
the same, and the knowledge gained was the same.

~~~
xiaoma
That's how it used to be. How long ago was your last course?

They still let you watch the videos but generally don't let you take the
quizzes or submit assignments to the auto-grader anymore.

[http://cyrilandersontraining.com/2017/02/18/coursera-pay-
gra...](http://cyrilandersontraining.com/2017/02/18/coursera-pay-graded-
assignments/)

------
bogomipz
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.

~~~
dang
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.

~~~
qubex
” _Skating on a frozen mystery_ ” is a wonderful turn of phrase. Is it yours
or is it an idiom I haven't (yet) come across?

~~~
dang
I wouldn't say it's 'mine' but it just popped into my head.

------
theoutlander
This is a very exciting course. I would highly encourage some of us in
software who take everything for granted to take this course (incl. part 1).

------
hellbanner
NAND refers to NAND gates right -- does this course start from Hardware?

~~~
signa11
> NAND refers to NAND gates right -- does this course start from Hardware?

NAND does refer to NAND gates. no the course doesn't start from hardware. a
(java based) simulator is used to simulate the most fundamental building
block.

and then things go from there.

take a look at the following:
[http://www.nand2tetris.org/](http://www.nand2tetris.org/) for more
information.

------
liegroup
Just finished this course on Coursera; highly recommended.

------
madengr
Is it built with discrete logic or an FPGA?

~~~
khedoros1
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.

------
amelius
I'd like to see a course where they build alternative computers. I.e. not the
ones we are using now. I feel we are living too much in a monoculture.

~~~
qubex
What do you mean by ”alternative computers”? Analogue computers? Quantum
computers? Balanced ternary computers? Binary decimal computers? Non-Von
Neumann architecture computers? Harvard architecture computers? Parallel
computers? Single instruction set computers?

