geekhack

geekhack Community => Off Topic => Topic started by: intelli78 on Wed, 27 August 2014, 21:20:35

Title: Nand2Tetris - build your own CPU - available on Coursera starting 4/11
Post by: intelli78 on Wed, 27 August 2014, 21:20:35
I am about to start self-study of the Nand2Tetris course. It's a course that starts with the teaching of NAND gates and culminates in building a full, software-simulated CPU. Students create everything along the way, e.g., memory chips, ALU, compiler, etc etc. All the way to a working machine that can run Tetris.

It seems like a really great thing. I wish it had been offered at my university.

Short video:
Long video (worth it if you want to know more):
Homepage: http://www.nand2tetris.org/
Textbook: http://www.amazon.com/dp/0262640686/

Have any of you guys done this course? How did you like it?
Title: Re: Nand2Tetris - epic CS 101 course
Post by: riotonthebay on Wed, 27 August 2014, 21:50:03
I know of a number of people who have done it, and they've all given positive reviews. If your goal is to understand how computers work, it's a very neat way to do so.
Title: Re: Nand2Tetris - epic CS 101 course
Post by: Smasher816 on Wed, 27 August 2014, 23:27:13
That seems.... AWESOME!

Edit: Do you need to buy the book or can you just look here? http://www.nand2tetris.org/course.php. It seems like the programs used and source code is also available.
Title: Re: Nand2Tetris - epic CS 101 course
Post by: intelli78 on Thu, 28 August 2014, 02:28:35
That seems.... AWESOME!

Edit: Do you need to buy the book or can you just look here? http://www.nand2tetris.org/course.php. It seems like the programs used and source code is also available.

You have to buy the book if you want the readings for Ch. 7-13.
Title: Re: Nand2Tetris - epic CS 101 course
Post by: Smasher816 on Thu, 28 August 2014, 04:15:03
That seems.... AWESOME!

Edit: Do you need to buy the book or can you just look here? http://www.nand2tetris.org/course.php. It seems like the programs used and source code is also available.

You have to buy the book if you want the readings for Ch. 7-13.

Ahhh. So there is a catch.
Title: Re: Nand2Tetris - epic CS 101 course
Post by: intelli78 on Thu, 28 August 2014, 04:58:00
The book is like $29, I think it's pretty fair :p
Title: Re: Nand2Tetris - epic CS 101 course
Post by: intelli78 on Mon, 08 September 2014, 13:14:35
So I'm on ch.4 now. So far, I've already built all the basic logic gates out of Nand, plus multiplexers and demultiplexers, an ALU, RAM chips of all sizes, etc. It's really a lovely book and software package.

Also, I would strongly recommend Code by Charles Petzold as a prereq to starting this course.
Title: Re: Nand2Tetris - epic CS 101 course
Post by: demik on Mon, 08 September 2014, 13:49:31
Thought this was a counterstrike tutorial
Title: Re: Nand2Tetris - epic CS 101 course
Post by: exitfire401 on Mon, 08 September 2014, 13:51:39
The book is like $29, I think it's pretty fair :p

I torrented the book when I took it and purchased it about halfway through. Ended up liking it as a resource quite a bit.
Title: Re: Nand2Tetris - epic CS 101 course
Post by: Smasher816 on Mon, 08 September 2014, 14:24:36
The book is like $29, I think it's pretty fair :p

No, I agree. I was just curious how the payment model worked.

So I'm on ch.4 now. So far, I've already built all the basic logic gates out of Nand, plus multiplexers and demultiplexers, an ALU, RAM chips of all sizes, etc.

For added fun make a nand gate in minecraft and chain them together. Build it up to an ALU + some RAM, and you got yourself an in game calculator. Might be an interesting way to help visualize everything and understand what is going on inside today's processors. Sadly I don't think you could extend it to the second half of the book because there is no GUI way to fill out a program (maybe with some mods).

(http://hydra-media.cursecdn.com/minecraft.gamepedia.com/3/39/NANDgate.png)
Title: Re: Nand2Tetris - epic CS 101 course
Post by: intelli78 on Fri, 03 April 2015, 05:00:54
Bumping this because the first half is running on Coursera this month: https://www.coursera.org/course/nand2tetris1

I can't recommend this highly enough for anyone who wants to understand how computers work. Amazing course.
Title: Re: Nand2Tetris - epic CS 101 course
Post by: nathanrosspowell on Fri, 03 April 2015, 05:49:12
Thanks for the bump, never seen this before. I'm a programmer by trade so I have a good understanding of computers already but the building aspect seems very appealing!
Title: Re: Nand2Tetris - epic CS 101 course
Post by: intelli78 on Fri, 03 April 2015, 06:22:07
Thanks for the bump, never seen this before. I'm a programmer by trade so I have a good understanding of computers already but the building aspect seems very appealing!

That's good, not sure that most programmers do  :p
Title: Re: Nand2Tetris - epic CS 101 course
Post by: nathanrosspowell on Fri, 03 April 2015, 07:32:52
Thanks for the bump, never seen this before. I'm a programmer by trade so I have a good understanding of computers already but the building aspect seems very appealing!

That's good, not sure that most programmers do  :p

Most programmers don't even understand programming  ;)

Title: Re: Nand2Tetris - epic CS 101 course
Post by: tbc on Fri, 03 April 2015, 17:43:04
Thanks for the bump, never seen this before. I'm a programmer by trade so I have a good understanding of computers already but the building aspect seems very appealing!

That's good, not sure that most programmers do  :p

Most programmers don't even understand programming  ;)

weird isn't it?

most programmers can't even use windows properly.

EDIT:

I already studied this stuff pretty thoroughly before.  if you're into how CPUs work, Anandtech is the best online resource bar none

Title: Re: Nand2Tetris - epic CS 101 course - available on Coursera starting in a few days
Post by: intelli78 on Sat, 04 April 2015, 19:31:52
Bumping this because it's that great.
Title: Re: Nand2Tetris - epic CS 101 course - available on Coursera starting in a few days
Post by: noisyturtle on Sat, 04 April 2015, 19:46:53
This is like one of those technical conversations at work when a programmer is talking to me about implementing/fixing something and I just keep nodding my head in agreement saying things like "Yeah, that should work." and "Sounds like a plan, let me know if you need anything." and then I walk away not having a goddamn clue what they were talking about.
Title: Re: Nand2Tetris - epic CS 101 course - available on Coursera starting in a few days
Post by: belac on Sat, 04 April 2015, 20:01:35
Bumping this because it's that great.
thanks for the bump. i signed up for it and very interested to see how it goes.
Title: Re: Nand2Tetris - epic CS 101 course - available on Coursera starting in a few days
Post by: intelli78 on Sat, 04 April 2015, 20:03:42
Nice!

I'll repeat another earlier recommendation: if you're really new to all this stuff, read Charles Petzold's Code prior/during. It covers most of the same concepts but with a much gentler learning curve. Still, you can do Nand2Tetris from scratch without it, just a lot faster paced if you're starting from 0.
Title: Re: Nand2Tetris - epic CS 101 course - available on Coursera starting in a few days
Post by: belac on Sat, 04 April 2015, 20:09:55
The first time you made that recommendation is what originally piqued my interest in the course. I've read Petzold's Code a couple of times and love the style and the book.
Title: Re: Nand2Tetris - epic CS 101 course - available on Coursera starting in a few days
Post by: noisyturtle on Sat, 04 April 2015, 20:17:52
I'll repeat another earlier recommendation: if you're really new to all this stuff, read Charles Petzold's Code prior/during. It covers most of the same concepts but with a much gentler learning curve. Still, you can do Nand2Tetris from scratch without it, just a lot faster paced if you're starting from 0.

The sad part is that CODE was required reading for my CS 121 class and we actually went over everything that that guy talked about, but like most things in college I retained about 10% of what I learned in that class. The only thing I really remember is how to make a PCB with an ink jet printer.
Title: Re: Nand2Tetris - epic CS 101 course - available on Coursera starting in a few days
Post by: intelli78 on Sat, 04 April 2015, 20:21:37
The first time you made that recommendation is what originally piqued my interest in the course. I've read Petzold's Code a couple of times and love the style and the book.

In that case, you'll do fine w/ Nand2Tetris & will love it. It's so awesome to be able to read the simulator output and actually understand how what all the 1s and 0s are doing, and know you made it happen.

I'll repeat another earlier recommendation: if you're really new to all this stuff, read Charles Petzold's Code prior/during. It covers most of the same concepts but with a much gentler learning curve. Still, you can do Nand2Tetris from scratch without it, just a lot faster paced if you're starting from 0.

The sad part is that CODE was required reading for my CS 121 class and we actually went over everything that that guy talked about, but like most things in college I retained about 10% of what I learned in that class. The only thing I really remember is how to make a PCB with an ink jet printer.

Lolz!
Title: Re: Nand2Tetris - epic CS 101 course - available on Coursera starting 4/11
Post by: intelli78 on Tue, 07 April 2015, 17:12:38
Anybody else signed up?
Title: Re: Nand2Tetris - build your own CPU - available on Coursera starting 4/11
Post by: trizkut on Tue, 07 April 2015, 18:09:11
I signed up.  I should have enough free time to do this  ;D
Title: Re: Nand2Tetris - build your own CPU - available on Coursera starting 4/11
Post by: byker on Tue, 07 April 2015, 18:40:44
In the middle of exams right now, but might look at this during the summer if I have more time! :)