News for hackers. Stuff that matters.
Re:From Nand to Tetris: Building a Modern Computer from Firs... by sfifs on Saturday November 24, 2018 @03:58AM (#18521165)
I just completed part 1 building a computer from gates and writing an assembler and am in the middle of part 2 where you develop compilers and a stack based virtual machine.

For someone like me who did not study computer science but has been a self taught programmer in the Analytics spacefor over a decade, this has been a tremendously useful and accessible introduction to basic CS concepts and very eye opening in terms of what's actually happening under the hood. This course is highly recommended if you've not studied CS though be aware the second part of the course where you develop compilers is quite intense though being an online course, you can pick your pace.

I wonder if there are similar courses on CS algorithms for people who didn't study CS in college.

Re:From Nand to Tetris: Building a Modern Computer from Firs... by barry-cotter on Saturday November 24, 2018 @04:22AM (#18521228)
https://www.edx.org/micromasters/ucsandiegox-algorithms-and-...

Comprises the following courses

Algorithmic Design and Techniques Data Structures Fundamentals Graph Algorithms NP-Complete Problems String Processing and Pattern Matching Algorithms Dynamic Programming: Applications In Machine Learning and Genomics Graph Algorithms in Genome Sequencing Algorithms and Data Structures Capstone

Re:From Nand to Tetris: Building a Modern Computer from Firs... by tankenmate on Saturday November 24, 2018 @08:27AM (#18521893)
Very little of which is communicated in any way to help someone learn how compilers work.

In the actual history of computing very few good compilers were ever written by algorithm and data structures professors; most were written by people who had a pragmatic drive to get something done. Theory is good but without practice it is little more than navel gazing. Theory and practice need each other.

The reason that nand2tetris works so well as a course is that it gives you a concrete example of how all these algorithms and data structures are combined in order to turn an abstract description (the source code) into a running program that also includes how that computing is achieved through compiler, assembler, linker, run time, operating system, isa, and finally in transistors.

The true issue it gets to is that most programmers have very little understanding of how computers actually work, and when things break they just do high order guessing to get things working again rather than truly understanding what went wrong.

Re:From Nand to Tetris: Building a Modern Computer from Firs... by madengr on Saturday November 24, 2018 @09:07AM (#18522058)
As an EE undergrad, I had to design a TTL based processor, program the microcode, etc. I have no idea how a compiler works, or anything above assembly.
Re:From Nand to Tetris: Building a Modern Computer from Firs... by thanosnose on Saturday November 24, 2018 @11:51AM (#18522825)
> I wonder if there are similar courses on CS algorithms for people who didn't study CS in college.

This might be a bit more challenging and less hand holding than the nand2tetris course but if you are up for it, why not go with the best? Sedgewick Algorithm book has been one of the standard algorithm books in universities for a long time.

https://algs4.cs.princeton.edu/home/

https://www.coursera.org/learn/algorithms-part1

https://www.coursera.org/learn/algorithms-part2