Live data from Hacker News

Algorithms, by Jeff Erickson

jeffe.cs.illinois.edu

201–210 of 245 posts

Re: Algorithms, by Jeff Erickson

#201
post #91

Does anyone have any impressions on how this compares to CLRS? ( https://en.wikipedia.org/wiki/Introduction_to_Algorithms )

In particular are there any new materials that has been invented or widely adopted since the older textbooks? For example, bloom filters were rarely taught maybe 10 years ago but probabilistic data structures are now pretty mandatory in a data structure course. Just wondering if there are sections in this book covering cutting edge stuff for people already familiar with traditional algo

Not so much in the book itself, but definitely in the "Director's Cut" notes on the book web site. I cover bloom filters and the like in my more advanced algorithms courses.

Teaching that material correctly (without the traditional magical thinking) requires serious comfort with probability, which unfortunately isn't early enough in the CS curriculum at Illinois to be used in our data structures and algorithms courses.

Re: Algorithms, by Jeff Erickson

#202

Earlier quoted context omitted.

Thank you very much for making your textbook available. Maybe having a separate set of problems for the online version, with solutions, would be appropriate? I have been wondering this for all freely available textbooks: have you ever thought about turning your book into an open source project? I see you already manage issues on GitHub, but how about managing the actual content there as well? Producing a printed book…

Yes, I have thought about making it into an open-source project, like Pat Morin did with his Open Data Structures textbook, or Boaz Barak with his Modern Complexity Theory textbook. (Both highly recommended, BTW.) But I'm hesitant to release the LaTeX source files in their current (rather grungy) form. Too much of a control freak, I guess. Maybe for the next edition. Also, the figures are all in a closed file format…

Thanks for the answer, and the pointer to those books! I hadn't really thought about the layout challenges.

Though I think the benefit would be less about just releasing the source, though the Open Data Structures book makes a compelling case for that, but fostering collaboration on the content. The books you mention have overlapping content and my heart really wants to join them in some glorious whole :)

Maybe that's crazy, the books clearly have different styles, but I feel like writing more advanced texts as extensions to an evolving intro book would be better for self-learners than just having the books stand alone.

FYI, the link to your course materials on http://opendatastructures.org/ seems to be broken now.

Re: Algorithms, by Jeff Erickson

#203
post #155

Jeff Erickson was my algorithms professor in 2012. He exemplifies the articulate, passionate educator that I wish I had for my other CS subjects. I recognize many of these notes having read them many times in preparation for quite difficult exams - a fun anecdote shared among people who've taken the class is the 25% credit given on any exam question just for writing "I don't know", effectively a reward for acknowledg…

He was my algorithms professor in ~1999, and he garnered identical praise from our cohort, too. His approach to demystifying recursion is perfect (Chap 1.2): "The Recursion Fairy will solve all the simpler subproblems for you, using Methods That Are None Of Your Business So Butt Out" Thanks for your teaching and for this project, Jeff!

I've tried a few approaches to explaining recursion ("just assume that it works", "trust yourself", "turn off your brain" (the latter of which is from Will Byrd)), but I like "Recursion Fairy" an awful lot. Might have to try that next time.

Re: Algorithms, by Jeff Erickson

#204

Great resource, though I wish it was available as an EPUB (or MOBI, or AZW3).

You can get an EPUB and MOBI versions from the Internet Archive (auto-converted from my uploaded pdf), but I can't vouch for its quality.

All the fonts are baked into the PDF, so it should be readable anywhere; if it isn't, please submit a bug report!

But if you're looking for a format that lets you reflow the text, by changing the margins or font or text size, you're out of luck. The only way to write something like that is to bake it in from the beginning. That's easy for pure text, but hard to impossible for technical documents with lots of displayed equations, big hard-formatted boxes of text (ie, algorithms), and the like.

(Boaz Barak managed it by writing his Modern Complexity Theory book entirely in Markdown. The mind boggles.)

Re: Algorithms, by Jeff Erickson

#205

Copyright question, the copyright page says draft published 12/29/2018, but the copyright is 2019; doesn't that mean somebody could have taken the work, published as their own as copyright 2018 on 12/30/2018 which would be earlier than the author's 2019 claim? I'm not a copyright expert by any means, but am always troubled when I see "Copyright $CURRENT_DATE" in electronic works, I thought it was supposed to reflect…

Oops. I'd say submit a bug report, but as of yesterday it become moot.

As others have said, the copyright notice is only a courtesy/reminder. I've held the copyright on all this stuff from the moment I started writing it (and distributing it) 20 years ago.

Re: Algorithms, by Jeff Erickson

#206

gonna take this opportunity to ask for advice: i have an MS in CS and i've gone through all of CLRS twice (yes really all of it and really twice - once for my grad algos class and once in prep for interviews - and i still don't have whatever intuition i need to be able to effortlessly do DP. it's honestly kind of maddening - mincut/maxflow, RSA, knuth-morris-pratt etc are all completely obvious to me and i can whip t…

Forget about efficiency for the moment and focus on discovering the underlying recursive problem. LOTS of people struggle with dynamic programming. But in my experience, 90% of the difficulty with dynamic programming is actually discomfort with recursion, which is why I talk about recursive backtracking first. Try reading Chapter 2. My goal in that chapter is to show the process of deriving recursive solutions---how…

> Recursion Fairy

I mentioned this elsewhere but figured I'd bring it up here since you're the author.

I've tried explaining recursion in a lot of ways like this, such as "just assume it will work", "trust yourself", and "turn off your brain". (The first two are paraphrases from Matthew Flatt, the latter is from Will Byrd.)

I think "Recursion Fairy" is my favorite way to phrase the same idea. I think there's something about the nature of invoking a sense of magic in the phrasing that might help people really believe that it's okay to just let the recursion do its thing and not think about it too much. I'll definitely be using "Recursion Fairy" when (if) I end up explaining recursion again.

Thanks for making your material available for free! Cheers!

Re: Algorithms, by Jeff Erickson

#207
I had the privilege of being an undergrad in Jeff’s class in the late 90s. IIRC, it was his first year teaching. On the last day of class he received a standing ovation. The average grade on the final exam was ~50%. And yet he received a standing ovation. He’s that good.

Re: Algorithms, by Jeff Erickson

#208
post #48

Earlier quoted context omitted.

> I graduated with a Comp.Sci bachelor with a similar GPA. Spent around 10 years as a programmer in the industry and came back to get into the masters program. I was almost laughed off (a good thing) stating I would have to do another bachelor. Can you expand on this? I'm similar right now. Want to go back and get my masters. Graduated in CS about 12 years ago. Mid 30's. What do you mean about having to do another ba…

My GPA was 2.37 and I would've had to take so many classes to increase my GPA up to the cut off point of 2.7 (B-). With 90 credits worth of classes, you'd need 90 credits at 3.0 (B average) to make up for the difference, or less if you get better grades and that means you're on the low end of what they accept. Now I presume if you did 2-3 semester with a B+/A- GPA, they would take that as testifying you can handle th…

My GPA 12 years ago when I finished was 3.5 I think. There about anyway. I figured you were referring more to the length of time you were out of school, not your GPA.

My mortgage is far north of $390, haha. I don't have or need a car though. I lease out my parking spot for $150/month or more. If I go and get accepted I'll have either work pay or try and see about scholarship or something. My brother and best friend got free rides through their master and Phd.

Re: Algorithms, by Jeff Erickson

#209

gonna take this opportunity to ask for advice: i have an MS in CS and i've gone through all of CLRS twice (yes really all of it and really twice - once for my grad algos class and once in prep for interviews - and i still don't have whatever intuition i need to be able to effortlessly do DP. it's honestly kind of maddening - mincut/maxflow, RSA, knuth-morris-pratt etc are all completely obvious to me and i can whip t…

Forget about efficiency for the moment and focus on discovering the underlying recursive problem. LOTS of people struggle with dynamic programming. But in my experience, 90% of the difficulty with dynamic programming is actually discomfort with recursion, which is why I talk about recursive backtracking first. Try reading Chapter 2. My goal in that chapter is to show the process of deriving recursive solutions---how…

i don't have a problem with recursion per se - certainly things like tree traversals (e.g. minimax) are very very obvious to me and for example just a couple of days ago i was thinking about AD for recursively defined functions - but optimal substructure (what i think CLRS calls overlapping subproblems) is what i have trouble with. anyway thank you writing the book - i look forward to reading it and getting yet another perspective.

Re: Algorithms, by Jeff Erickson

#210
post #98

Earlier quoted context omitted.

Thanks for this explanation. This is one of the things that popped out at me when I looked at the book page. The statement about not providing answers seemed quite dogmatic, and my initial reaction was, why? Turns out it's not so dogmatic, and there's a thoughtful and nuanced explanation. Perhaps you could include some of this on the book page, or provide a link to the explanation elsewhere.

Completely agree - being outside academia has apparently made me ignorant to a lot of the pitfalls to actually posting said solutions. Makes perfect sense when put this way. I also really appreciate the response from the author. I forget the gurus behind books like this often have a presence here on HN.

Not always the case though Prof. Erickson seems to be the exception
Post reply on HN