In particular, I like 'Category Theory for Programmers' by Bartosz Milewski as a great theoretical foundation to functional programming.
Ask HN: How do I choose the right resource to learn CS fundamentals?
71–80 of 93 posts
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#72Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#73Earlier quoted context omitted.
This is a poor suggestion, IMO. OP is trying to get into CS, so they need something that's clear and approachable. By your own admission, it's possible even for experienced people to be stumped by TAOCP. It's simply too vast and too difficult for a beginner to finish. This fetishizing of difficult things doesn't help anyone, least of all people trying to get into the field. The failure mode to watch out for here is n…
Knuth is clear and approachable. It's just not dumbed down. The theory that a beginner should 'finish' requires dumbing down. And then they haven't really finished anything. At it's core, your position infantalizes the OP instead of treating them as a full fledged intellect simply lacking knowledge. Nand2Tetris is a great resource. There are lots of great resources: Let's build a compiler , SICP , Paradigms of Artifi…
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#74CS50 hits the sweet spot of excellent online material, large online community and fun.
1: https://www.edx.org/course/cs50s-introduction-to-computer-sc...
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#75For Algorithms, I know the amount of materials available online can be overwhelming, so here's an alternative: get a copy of "Algorithms, 4th Edition" [1] from Sedgewick and Wayne, and work through it cover to cover, ignoring any other resources. This book has very little in the way of prerequisites, and it covers a lot of fundamental algorithms and a little bit of Math, but it is a lot more accessible and didactic t…
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#76+ The foundation of computer science is Knuth's The Art of Computer Programming . Everything else is footnotes. Knuth is hard. And easy. And everything in between. You won't understand all of it. But you'll have to be ok with not understanding all of CS anyway. Nobody does. You can spend your time searching for a silver bullet. Or you can just read the manual. Knuth is the manual. + Bach's The Design of the Unix Oper…
The foundation of computer science would be the work done by the likes of Alan Turing and Alonzo Church. They established foundations of CS before Knuth was born.
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#77For Algorithms, I know the amount of materials available online can be overwhelming, so here's an alternative: get a copy of "Algorithms, 4th Edition" [1] from Sedgewick and Wayne, and work through it cover to cover, ignoring any other resources. This book has very little in the way of prerequisites, and it covers a lot of fundamental algorithms and a little bit of Math, but it is a lot more accessible and didactic t…
Thank you!!!
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#78The two courses that give the basic CS foundation needed are: nand2teris.org and cs50.net See if you can solve all the projects & assignments in these courses. These cover a lot of ground. Once you are done with these two courses end to end, you will get a fair understanding of many of the computing big ideas.
If the student knows almost nothing, these are really good as they cover the most simple things. If you already programming, they may be too basic.
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#79Earlier quoted context omitted.
This is a poor suggestion, IMO. OP is trying to get into CS, so they need something that's clear and approachable. By your own admission, it's possible even for experienced people to be stumped by TAOCP. It's simply too vast and too difficult for a beginner to finish. This fetishizing of difficult things doesn't help anyone, least of all people trying to get into the field. The failure mode to watch out for here is n…
Knuth is clear and approachable. It's just not dumbed down. The theory that a beginner should 'finish' requires dumbing down. And then they haven't really finished anything. At it's core, your position infantalizes the OP instead of treating them as a full fledged intellect simply lacking knowledge. Nand2Tetris is a great resource. There are lots of great resources: Let's build a compiler , SICP , Paradigms of Artifi…
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#80I'm surprised you didn't list CS50. That's one of the best intro to programming / CS courses around. You can enroll for free at: https://www.edx.org/course/cs50s-introduction-to-computer-sc... I never went to University and didn't take a lot of CS courses but since I create web development video courses I wanted to be able to reference other courses to folks who asked so I took CS50 a few years ago to vet it. It was…
CS50 is good, but I personally don't like it. I prefer MIT/Princeton/UCB intro courses comparatively. CS50 starts off with C for 3-4 weeks IIRC. Then moves on to python/sql/webdev. Not only is this fast paced, but it also covers a lot of breadth in a short time. For a self learner who has a full time job without proper support structure like peers and office hours which you get in the on campus version, it is difficu…