Live data from Hacker News

Algorithms by Jeff Erickson

jeffe.cs.illinois.edu

71–80 of 162 posts

Re: Algorithms by Jeff Erickson

#71
post #49

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

> 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. I agree that worked problems make a text much more valuable and useful; even students in a class may spend a lot of time doing self-study. And for self-study, without worked problems the book is only useful as a reference while working proble…

> If you give homework that takes multiple hours each week

I think I found the problem. Educators have such an obsession with homework and stealing more class time from their students they can't imagine different models where having the answers in front of you doesn't detract from learning.

Have you never used flash cards? My answers are on the back and yet...

Re: Algorithms by Jeff Erickson

#72
post #49

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

It's kind of insulting to assume that students are unable to decide what's good for them. If someone wants to cheat, he/she will do it anyway. Not providing solutions harms people that really want to learn the material.

Re: Algorithms by Jeff Erickson

#73
post #72
post #49

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

It's kind of insulting to assume that students are unable to decide what's good for them. If someone wants to cheat, he/she will do it anyway. Not providing solutions harms people that really want to learn the material.

The author of this particular book made his choice based on his experience teaching the course. While, of course no one can stop you from criticising his choice, on any day, I'd respect his opinion more than that of an angry internet commenter as he (the author of the book) has more invested in it _and_ has given free resource to the community after putting a lot of work into it.

Re: Algorithms by Jeff Erickson

#75
post #49

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

> 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. I agree that worked problems make a text much more valuable and useful; even students in a class may spend a lot of time doing self-study. And for self-study, without worked problems the book is only useful as a reference while working proble…

Is it really cheating. If the goal is to learn the material using someone else's solution is incredibly helpful and can expedite the learning process. If there is a process to master a skill in 20 hours and another way to master it in 5, only the fool would chose the 20 hour process.

When I took electrodynamics the first semester I worked through all the problems myself. I started on Sunday would ask questions Monday and Tuesday where I was stuck and the process took me 20ish hours each week. When I took the second semester, a couple of the other students had the solution manual. I would attempt the problem, then when I got stuck, I would consult the solutions manual, understand what the solution manual was doing, then go back to my work and understand the problem. It would help me track down errors I made in algebra. I ended up spending about 10 hours a week on the problem sets, understood the material better (as well as the material from other classes) and got better grades (on both tests without solutions and homework).

I used to tutor kids in physics and one of my students went from a C at midterm to an A because there was real time feedback for the homework he is trying to do so he was able to grok the material. Worked out solutions to the homework problems is the next best thing.

When I was teaching myself machine learning, it was the same deal, I started working through other peoples worked out problems, it helped me grow my programming skills and learn machine learning more effectively. I would take their code break it down, add comments to lines I didn't understand on first reading and ran the programs.

Learning from solutions is one of the best ways to learn. And it is stupid to have to do twice as much work for the homework problems because some kids might cheat themselves. The alternative for students who have gotten behind or don't know the background is that they don't learn the material because you don't have . The solutions manual gives them an opportunity to catch up.

Re: Algorithms by Jeff Erickson

#76
post #49

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

I took this course a while back. Before every exam, students would create a massive crowdsourced google doc and attempt many problems in the book / fodder. Granted, we had TAs to review our results - but even they don't access to a solutions manual. But the docs were filled with comments, many different approaches and alternative viewpoints. The class discussion board was very active. I've never seen that sort of large scale student-led collaborative atmosphere in any other class.

In that sense, I agree that this book isn't designed for self study. Every homework was done in groups of 3 and probably took a combined 30-60 manhours a week to complete. It would be pretty hard I'd imagine.

The reality is - if you're a developer and someone asks you to develop a program that does x, you rarely have the privilege of having a complete source code waiting in the end to compare against. But you build it iteratively. You do a bit of research. Sometimes you ask for feedback through a pull request. You think about every corner case and edge case. These are all basic practical skills you don't get to exercise if your mindset is to just grind through math problems.

These days, the internet is full of knowledge, social and connected as it can possibly be. StackOverflow and research papers are one google search away. (I say this because every problem in the book are usually based on very interesting theoretical CS papers) Discord servers have become huge chat rooms for people to organize like-minded individuals. Assembling a group of motivated individuals online and working on problems together is a very effective way to learn than trying to dive into material by yourself. Whether it be this book or any other textbook. I don't think this book should be faulted for trying to incentivize that philosophy.

Re: Algorithms by Jeff Erickson

#78

Earlier quoted context omitted.

> 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. I agree that worked problems make a text much more valuable and useful; even students in a class may spend a lot of time doing self-study. And for self-study, without worked problems the book is only useful as a reference while working proble…

Is it really cheating. If the goal is to learn the material using someone else's solution is incredibly helpful and can expedite the learning process. If there is a process to master a skill in 20 hours and another way to master it in 5, only the fool would chose the 20 hour process. When I took electrodynamics the first semester I worked through all the problems myself. I started on Sunday would ask questions Monday…

Reading your comment made me realize that this practice is common within programming itself where frameworks/languages often strive to provide “fully contained examples”. When I’m learning a new framework, I will often first look at how others have written to learn things faster.

Re: Algorithms by Jeff Erickson

#79
post #47

Earlier quoted context omitted.

Poor logic. I don't have add tests to my code, after all they're free not to merge, but I should. Exercises with no solutions are very hard for people learning away from traditional academia - I haven't read this book so I don't know what they're like, but in a physics books it's often common to add questions that take fairly deep conceptual understanding which if you don't click with the book means you're totally ou…

Again, you don't have to use this book. There are hundreds of books on algorithms, many of which have solutions for people who need them. Getting all pissy with the author because he doesn't provide them is sad and not neccessary.

> Getting all pissy with the author because he doesn't provide them is sad and not neccessary.

The only person who seems to be getting “pissy” is you.

What is the point of making a comment like “if you don’t like it, leave?”. People who say this seem to think they’re some pithy genius but it’s not a comment that advances the conversation at all.

“Hey I have some feedback ...”

“I don’t accept feedback. Take it or leave it”

“Ok”

That’s not really what HN is meant for.

Re: Algorithms by Jeff Erickson

#80

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?

Former Illinois student here. There was another course called CS173 Discrete Structures that we took as a prereq to this class. You can find the textbook here http://mfleck.cs.illinois.edu/building-blocks/index.html with a chapter dedicated to induction

Many thanks for the response, I'll take a look
Post reply on HN