Live data from Hacker News

The Elements of Computing Systems, Second Edition

mitpress.mit.edu

51–60 of 101 posts

Re: The Elements of Computing Systems, Second Edition

#51
post #48

Course is available for free on Coursera: Part 1 - https://www.coursera.org/learn/build-a-computer (hardware projects/chapters 1-6) Part 2 - https://www.coursera.org/learn/nand2tetris2 (software projects/chapters 7-12)

The downside is that part two is the software stack and the software grader only supports Python and Java.

It's reasonable to support one great programming language along with Java, which is kind of a market standard.

Re: The Elements of Computing Systems, Second Edition

#52
post #50
post #9

Gah! So mad I just bought the first edition!

I have seen books suffer from the "second-system syndrome." http://www.neilgunton.com/doc/?o=1mr&doc_id=8583

I wonder what might be some good examples of that. IME, it's mostly been college textbooks which suffer from being refreshed for the sake of encouraging new purchases (killing the used market), often by someone other than the original authors and editors.

Of course, some AD&D fans would say everything past 2nd edition might be an example of it.

Re: The Elements of Computing Systems, Second Edition

#53
post #48

Course is available for free on Coursera: Part 1 - https://www.coursera.org/learn/build-a-computer (hardware projects/chapters 1-6) Part 2 - https://www.coursera.org/learn/nand2tetris2 (software projects/chapters 7-12)

The downside is that part two is the software stack and the software grader only supports Python and Java.

Not when I took it! I did most of those assignments in Haskell (a choice I came to regret). Double-checking and it seems the grader supports the following languages: C, C++, C#, Elixir, Erlang, Go, Haskell, Java, Lua, Node.js, Perl, PHP, Python 2.7, Python 3, Ruby, Rust, Scala, Swift.

Re: The Elements of Computing Systems, Second Edition

#54
post #51
post #48

Earlier quoted context omitted.

The downside is that part two is the software stack and the software grader only supports Python and Java.

It's reasonable to support one great programming language along with Java, which is kind of a market standard.

I didn’t say it wasn’t reasonable, but it is a downside for those wanting to do something different.

I’d prefer they tested emitted code, that way you can use anything you want.

Re: The Elements of Computing Systems, Second Edition

#55
post #53
post #48

Earlier quoted context omitted.

The downside is that part two is the software stack and the software grader only supports Python and Java.

Not when I took it! I did most of those assignments in Haskell (a choice I came to regret). Double-checking and it seems the grader supports the following languages: C, C++, C#, Elixir, Erlang, Go, Haskell, Java, Lua, Node.js, Perl, PHP, Python 2.7, Python 3, Ruby, Rust, Scala, Swift.

Oh really? I was going off their own FAQ since the graded items requiring paying, and I didn’t want to do it if I couldn’t use the languages I wanted, namely F# and Racket.

From the FAQ:

> > Which programming language do I have to use in order to complete the assignments in this course?

> We expect learners to submit assignments in any version of Java, or Python. We will assume that you have basic programming ability in these languages, including a basic ability to understand and write simple object-based programs.

So is their FAQ out of date I guess?

Re: The Elements of Computing Systems, Second Edition

#58

Is there any place to purchase a digital copy of this? I want to read it, but don't like paper copies. Besides the kindle edition, I'm looking for an ePUB or PDF mostly.

The current edition can be read for free, check the "Projects" section, at https://www.nand2tetris.org/course. There is also the Kindle version of the current edition.

Re: The Elements of Computing Systems, Second Edition

#59
post #50

Earlier quoted context omitted.

I have seen books suffer from the "second-system syndrome." http://www.neilgunton.com/doc/?o=1mr&doc_id=8583

I wonder what might be some good examples of that. IME, it's mostly been college textbooks which suffer from being refreshed for the sake of encouraging new purchases (killing the used market), often by someone other than the original authors and editors. Of course, some AD&D fans would say everything past 2nd edition might be an example of it.

> past 2nd edition

Case in point: the vomit-inducing colorful print of the 3rd edition of Axler's Linear Algebra Done Right.

Re: The Elements of Computing Systems, Second Edition

#60
post #5

Buy this book if you're a programmer who wants to know how computers work. I read the first edition in high school, and if I had to choose either this book or my entire undergrad CS education, I'd pick this book.

This book follows more along the lines of the coursework for a computer engineering degree than a computer science degree-- especially at institutions where CS lives under the math or IT department as opposed to the engineering department. There can be a lot of overlap between the two, particularly on the software side of things, but CS curricula generally completely omit the electrical engineering portions of a CE c…

Their video course [1] is supposedly based off the book. In the course they state that they are not focused on (nor do they have expertise) in the "electrical engineering" aspect of computer systems.

In the first part of the course they focus on computer "hardware" but only on the logical aspects of it (i.e. logic gates etc.). So it probably is considered part computer engineering (though the second part does focus on software) but I wouldn't say it really overlaps with electrical engineering.

[1] https://www.nand2tetris.org/

Post reply on HN