Live data from Hacker News

Ask HN: How do I choose the right resource to learn CS fundamentals?

news.ycombinator.com

31–40 of 93 posts

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#31

For 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…

Second the recommendation to read Algorithms over CLRS; it’s significantly nicer in part because it uses actual code with good variable names instead of its own strange psuedocode dialect.

udi-manber’s “introduction to algorithms: a creative approach ” is one of my favorites (fwiw)

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#32

> I am attracted by the resources/online/books posted by courses in UCB/Princeton/MIT/Stanford/CMU. At the same time I get boggled down and overwhelmed that I have soooooooooo many materials to cover. I think you'd be better served by doing a lot of courses from the same institution. If you choose courses that were designed to fit together, you'll have a lot less wasted time from overlapping material or holes from mi…

>instead of repeating a slightly different version of what you've already learned

while I generally agree with your idea, a little counterpoint: it depends on a way you consume those materials. If you do that thoroughly, actually read and analyze source codes or examples, try things on your own as instructed, complete excercises and so on there is absolutely no point in doing multiple thins on the same topic. But if your preferred method is fast skimming, skipping some excercises and so on then skimming two or three books/videos/whatever on the same subject could make some sense. The latter method is very chaotic and is probably not the best idea to apply it for learning the fundamentals, but I just wanted to point out that such a learning technique does exist and sometimes makes sense, especially if just the general understanding is your goal.

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#33

For 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…

Second the recommendation to read Algorithms over CLRS; it’s significantly nicer in part because it uses actual code with good variable names instead of its own strange psuedocode dialect.

I didn't find the pseudocode to be a hurdle in CLRS. In fact, it was pretty useful to see some pseudocode shown in practice. What stung me in the book was how abstract it could get. It was clear that some of the authors wrote in a more approachable way than others when explaining the material.

Its also focused on how to solve problems than Sedgwick. Algorithms explains some elementary algorithms that noone is ever going to code themselves. CLRS teaches you what to look for in algorithms for solving particular problems.

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#34
post #25

I'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 difficult (not impossible) to go with the pace of the course. I do agree Malan is a great instructor.

In contrast, I like the MIT/Princeton/UCB courses since they use an easier language to start with and also introduce C in the later courses for systems programming.

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#35

For 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…

I think I might go with this recommendation, maybe watch the CS61B videos as and when necessary.

I did the intro course from the sedgewick and wayne from coursera along with their book and loved it. Would recommend it to anyone who likes a decent challenge while learning. The book is pretty dense.

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#36

Of the intro-level courses I'm only familiar with CMU's 15-112, which I took as my own intro to programming a few years ago [1], and UC Berkeley's CS 61A (from hearing friends talk about it and looking at their assignments). But given the choice between just those two, I would definitely go with 112. Compare the second homework assignments, which are supposed to be given after 2 weeks (~6 days) of instruction: 15-112…

I have found that it's easier to find all assignments/materials online for the later courses from UCB compared to CMU courses although I do find that the CMU courses to be at a much higher rigor than UCB.

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#37

Being self taught, I often wonder the same thing. I don't know that this is "THE ANSWER" but I was impressed by the job done here of curating a bunch of disparate CS materials (including some from the universities you mention) into some kind of structured learning approach https://github.com/jwasham/coding-interview-university As the url suggests, it's got an agenda about interview prep but the materials do not - the…

That's a very nice resource thank you very much.

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#38

For 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…

I did a similar thing with "The Algorithm Design Manual" by Skiena.

I really do not recommend videos/online classes for algorithms. The primary reason is that if you are learning them for the first time, there is a lot of information to get through and using the book format will force you to slow down and ensure you are learning things at your own pace.

I also highly recommend "Grokking Algorithms" as a easy primer. It seems a little "basic", but it really is a great way to quickly pick up the basics of algorithms, an a great refresher. I used it in parallel to TADM and helped me get unstuck a quite a few times.

http://www.algorist.com/

https://www.manning.com/books/grokking-algorithms

Re: Ask HN: How do I choose the right resource to learn CS fundamentals?

#40
If you have a good verification method to see that you learned enough for a successful interview, it doesn't really matter which course you use.

Going through hackerrank tasks is a great way to practice. Also Cracking the Coding Interview and online interview questions.

Post reply on HN