3 ms·
Course is available for free on Coursera: Part 1 - https://www.coursera.org/learn/build-a-computer https://www.coursera.org/learn/build-a-computer (hardware pr
by miobrien 6y ago
Course is available for free on Coursera:
Part 1 - https://www.coursera.org/learn/build-a-computer https://www.coursera.org/learn/build-a-computer (hardware projects/chapters 1-6)
Part 2 - https://www.coursera.org/learn/nand2tetris2 https://www.coursera.org/learn/nand2tetris2 (software projects/chapters 7-12)
- bmitc 6y agoThe downside is that part two is the software stack and the software grader only supports Python and Java.
- rbanffy 6y agoIt's reasonable to support one great programming language along with Java, which is kind of a market standard.
- bmitc 6y agoI 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.
- rbanffy 6y agoThey'd need to maintain trusted sandboxed environments for every supported compiler/interpreter. That's a lot of work.
- fantod 6y agoNot 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.
- bmitc 6y agoOh 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?
- fantod 6y agoYeah, I guess the FAQ is out of date. Think you should be to sign up for free if you want to check for yourself. I highly recommend it! And F# would be a pretty great language for this course, I think. Looks like no Racket (or any Lisp) support, though.
- bmitc 6y agoYea, I have already done the first course part and then the assembler, which is in F# and linked in one of my other comments. Thanks for letting me know about the extended grader support.
- mikevm 6y agoDo the lectures offer anything on top of just reading the book?