I've been programming in languages (C/C++/Ruby/Java/HTML) for some time now and am currently entering my senior year of high school. I'm taking AP Comp Sci, which uses Java, but want to have a better grasp of some of the more "math-y" concepts in computer science, like hashes/algorithms/etc. For someone who has done basic object oriented programming but doesn't know any of the algorithmic aspects of computer science (And wants to know them before he goes off to college), what books would you recommend that cover algorithms and the more mathematical stuff in a way that's easy for your rudimentary programmer to understand?

Some examples I've heard given are "Introduction to Algorithms" and "Structure and Interpretation of Computer Programs"; I was going to go with Introduction to Algorithms but it's around 80 dollars new, and I'm not sure if SICP has any of the algorithmic math I want to pursue. Haha, I guess all I'm asking for is personal opinions from people that have studied algorithm books and can give honest personal opinions.

Any and all feedback is appreciated; Thank you!


| cite | improve this question | | | | |
  • 2
    $\begingroup$ Introduction to Algorithms is so popular that if you search for it online you might be surprised. Of course, there would not be any need to do it if they asked a fair price for the book. $\endgroup$ – Yuval Filmus Jul 15 '15 at 17:22
  • 2
    $\begingroup$ In terms of free online resources, I'd recommend Jeff Erickson's lecture notes (jeffe.cs.illinois.edu/teaching/algorithms/all-algorithms.pdf). They're very well written and there's a fair amount of overlap between them and Introduction to Algorithms. $\endgroup$ – jschnei Jul 15 '15 at 20:56
  • $\begingroup$ I'm just starting to check out those lecture notes; so far they seem pretty good. Thanks jschnei! $\endgroup$ – Neil Flodin Jul 16 '15 at 7:14
  • 1
    $\begingroup$ Check out the "related" column in the sidebar. FWIW, here are my recommendations. $\endgroup$ – Raphael Jul 16 '15 at 8:19

Check out From Mathematics to General Programming by Alexander Stepanov and Daniel E. Rose.

Beginning with the basics of number theory you progress up to dealing with content that is typically covered in a 3/400 level abstract algebra course (depending on the institution).

| cite | improve this answer | | | | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.