Every exercise in the book

When I did an independent study course with Ted Odell, he told me to get a copy of De Vito’s Functional Analysis and work every exercise. I don’t recall whether I actually worked every problem, though I believe I at least did most of them. I heard of someone who learned algebraic geometry by working every problem in Hartshorne.

Doing all the exercises in a book isn’t a bad way to learn something, though it depends on the book, what you’re trying to accomplish, and on the quality and quantity of the exercises.

Have you ever gone through a book working every exercise? If so, what book? How was your experience?

 

 

16 thoughts on “Every exercise in the book

  1. I did almost every exercise in Rudin’s Principles of Analysis up to the last chapter or so to fill in a hole in my undergrad education before going to grad school. When I went through Big Rudin in grad school, the homework assignments had us doing a high percentage of the problems, though not all. I like to say doing every problem is the “grad school approach” and often recommend it on Math Stackexchange.

  2. I relearned thermodynamics for Ph.D. qualifiers by doing every exercise in the book. Worked like a charm

  3. Biggest difficulty I have in doing exercises in the book is the uncertainty of success. How do I know I did them right? I might get An Answer but I get wrapped around the axle wondering if it’s a correct answer.

  4. I often pick books based on whether or not they have the solutions in the back. I also often work through every example problem on my own. The concern is that this is a terribly inefficient way of learning the material — is it? When I was an undergrad I certainly seemed to be able to get by doing a problem set, which was generally only 10% of the problems in a given chapter. Maybe I’m dumber now.

  5. Halliday & Resnick
    Fundamentals of Physics. That was almost three decades ago.
    I was also told to do all in Hopcroft & Ullman’s Automata Theory minus a few with asterisks that are hard/open problems, but that was too much.

  6. When I was a student, one English teacher forced us to do all the exercises of Oxford Practice Grammar. It did more for my English than everything I did before combined.

  7. C by K&R. Not impossibly difficult–took just a Christmas break–but I’m still fond of this achievement. I love Unix until now.

  8. Schaum’s Laplace Transforms… I did every single exercise in this book. Reluctantly, but somehow passionately.

  9. Head First Design Patterns. Helped immensely with learning object-oriented design and the terms associated with it.

  10. A mathematician I used to work for, Lorn Olsen, used to say he’d rather hire a bunch of “dumb mathematicians” to work on a problem rather than one really smart person who could solve problems in their head. Why? Because the smart person never had to learn how to attack problems that were too big to fit in their head, where the folks with lower mental capacity had to make it through that math degree by learning how to rip off little pieces and make progress as they could. As I’d always been the kid who back in high school hated showing my work, at the time I was rather insulted. His comment really stuck in my craw though.

    When I got a chance to go back to college a few years later it nagged at me and I made a habit of doing this with most of my mathematics textbooks. (I confess I slacked off a bit on the statistics side!)

    I mean, I was already going to have to do maybe a third of the exercises for the class anyways, and the drill makes it much easier to imprint how to use the tool by habit.

    I figured that the real “smart mathematician” was one who smart enough to learn how to decompose problems early, and who could still fit bigger space of problems in his head.

    Grothendieck’s analogy of the rising sea comes to mind.

    http://www.math.jussieu.fr/~leila/grothendieckcircle/mclarty1.pdf

    To me the beauty of Grothendieck’s method is that it can be taught, while Serre’s insights were born of an internal brilliance that others could merely marvel at from a distance.

    After college I can only really think of one book that I did this with: Categories for the Working Mathematician.

    It took me ~9 tries to make it all the way through it, but it fundamentally changed the way I think about mathematics and programming.

  11. @Edward: I’ve seen what you describe in your first paragraph more among programmers than mathematicians. Some programmers have an impressive short term memory, and can hold a large amount of bad code in their heads. They can attack small problems by brute force without ever learning any programming discipline. Their impressive quantity of mental RAM delays their learning to program well.

    I look forward to reading the rising sea paper you linked to. It looks more interesting than the work I need to do today, but I’ll eat my veggies first and save that paper for dessert . :)

    I seldom go through a book cover-to-cover like a juggernaut. I’m more likely to go through it in several passes, getting a little deeper each time. Few books are worth going through methodically start to finish, but MacLane’s book you mentioned would be a good candidate.

  12. Nowadays I mostly use an ‘iterative deepening’ approach, and go back and revisit topics in ever increasing depth on a sort of exponentially decaying frequency reminiscent of spaced repetition.

    http://en.wikipedia.org/wiki/Iterative_deepening_depth-first_search
    http://www.gwern.net/Spaced%20repetition

    Between them I find I can keep a lot of topics indexed in my head in a usable form. My binge through CftWM was mostly brought about by assuming it was something all functional programmers just knew, and that I was somehow far behind the curve. I was driven by a sort of reverse Dunning-Kruger effect. Little did I know how little most know on the topic. =)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>