I Have all the Time in the World…
Last weekend, I sat down for a cup of coffee with Jake from College Chronicles fame. We were discussing a computer science course that was giving him trouble. The problem sets, as is often the case, were killer.
“Is the problem that you can’t find enough time to work on them,” I asked.
“No,” replied Jake. “I have all the time in the world, the problem is I don’t know how to start.”
The Problem Set Problem
Problem sets defy many of the strategies we use to tame academic work. When you’re given a reading assignment, for example, you can estimate, within 10 – 20 minutes, how long it will take you to complete. You can then break up that work into reasonable chunks and get it done. No problem.
Problem sets offer no such consistency. A given problem might take you ten minutes. On the other hand, it might devour an entire day and still yield no progress. This inconsistency is the bane of students, like Jake, stuck in technical classes.
How do you solve hard problem sets in such a way that they can be integrated into a structured, low-stress study schedule? In this post I will present a four step process. The process is an elaboration on the advice given in Straight-A. It’s a mixture of the results of my research for this book as well as personal experience, having fought these beasts over the past seven years.
A Four Step Process for Solving Hard Problem Sets
The motivating idea behind this strategy is simple: your brain can only work productively on a hard problem for 1 -3 hours before needing to reboot. To reboot your brain, so more productive work can be accomplished, requires a significant break. Preferably overnight.
Here’s a four step strategy built around this idea. It mimics the work schedule of the typical high-scoring technical student.
Step 1: Pick Off the Simple, Prime the Hard
Your first block of work should occur early in the week. Set aside 2 – 3 hours, in the morning. Make this the first thing you do that day (when your energy is at its highest). Your goal is two-fold. First, you want to solve easy problems. Your strong focus will help you avoid stupid mistakes. Second, you want to tackle at least two hard problems. You probably won’t solve them. This is why they are hard. But you can do something almost as important: prime them.
To prime a hard problem is to discover exactly why you can’t solve it. Pick an obvious approach — even if you suspect it won’t work — and start working through the problem until you get stuck. Identify why you are stuck. Ask what you need to figure out to make progress. What is it that makes this hard? Then take a break…
Step 2: Think in the Shower
For the next 2 – 3 days, think about how to get around the obstacles you discovered while priming. Don’t do this formally, in the library, with books around you. Instead, do this while walking around campus. While waiting for class to start. In the shower. I used to solve my Algorithms take home exam problems, for example, while jogging.
This is when breakthroughs occur. If you end up with a great insight, take 20 minutes, next time you can spare it, to sit down and write it down formally. If needed, prime a new hard problem so you can keep making progress as your wander campus throughout the week.
If you encounter ambiguities in the problem description that are giving your trouble, send concise questions to your TA requesting clarification. You don’t want these details to slow down progress any longer than they need to. (You might end up e-mailing your TA many times early in the week. This is okay so long as the questions are specific and concise. Don’t wait until office hours. By then, it’s too late.)
Step 3: Meet with your Problem Partner
A team effort is crucial for problem sets. But it has to be the right effort. Don’t meet with a large group. These are rarely efficient. Most of the time is spent griping about the class. Usually, there is one kid in the group who actually did the work, and, in the end, everyone copies off of him. Avoid this. The “smart kid” is often wrong, and likes the group because it boosts his self-esteem. Not to mention that your lack of understanding will come back to tag you on the exam.
The other extreme is to work alone. I see this a lot at MIT. Too many movies like Good Will Hunting got people thinking that to be smart at math means you should be able to stare at a problem for 5 – 10 seconds and then instantly solve it. Sorry. Doesn’t work that way. I walk past real geniuses every day — people, for example, who are my age and are also tenured professors — and guess what: it takes them a long time to solve hard problems; and they work with other people. The ideal configuration for a problem set is a single partner who is at roughly your ability and is willing to meet earlier in the week.
Meet with this partner for 2 – 3 hours to discuss progress made so far. Check your answers on the easy problems. Trade insights on the hard problems. Make new, collaborative attacks on those that still resist solving.
Step 4: Finalize the Problem Set at Office Hours
Show up early to office hours. Arrive understanding exactly why you are stuck on the small number of problems (hopefully) on which you are still stuck. Translate this into a small number of highly specific questions. Ask the TA these questions right after he or she arrives. The key here — and I base this on my own TA experience — is to avoidsimplying saying: “I don’t know how to do this problem, help!” That’s frustrating. Instead, you need targeted information that shows the effort you’ve expended. For example: “I’ve been trying approach XX, it’s promising, but I keep getting stuck with YY, can you point me in the right direction?”
Bring your laptop to office hours and work on finalizing these problems right there. If small questions or ambiguities pop up as you make progress, the TA can be asked on the spot. Aim to leave office hours with a completed problem set. Notice, this is much different from most students who arrive at office hours with very little done. You are arriving with most of the work done, and are just filling in the details.
Repeated fresh attacks are how hard problems are solved in the real world. Problem sets teach you this skill. The issue, however, is that professors often forget to convey this strategy to their students, many of whom still believe that the high school style, big push tactic for finishing work is still applicable. So keep this advice in mind. Until you’ve approached a problem fresh, 3 – 4 times, you haven’t really yet tried to solve it.
28 thoughts on “Monday Master Class: How to Solve Hard Problem Sets Without Staying Up All Night”
I love you!!!!
That was a really helpful post…thanks so much and keep up the good work!!!
Just an editing thought as I quickly skimmed this … and you can delete this comment if you choose.
In the paragraph beginning Step 3: Meet with your Problem Partner
The “smart kid” is often wrong, and likes the group because it boosts its self-esteem.
You probably wanted to say “his” self-esteem.
Good catch. I made the edit.
Just as a personal question, these techniques ended up getting you straight A’s in your undergraduate technical classes, and even in your MIT technical classes?
If so, that’s really amazing..thanks!
Yep. A lot of factors go into technical class performance, but without efficient strategies like the one above I would have either: (a) done worse; or (b) been a lot more stressed out.
I’ve only just recently stumbled upon your blog, and this article really surprised me, because this was exactly the process I was following to solve problem sets, in higher level math courses, like cryptography and algorithms. I’ve just never took the time to write or think it through, or even to realize that this was process I was using. The only difference was that I had breakthroughs while swimming.
It’s cool to hear others have found use with a similar process. There must be something fundamental lurking here…
What are your logistics of actually writing your problem sets?
Do you initially just do everything on “scratch paper”, and once you work out the problems transfer the correct solns nicely to the page you will eventually turn in?
Or do you just turn in everything you’ve worked on? And if so how do you deal with leaving enough room to work on a hard problem when you skip it to tackle another problem first?
That stuff so easy it’s like taking candy from a baby I bet a baby could do that math problem
@Golden Bear : I got better marks in maths when I copied my stuff over to a nice clean sheet, including workings. The TA can quickly see that I’ve done the work, know how it works, and got the right answer, without deciphering scribbles and crossed out numbers.
This also relates to other kinds of work I think designing buildings is like one GIANT problem set. You can never tell exactly how long it is going to take to tackle the different organizational and compositional problems of architecture. I love it, but it’s been very hard to organize my time well. I’m really curious to try some of these techniques, so thank you.
hey… my opera is crashing when i open your homepage.. i deactivated js and it worked, but anyway.. you should check it! nice blog btw 🙂
i’ll take care about this. it’s a very good approach i think! my next exercise in distributed computing will show if it works 🙂
That is awesome. I will be sure to try this out fir next semester.
Very good. I’m starting math/stat degree next year and this post (and the others) will no doubt come in very handy. Thank you.
Are you suggesting a hierarchy approach when seeking help (1.Friends 2.Tutor 3.TA 4.Professor)?
Awesome article Cal! However, I’m currently in a math class which has 3 problem sets per week (2 every Tuesday and one due on Thursdays). How would you apply this advice to that situation?
@Jonne Spread the thinking out. It doesn’t have to be exactly 1 week of thinking.