- be able to keep your knowledge / understanding of an area around for the long term; but also
- be able to gradually build up your understanding by first committing the fundamentals to memory, and then using that to build up your level of abstraction and get to the more complex ideas and principles.
Michael Nielsen has written fairly extensive explanations of two slightly different approaches in:
- Using spaced repetition systems to see through a piece of mathematics 
- Augmenting Long-term Memory 
I've only used this particular approach for a handful of subjects so far - indeed, it seems to just take time to build a high-quality, long-term understanding of a thing. However, I've been pretty happy with the process so far.
IMHO it is a wonderful solution to a wrong problem (i.e. memorizing random things). Sure, there are use cases: learning words in a language one is not exposed to on a daily basis or cramming for a medical school exam.
When one actively uses something, there is a natural spaced repetition of the things that matter. With the frequencies as these things are used in practice. Everything else can be looked up later.
For programming, maths, physics, etc - "I forgot" means more or less "it is more time-efficient to google it once a few years than put effort in storing in in my memory". In programming, it is even more the case: libraries, their APIs, and good practices keep changing. Rote memorization may be highly counterproductive in this case.
Disagree: There's a grey area in the middle where it is costly to always look it up, but you don't do it often enough to ever be ingrained in memory. SRS is a fairly effortless way to cure it.
When I started my current job (somewhat math heavy), I didn't know enough background material. So I got put on a "side" project while I learn the main material. Unfortunately, that side project became fairly big so I didn't have too much time to study the bread and butter of that job. I would read a little from a text book every few weeks. Without SRS, there is no way that I would be able to do it. The frequency is low enough that natural reading would not preserve anything in memory, and it is one of those books that constantly refers to prior theorems/definitions.
> For programming, maths, physics, etc - "I forgot" means more or less "it is more time-efficient to google it once a few years than put effort in storing in in my memory".
You really cannot do mathematics well that way. When proving a theorem, you often will not even remember there is a theorem that could help you unless it's already in memory.
I once took a course on measure theory where it was a given that at least one question on each exam would be to prove a random theorem in the book. This was frustrating - since when should math require memorizing? And memorizing all the theorems? Sheesh!
When I was preparing for the final exam, I did attempt to memorize all the proofs. And then it hit me: There were certain proof techniques that were common to many proofs, and I had not picked up on it by merely doing the assigned problems.
This was a decade ago, when I did not use SRS (did try, but failed that time). Looking back at my experience in math courses, I realize that memory was definitely a bottleneck. Remembering certain theorems you took in a course a few semesters ago just wasn't happening beyond a certain young age (20). If I ever were to go back to math, I would definitely attempt some SRS use.
Of course, SRS alone won't cut it. You still need to solve lots of problems.
Oh, and after a decade of very heavy Emacs use, I tried using SRS to get better. And I did. A lot. So even heavy use isn't much of a guarantee that things will stick.
1) Understand the material I'm learning.
2) Put explanations of any algebraic procedures (for instance, the dot product of two vectors) as a flip card.
3) Put a single example of doing the work in a flip card.
For important proofs, I put them in Anki using Cloze deletion. I just drop in the whole proof, and knock out portions. This has been extremely effective in remembering and understanding the proofs. I also do this for geometric explanations of procedure.
This is definitely not overkill, and creates cards that you can go over really quickly. Ever since I have begun doing so, I have found that it is far easier for me to apply what I have learned, and that I can more easily understand the options that I have for finding solutions to problems, because I have all of the options available without requiring me to look over old information. It's just there.
Ever since taking Barbara Oakley's classes (Learning How to Learn and Mindshift), I have been a more productive and emotionally stable human being, and my ability to learn and understand the information that I am learning has exploded. One of the most important things I remember mentioned in that class was that memorization and understanding are actually quite tightly linked.
There are things that I have dealt with in the real world that would have been solved by math lessons that I've forgotten since I left University twenty years ago. I was never very good at studying because of anxieties and procrastination. The simple fact that I know I'm going to put information into Anki allows me to concentrate and gives me procedure no matter what I'm trying to learn, regardless of source (readings, lectures, etc.). I wish I had this ages ago.
Thanks - I still haven't used it for mathematics, but this is good to know. I do have a few proofs of theorems in statistics in my flashcards, but the whole point of the cards is to spend only a few minutes a day on them - and doing a few proofs requires a paper, pen, and time. So I keep those in a separate deck and do them only when I know I have time.
My concern with mere cloze deletion is that I'll likely get the illusion of understanding without real testing (being able to rederive something is a real test). I'll likely go for a hybrid approach - full proofs in a separate deck and either proof sketches or cloze deletion in the regular deck.
> One of the most important things I remember mentioned in that class was that memorization and understanding are actually quite tightly linked.
This stood out to me when I took the course, although my memory of it is different. I don't think she said memorization, but "covering it and reproducing it in your own words" - the latter requiring understanding. But yes, she claimed that the research showed this outperforms things like mind maps, and that nothing has so far been shown to outperform this.
What I’ve tried the last couple of attempts is to “chunk” the proof (also terminology touched on in Barbara Oakley’s course) so that I end up with a question that’s something like “what’s the high-level idea / approach in the proof for X?”. That card would likely require an understanding of some underlying concepts or “chunks”, so I add questions for these too until I get to something that’s less abstract and easier to rederive.
I’m still not 100% confident if this will work well when these particular cards get into the 6-month range or so, and they start showing up at completely unrelated times. My main concern is that if I’ve forgotten some idea from “the middle”, it would be hard to reason about cards that build up on top of that.
During my undergraduate time I knew people memorizing instead of trying to understand theorems (especially ones with background in chemistry). Often they got good exam results... and almost never it helped to build a bigger picture, or do research in mathematics.
That said, I have ADHD and any small-dose-but-regular learning (typical for classes!) was painful to me (and not to effective).
As I pointed out in another comment, this is a false dichotomy. You can do both. I contend that one who attempts to understand and memorize will know the material better than one who doesn't. The thrust of my argument isn't that it is necessary. It's that you will gain from it. Of course, if you make that your only tool in the toolbox, you will suffer.
And I never claimed that not memorizing will prevent degrees. I'm sure while in grad school you came across plenty of less capable people than you who nevertheless still got a PhD ;-)
In my case, well, if something really needs to be regular, the only way to go is external pressure (external deadlines, people meeting at a given time with the goal to learn) and bringing some intensity (instead of 1h learning, a day focused on that).
With enacs I find if it is not in my muscle memory it doesn’t matter if I consciously know about a feature. I can think “there must be some way of doing this” and then googling it and finding it as fast as I can stop my work and recall that in 2005 I used to have some good method of dooming this obscure use case of editing/process management.
Especially now with everything changing so quickly I find paying attention to the deep constraints and reserving the possible solutions from those conditions is more effective than trying to memorize a bunch of library or platform specific capabilities.
To derive things, you need to have memorized a basic set of theorems. As you go deeper and deeper, the "stack" gets bigger. If you only memorize the very basics, there's a good chance you will not be able to derive the deeper stuff whenever you need it.
If you are in second semester measure theory and you haven't ingrained a lot of the first semester of real analysis in your head, you likely will do poorly. Quick: When is a closed set not compact? If you do analysis a lot, you can easily answer this question. However, if you do it only occasionally, not knowing this will limit you (or even worse, and common, believing that all closed sets are compact).
I used to be in the camp of "Memorization sucks - just solve enough problems and it will stick". Its only recently that I'm realizing I was wrong. Everyone will have things stick if they do enough problems, but also everyone will have a different capacity for how much sticks. You'll hit your peak eventually by just solving problems, and a better memory will take you further beyond that small peak. Once you realize how effective SRS can be, you don't want to be limited by a poor memory.
> With enacs I find if it is not in my muscle memory it doesn’t matter if I consciously know about a feature. I can think “there must be some way of doing this” and then googling it and finding it as fast as I can stop my work
Often when reading the org mode manual I'll come across something that makes me say "Oh wow, I wish I knew this keybinding" and then would promise to remember it or look it up when needed. It's depressing how often I've said that about the same keybinding. Now that I use SRS, this phenomenon still occurs, but at less than half the frequency it used to.
Although to be frank, I now use hydra on Emacs often, so it's not as common for me to memorize keybindings.
> Especially now with everything changing so quickly I find paying attention to the deep constraints and reserving the possible solutions from those conditions is more effective than trying to memorize a bunch of library or platform specific capabilities.
Emacs is timeless :-) I will be using it for probably as long as I can use a computer.
But yes, I would be selective on what to put in SRS. Reviewing takes very little time, but creating new entries is time consuming. It needs to be worth it in the long run.
In the language learning example, Extensive Reading leads to not only picking up and remembering words, but also collocations, grammar and even cultural beliefs of the speakers of the target language. Single word flash cards miss all of that. Full sentence flashcards do a bit better but still fall short.
I think the best use for SRS for something like a language or programming is for laying down a scaffold in the very early stages of learning, and then moving to more productive uses of study time as soon as possible.
> When one actively uses something, there is a natural spaced repetition of the things that matter.
So if you're trying to learn react, don't try to memorize the API. Just use react and you'll naturally have spaced repetition of the important bits. The unimportant bits that are rarely used you'll have to google when you occasionally need them.
For programming topics, I also try to make sure I'm using the information. I unfortunately have too many cards about topics that I never actually used, and they are frustrating upon review because I never had some practical structure to place them into mentally. Don't waste time trying to memorize thing you don't ever use.
That said, SRS is good for memorizing trivia if you want to do that too. I've been using the Anki deck Ultimate Geography for a couple of months to memorize every country, capital, their flag, and location on a map. Useless, but kinda fun.
For anything where the information is connected, it's a lot better to use those connections instead of drilling it in a decontextualized fragments via SRS.
Or, you can use SRS for "spaced repetition" of making these connections. That is, instead of treating it as rote memorization, use it for the timing effects. When I see a card about X1 which is part of a larger concept Y, I don't think "what was the exact answer to X1, which I remembered without any understanding and will just recite now?".
Instead, I often think "how do I come up with the answer to X1 right now? how does it connect to the larger concept Y?". Even better, if I've recently seen card X2 about the same concept, I might think "how does X1 relate to X2, which I just saw recently?". Sometimes, this actively helps you to make new connections. Of course, you need to explicitly make an effort to do so, yourself. If you practice pure recall only, that's what you'll get from SRS.
As another commenter mentioned, it's a false dichotomy.
> "[00:11:27] These SRS flash card apps are very good for learning vocabulary and depending on what's included in the flashcards, they could be for grammar as well. But the problem for a language learner is that it's de-contextualized. So say if you just study vocabulary words, then they're going to be a lot of things that you'll miss like collocations. You won't know which words are normal to use with which other words. For example, in English, if someone asks, "How are you?" it would be completely normal to answer, "pretty good". It would also be fairly normal to answer, "absolutely fantastic". But it would be strange to answer that you're doing "absolutely good". There's no grammatical reason. It's just not something that English speakers tend to say.
[00:12:17] And there are many, many, many language features that are like this. There are also questions of word boundaries. For example, in English, the word "nose" refers to a person's nose or a dog's nose, but not every kind of animal. For example, an elephant in English doesn't have a nose. It has a trunk. In Japanese, the same word, 鼻 (hana), is for a person's nose and the elephant's nose. So the question is, what exactly does "nose" mean? Well, really tedious language teacher could explain this for every single word that you study, or even put this on the back of every flash card for every word that you're reviewing. But, it's not going to be efficient. You'll spend so much time worrying about edge cases for every single word that you're learning that you're actually not going to get anywhere.
[00:13:11] The solution in language learning is extensive reading. If you do a lot of reading and the material is easy enough that you can go at a decent speed, then you'll just get so much input that you'll have a feel for what words are used when and you'll know what the specific definition boundaries around though are. And of course, it's not just language learners that have this problem with spaced repetition systems—that everything is reviewed out of context.
[00:13:11] You might remember from when you were younger and taking math classes, there were certain techniques that you had to get good at or you had to be able to do at least on some tests, like say, use trigonometric identities and some information to figure out how tall something is or how far away it is or completing the square to derive the quadratic formula... something like that. Mastering these kinds of problem solving techniques has the same sort of issue revolving around context. If you just mechanically memorize each piece of a method, you won't necessarily be able to apply it when you're given an actual problem on a test or any other situation.
[00:13:41] On the other hand, if you put the entire problem into a flash card like say you just write out a math problem and that's the cue part of your flash card, and every time you see that card, you have to solve the whole problem. Well, that's going to take enough time that you won't be able to do those problems very often. You might want to do it for some really important things, but it can't be your go to study method.
[00:14:55] Similarly with programming, you can memorize a lot of things about a programming language, but you're not actually going to learn that language or learn how to program at all if you don't write programs and if you don't have the experience of making mistakes and then the experience of debugging those mistakes and fixing your programs."
Trust me, this is an issue I've thought about a lot. I contributed to Anki in the mid 2000s, have previously made 10k+ decks I used for years and spent two years trying to integrate them into a curriculum for other students.
Just to clarify something in case it’s not obvious from my other comments. I’m not arguing for SRS as a replacement to all other forms of learning. You still need the extensive reading, problem solving, experimenting with a programming language.
However, I’ve found SRS to be a great addition to the methods above. For example, I haven’t found the methods above to give you long-term retention on their own. (And I’ve done a lot of problem solving.) Math is also a lot about building up the level of abstraction, and SRS can help with spacing the practice of lower-level concepts so you can more easily apply them to more complicated ones.
I’ve never been a fan of memorization in the past. However, I’ve found that:
1. Memorization (as in knowing foundational facts and being able to recall them efficiently) is actually pretty useful, as much as I didn’t want this to be true.
2. SRS can be used for thinking + deriving the answer to a card in addition to just memorization. It just gives you the right timing to do so.
It's a false dichotomy. You can, and IMO should, do both.
Every minute spent on flashcards is a minute that cannot be spent on more contextualized study.
I often spend less than 5 minutes in the morning on my flashcards. There's not much deep contextualizing you can do in 3-5 minutes. Certainly not in areas like physics.
It is a false dichotomy. All minutes are not equal. I'll gain much more by spending less time on HN than by cutting out flash cards.