When you’re studying a topic, a course acts as a filter for the material: Rather than having to consider every reference on a subject, you get a nicely curated subset that the instructor believes fulfills the goals of the course. Rather than having to read an entire textbook, you get a list of sections, or maybe just notes and lectures. Rather than having to solve every problem in the book, you get a list of suggested problems, or a standalone problem set.

But a textbook without a course is also a filter. Rather than having to read through all the original research papers on a topic, you get an expert’s distillation of the important results, combined with a set of problems to help you learn and understand the topic. Since I’m using the textbook approach rather than the course approach, here are some ideas about how to select problems from a textbook.

## Selection Heuristics

Last week’s topic was how long to work on a single problem. There’s some overlap between this question and the question of how many problems to solve overall. In both cases, there’s a trade-off between getting more experience in a narrower area, and having more time to branch out and learn more topics. But there are also special considerations that apply only to the “how many problems” question.

**Breadth vs. depth**

Solving more problems in a section increases your learning depth by exposing you to different aspects of the same topic, or by giving you more practice at solving the same problem types. Solving fewer problems lets you move on to other topics sooner, just as spending less time on a single problem lets you move on to other problems sooner.

**Problem selection**

In theory, you could optimize your problem-solving time by evaluating each problem before doing it, and only working on problems likely to teach you something new. But you don’t always know how difficult or useful a problem is until you try it. One solution is to do every problem. This removes the need to judge problem utility, at the cost of potentially spending time on problems that are too easy to give you any learning benefit.

To avoid this, you could try to select only high-quality problem sets, and then do every problem. One source of high-quality “problem sets” is the main text of the textbook: As you read the textbook, work through the proofs and examples rather than just reading them. These are likely to be high-quality problems, since the author found them important enough to put them in the body of the text.

Another way to find high-quality problems is to select well-regarded short textbooks with relatively few problems. In a huge textbook with thousands of problems, there are likely to be some filler problems. But in a highly rated textbook (usually a more advanced one) with shorter problem sets, the problems are likely to be more carefully selected.

**Learning goals**

If your goal is to use a textbook to learn a subject from the ground up as a foundation for learning other subjects, then it’s more likely you will want to solve every problem in the textbook. Even if some problems are repetitive, you’ll be getting extra practice that will help you in the long run. The extra problem-solving investment will pay off as you use your foundational knowledge in future studies.

**Easy problems**

The biggest risk in solving every problem in a book is spending too much time on problems that are too easy. The biggest learning benefits come from solving problems at the edge of your ability. Easy problems can take time to solve without providing much learning benefit. Fortunately, textbook authors usually include problems with a range of difficulties. So as long as your textbook is the right level for you, you won’t find yourself solving entire sections full of easy problems. But if time is limited (and it always is), you have to keep an eye on the difficulty of the problems you’re solving. If you can do too many of them without thinking, it’s a sign that you should probably skip some problems.

**Problem order**

Even if you decide to do every problem in a textbook, you don’t necessarily have to do them in the order they’re presented. There can be advantages to skipping around. A problem in Chapter 3 might make more sense after you learn something from Chapter 5. Every reader has a different background, so the order the author chose to present concepts may not be the best one for you. You might even want to take time out to read a different book and get another author’s take on the subject. Also, if you solve every problem the first time around, you won’t have any left to review later. Reviewing is an important part of learning, so unless you have another source of questions, you may want to leave some for later.

**Theory problems vs. computation problems**

If you don’t do all the problems in a textbook, focus more on the theory problems (e.g., proofs) than the computation problems. If you can solve a problem by mechanically applying a process, then there are diminishing returns to solving multiple problems with that same process. It’s good to do a few similar problems so you see how the process works. And solving a problem with specific inputs is often a prerequisite to understanding general principles. But eventually you don’t learn any more by doing more of the same problems. On the other hand, it takes creativity to come up with a proof. Since you can’t just use an algorithm to write proofs, you’re more likely to learn something new by doing more proof problems, even if they’re all in the same section of the textbook.

**Solve problems until you understand**

You don’t solve textbook problems to get the answers to those problems. With few exceptions, the problems are in the textbook because someone has already solved them. So you’re solving the problems to improve your understanding of a topic. Once you’re as comfortable with a topic as you want to be, you can move on.

As with the question of how long to work on a problem, there’s no easy answer to how many problems you should solve. The key is to be aware of the trade-offs and avoid solving problems on autopilot.

## Famous Textbook Completionists

Solving every problem in a textbook isn’t just an idea proposed by obsessive students on the Internet. A user on Mathematics Stack Exchange relates the stories of several Nobel Prize winners who reportedly used the technique:

- “Freeman Dyson worked all the ODE problems in an ODE book over winter break, teaching himself the subject. He enjoyed it and benefited from it. ([There] is a video on YT of him talking about it.)”
- “Dick Feynman felt he needed to learn classical E&M better when developing QED. He worked every problem in a conventional E&M text. He also worked every problem in calc texts and in quantum theory.”
- “Lars Onsager did all the problems in Whittaker and Watson).” (This is also mentioned in Onsager’s encyclopedia.com entry).

It’s always hard to know how exaggerated stories about famous people are. But here’s a textbook completionist story directly from the source. In a 1982 interview printed in *Annals of the History of Computing*, Donald Knuth talks about solving all the problems in George Thomas’s Calculus and Analytic Geometry:

We were assigned only the even-numbered problems, but I did every single one together with the extras in the back of the book because I felt so scared. I thought I should do all of them. I found at first that it was very slow going, and I worked late at night to do it. I think the only reason I did this was because I was worried about passing. But then I found out that after a few months I could do all of the problems in the same amount of time that it took the other kids to do just the odd-numbered ones. I had learned enough about problem solving by that time that I could gain speed, so it turned out to be very lucky that I crashed into it real hard at the beginning.

## References

I found these sources useful when thinking about the question of how many problems to solve:

- Shivam Gandhi’s Doing Every Problem in the Textbook — Why I’m Sticking to it includes the Knuth quote above.
- Is it necessary to prove everything and solve every problem in the books? (Mathematics Stack Exchange)
- Should I do all the exercises in a textbook? (Mathematics Stack Exchange) includes the stories about Dyson, Feynman, and Onsager. The author also relates his own experience acing the AP Calculus and AP Chemistry exams using the completionist technique.
- Is solving all of the exercises in a textbook a good idea? (Academia Stack Exchange)

(Image credit: RCabanilla)

*I’m writing about discrete math and competitive programming this year. For an introduction, see A Project for 2019. To read the whole series, see my Discrete Math category page.*