I taught myself algorithms with the Algorithm Design Manual by Skiena, and I strongly recommend it. The first half is an exposition on algorithms, and it is mercifully readable, fun, and short. The second half is a catalog of different algorithms. You don’t really read through it, but it is useful as a reference if you have a specific problem you’re trying to solve and you want a background on algorithms in that area.
Ask HN: I'm looking for a good book on the fundamentals of CS
41–50 of 190 posts
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#42I have a CS degree and I still really enjoyed reading through the 1st ed. of the first volume. I haven't looked at what was done with the material since then.
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#43Interested in what gets suggested here... There are a lot of "CS Course Online" type suggestions posted on HN, which are great - but for those of us with full time jobs and lives it's just a non-starter to approach that quantity of material. I'm also more of a hands on learner which is how I got to where I am - but at the same time I can appreciate and happily absorb a well written, thoughtful book... In other words,…
What we tend to think of as "basics" happen to be what the problems were 50 years ago in computer science. If you don't have machines, you study the theory. If you have a very simple machine, you study the solve time (big O notation type stuff, although with exponential growth that is becoming more, not less, important).
All this is to say if you want to study VR/AR, perhaps the most important aspect is the relationship between the view angle, and the object. You would need to know linear algebra, transforms, the effect on the viewpoint and so forth. Linear algebra is one version of "the basics".
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#44Earlier quoted context omitted.
Agreed. Are you aware of any recorded lectures / assignment sets for a course based on Sedgewick? I tend to suggest CLRS because the OCW lectures are so high-quality and most learners want at least the option of watching lectures.
Well, there's apparently one by Sedgewick himself. :-) https://www.youtube.com/watch?v=1QZDe28peZk&list=PLwwk4BHih4... I can't vouch for it, as I haven't watched them.
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#45For my CS degree, the two classes that were most useful foundations-wise were: 1. Learning how to prove things with math 2. "Baby compilers" machine code, building an assembler, building a simple MIPS compiler, regular expressions, parsing, etc There's a lot of other topics but those two really set the foundation. All algorithms class and data structures are best understood with a mathematical intuition. Not to menti…
> All algorithms class and data structures are best understood with a mathematical intuition. It's funny, I like to say I program by intuition. Trying to go through algorithms now, many years after college, makes me realize some math shortcuts really help, and I no longer have an intuition for that.
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#46For formal resources: You might like the Princeton Algorithms Coursera course: https://www.coursera.org/learn/algorithms-part1 SICP is an amazing book, but I HIGHLY recommend you follow along with a lecture video as the textbook was designed to go along with lectures for electrical engineering computer science students. Brian Harvey's lectures are fantastic: https://www.youtube.com/watch?v=4leZ1Ca4f0g&list=PLhMnuBfGe…
Harvey also has his own book, which is sort of an "intro to SICP". Available free online: https://people.eecs.berkeley.edu/~bh/ss-toc2.html
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#47Textbooks are the old way to learn, but sometimes old is gold. Use videos for faster learning though. It’s pretty much learning on cruise mode.
I'm pretty sure I can read at twice the speed that an average video is spoken.
And more importantly I can pause to think, re-read a sentence I didn't grasp and pace myself. All of these are far more cumbersome to do with video.
There my be entirely valid reasons to prefer videos. But I strongly contest the claim that videos are faster.
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#48Also as a non-popular opinion in this current age, I recommend you to learn how to implement your algorithms in C, rather than an easier to grasp programming language. Even if you are probably not not going to program in C in your future career, understanding how memory management works will give you an edge later.
Also given C's loose style, you will also get some skills in organizing your code in a language that doesn't impose a lot of obvious constraints to the way you write your code. You will be able to build your own conventions, and evolve them once you get more skilled. Seeing what others are doing is also important.
Good luck!
PS: Don't fall into the macro trap, you will never get out. (inside joke).
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#49I haven't used it myself but have heard good things about the resources here - https://teachyourselfcs.com
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#50It will take you on a journey from a lightbulb to assembly language. It’s extremely well written and I wish there were more books like it.