Not proving solutions to textbooks seems to be a common theme in mathematics and theoretical computer science. It makes it difficult for those outside of the traditional classroom to learn the material. Instead textbook writers seem to have this adversarial approach against readers, thinking they’ll “cheat themselves” if they look up solutions or attempt to verify their work. Experts make mistakes, beginners would presumably make even more mistakes. Without a feedback mechanism beginners can’t truly know whether their logic is impeccable or if they have a subtle error that they themselves cannot detect. They could easily fool themselves that they have correct understanding.<p>Due to that I will not recommend this current book to any colleagues.<p>If you want an example of a fellow hacker news member that did things right, check out
<a href="http://joshua.smcvt.edu/linearalgebra/" rel="nofollow">http://joshua.smcvt.edu/linearalgebra/</a><p>He provides solutions and lecture videos... this is truly a democratization approach to learning and a model that other academics should follow.
From <a href="https://jeffe.cs.illinois.edu/teaching/algorithms/hwex.html#solutions" rel="nofollow">https://jeffe.cs.illinois.edu/teaching/algorithms/hwex.html#...</a><p>><i>Please do not ask me for solutions. With very rare exceptions, I will say no, even if you are an instructor. I recognize that my stance limits the utility of these materials, especially for self-learners, but I'm trying to optimize the learning experience of my own students at Illinois. The point of homework is not to solve that particular homework problem, but to practice solving a type of problem and get honest feedback on your progress. I've found that when solutions are available, my own students are much more likely to rely on them, rather than trying to figure out the problems themselves, which means they get both less practice and less honest feedback, which means they do worse on exams and in the course overall.</i><p>Interesting. I was asked multiple times for solutions to my self-pub ebooks that I relented. I didn't add them initially as I wanted readers to solve by themselves or ask for help if needed (and I did get a few mails, saw one of them asked on stackoverflow as well).<p>See also <a href="https://github.com/tayllan/awesome-algorithms" rel="nofollow">https://github.com/tayllan/awesome-algorithms</a> for more learning resources, practice problems, visualizations, etc.
Good ‘ole CS 373, had Erickson back in 2002 and it’s def. a defining course in CS at UIUC.<p>The answers to a lot of these are now google-able; you’ll learn more by researching than being spoon fed the solution!<p>Imagine those of us students back then when google wasn’t a verb yet trying to solve these problems!
FWIW, I really liked the sections of this book that I've read. In particular, I read the sections on "Minimum Spanning Trees" and "Fast Fourier Transform" and found them the clearest treatment of the subject that I've seen.
Prof Erickson once told me I look like Richard Feynman - 20 years later, it looks like that may be the peak achievement of my software engineering career.
Doesn't hurt to have Possible Solutions to the exercises to questions that don't have singular, definitive answers.
I wouldn't even add answers to questions on definitions as those can be referenced in the text itself or the notes taken down.
But filtering through a map can be done in many ways and a Possible Solution is an interesting way to appreciate a different point of view.
But that means the learner, self-taught or otherwise, still should have the discipline to at least to arrive at solution themselves before reviewing the author's selected one(s).
Here's a previous post on HN with lots of discussion: <a href="https://news.ycombinator.com/item?id=18805624" rel="nofollow">https://news.ycombinator.com/item?id=18805624</a>
Can't find the exact policy reference, but I remember that if you don't understand Jeff's problems(in HW or exams), you could write "I don't know" and get 25% of the grades for the problems<p>not exact reference towards the policy: "In the table below, green scores are above 95% and red scores are below 25% (equivalent to "I don't know" on every page); those outliers were excluded when computing statistics and cutoffs." - <a href="https://courses.engr.illinois.edu/cs473/fa2012/" rel="nofollow">https://courses.engr.illinois.edu/cs473/fa2012/</a>
Love the style already. Here's a footnote from Chapter 1, and a reason while I'll continue to (very leisurely) read this book.<p>> When I was an undergraduate, I attributed recursion to “elves” instead of the Recursion Fairy,
referring to the Brothers Grimm story about an old shoemaker who leaves his work unfinished
when he goes to bed, only to discover upon waking that elves (“Wichtelmänner”) have finished
everything overnight. Someone more entheogenically experienced than I might recognize these
Rekursionswichtelmänner as Terence McKenna’s “self-transforming machine elves”.
I'm a developer, but don't have the foggiest idea of how to prove something by induction. Is this the kind of book I should look at? Or is there something that should be taken as a prerequisite?
it's a bit of a shame that the comments here have descended into a quibble over the availability of the solutions to the questions for each of the sections. All the while overlooking just how excellent the source material is written and also overlooking the fact that this is an entire textbook on college level algorithms that is being gifted away for free instead of locked behind a 150-200 dollar paywall at the bookstore.<p>to Jeff Erickson: Thanks for the book
I think there are more than enough books to learn algorithms now. But there are a very little amount of resources that teach how to use them to solve problems.
I remember spending hours sometimes trying to solve a single problem but I did not look up the solutions just worked my way through the problem sets.<p>Algorithms definitely helped me prove code without explicitly writing it
I’d recommend downloading at least the frontmatter, which has great information on prerequisites and matching (free) texts, plus an annotated bibliography of texts at the level of the book itself.
> <i>Algorithms by Jeff Erickson (Free algorithms textbook)</i><p>Please, change title to: <i>"Algorithms by Jeff Erickson, free book (2019)"</i>