Spaced repetition software, such as Anki , works by making flashcards which will pop up to test you, just at the moment it estimates you’re most likely to forget. I was initially wary  of the tool, but I quickly converted when learning Chinese. If you need to memorize tons of information, there are few tools more efficient.
Recently, a number of readers asked me about using it for conceptual subjects. Could you learn math or physics with Anki?
Here, I’m more doubtful. Let me explain.
What SRS is Good For
Spaced repetition software (SRS) works through flashcards. Put a Chinese character on one side and it’s meaning on the other. The software then encourages you to associate the character and meaning by testing you on it.
You can also memorize more complex information, by selectively omitting parts of a larger structure. So you could memorize a map by blanking out one of the spaces on the “question” card and having it filled in on the “answer” card.
In all cases, however, what’s being reinforced is a single link: prompt/response.
Sometimes prompt/response is most of what you need. Memorizing vocabulary doesn’t entirely reduce down to memorizing the translation, but it’s close enough. Especially when you need to memorize thousands of words, a slight loss of context and nuance is forgivable.
The Allure of Applying SRS to Math
Conceptual subjects—such as physics or math—don’t fit neatly into single links. You could try to memorize Newton’s second law of motion as F = ma. But that’s probably one of the least important parts. Knowing where it applies, manipulating the equation and the intuition behind it are also necessary.
The suggestion is, then, that you don’t use SRS to memorize “facts” about physics or math. Instead you use them to prompt questions. So a flashcard wouldn’t say “What is Newton’s second law?” but, “Solve this set of differential equations.”
But now the question is what do you solve? Do you solve the same question each time? That seems unfair. If I had a complicated question, I may not be learning to solve similar questions, but simply that the answer is “x = 7”. We want to understand concepts, not just that a particular instance of a problem had a particular answer.
We can escape this problem somewhat by randomizing the values. So instead of giving the same question, the variables are all modified within some range.
A Little Randomness May Not Be Enough
This creates a new problem: writing the software to make flashcards with randomly generated values. It’s not impossible, but it means you can no longer just create static content. There is software that does this, but it tends to be specialized, meaning it’s a lot harder for DIY learners who want to learn methods that will work for any subject. You need some kind of scripting language to procedurally generate problem sets.
Despite this improvement, the original problem still hasn’t been avoided. Now we might just be memorizing the solution procedure. Instead of “x = 7” it’s “subtract the top-left from the top-right and divide by two.”
Memorizing solution patterns is a heckuva lot better than memorizing answers. In fact, I suspect a lot of students get through math classes without ever going beyond memorizing solution patterns.
However, it’s usually not the end goal. What we really would like to see is a higher level of understanding. Recognizing that a certain type of problem involves conservation of energy or resonance. Even if we aren’t expecting ourselves to solve completely novel problems in each go, we should still have more flexibility than problems with identical surface features.
Avoiding this problem fully means either creating dozens of randomized problems to sample from, or a tool for generating randomized problems that would end up being quite complex.
In the end, I’m not sure such an approach would be substantially better than just setting up a regular time to do review questions. Such an approach lacks the timing features and card management of SRS, but it also avoids the problems of memorizing things that need to be understood.
What has been your experience? Have any of you tried using SRS to learn more complicated subjects which require conceptual knowledge? What worked and what didn’t?