Solving problems, building on top of what you've learned, reviewing what you've learned, and quality, quantity, and spacing of practice.
Cross-posted from here.
At a high level, learning math effectively comes down to four things.
1. Solving Problems
The most important thing is to solve challenging problems successfully while relying on as little assistance as possible (from people, internet, reference books, worked examples, hints, etc.). Most of the things you learn will of course come from those kinds of external resources, but you need to challenge yourself to apply things independently once you learn them. This may take some work, and you may initially need some help (e.g. studying some example solutions) to actually get through problems, but the goal is to strip away that scaffolding as soon as you’re able to do so while continuing to get through problems.
Some additional pointers:
- Make sure that you're actually solving the problems correctly (you need to check your work against the correct solution, even if you think you got it right).
- Try to actually understand what you're doing -- talk yourself through the why behind each step you carry out; if you find yourself at a loss for words at any step, then you need to spend some time drilling down to the purpose of that step. (Some mental fuzziness is natural when you first learn a new topic and begin working problems, but that fuzziness should fade as you work more problems and you should actively take steps to attack the fuzziness if continues hanging around.)
- Worked examples (in lecture, in a video or textbook section, etc) are not just for viewing. You should actively work them yourself on a piece of paper. If there's a step that you don't understand, pause and think about it. If you still can't figure it out, ask the instructor. Or if you're on your own, do some Google searches to look for explanations and/or worked examples from different resources (sometimes a different example will help clarify your understanding) -- and if you still can't resolve your confusion even after trying that, then ask a question about it on some forum like StackExchange or Reddit.
2. Building On Top of What You've Learned
Once you’re able to get through some types of problems successfully, just keep doing this with more advanced problems, building on top of what you’ve learned. If there are optional challenge problems, do them. You can also read ahead to learn more advanced content and work on the corresponding problems. The goal is to continually layer on top of existing knowledge – that is, continually acquire new knowledge that exercises prerequisite or component knowledge.
Layering produces a kind of “structural integrity” in your knowledge, just like what happens in engineering. When advanced features are built on top of a system, they sometimes fail in ways that reveal previously-unknown foundational weaknesses in the underlying structure. This forces engineers to fortify the underlying structure so that the system can accommodate new elements without compromising its integrity. Fortifying the underlying structure often requires improving its organization and elegance, which, when applied to your knowledge, produces deep understanding and insight. (When the structural integrity of a system is increased, it also becomes easier to add more advanced features in general – and in the same way, when the structural integrity of your knowledge is increased, it becomes easier to assimilate new knowledge in general.)
One key decision that you’ll have to make here is when to move on to more advanced problems. You don’t want to move on to more advanced problems until you’re able to do the simpler problems, but you also don’t want to continue working simple problems after you’re (consistently) able to do them correctly. As a loose rule of thumb, if you’re working out of a textbook where similar problems are grouped into categories, I’d recommend to work out problems in each category until you’ve gotten at least 2 or 3 correct in a row and you’re comfortable and confident that you could successfully complete another problem if you kept going. At that point, it’s time to move on to the next category (unless your homework requires you to solve additional problems in the same category).
3. Reviewing What You've Learned
You should also make sure to do review problems from prior topics once in a while. As a rough rule of thumb, whenever you learn a new topic, you should do a few more problems the next day or so (again, continuing until you’ve gotten at least 2 or 3 correct in a row and you’re comfortable and confident that you could successfully complete another problem if you kept going – though you should reach this point pretty quickly during review since you’ve already managed to reach that point on a previous occasion).
Roughly, every time you do a review, you can double the length of time until the next review. So if you learn a new thing on day 1, then you should review it on days 2, 4, 8, 16, 32. (Again, to be clear: when you review, you need to work out actual problems, not just re-read.) This is of course a loose approximation – you don’t have to get the review schedule perfect, but you do need to get the “spirit” of it right in the sense that you should review stuff again soon after learning it, and continue reviewing it into the future every once in a while, but you can wait longer between reviews as you grow more comfortable with it. (The general name for this kind of systematic review process is called spaced repetition.)
However, if you’re ever looking through topics to review and your reaction to some topic is “I barely remember that, but I don’t really want to review it now, I’ll come back to it later” then that actually means you need to review it right now. When you run into situations like that, don’t wait. If you ever feel yourself forgetting something, especially when it’s something that blindsided you when it came up as a component skill in a new thing you were trying to learn, then that’s an indication you’re due for a review.
4. Quality, Quantity, and Spacing of Practice
Get quality practice, get enough of it (quantity), and space it out. The quality/quantity part should be pretty obvious: 1 hour of fully-focused practice, successfully getting through 10 problems (or whatever), is totally different from 1 hour of distracted practice while simultaneously watching TV or goofing off with friends, only getting through a couple problems successfully (and by the way, solving problems successfully as a group is not at all the same thing as solving problems successfully on your own). And, of course, no matter how focused you are, you won’t get enough practice if all you do is study before the day of the test.
But a lot of people don’t realize that you really need to space out the practice. Don’t do 7 hours of practice for a class one day and then take a week off. It would be way better to space those 7 hours out over the week, doing 1 hour every day. Why?
- First, if your practice is as intensely focused as it should be, you're going to be getting tired after an hour. Even if you try your hardest, you're just not as productive when you're tired. It's diminishing returns: each successive hour of practice is worth less than the previous. Adjusting for productivity, 7 hours of crammed practice is effectively less than 7 hours of spaced practice.
- Second, it's well-known phenomenon in cognitive psychology that the spacing itself drastically increases retention. This is the whole idea behind spaced repetition, which I mentioned earlier. Here's some additional follow-up reading.