I’ve used flash cards with Anki in the past for memorizing the IPA symbols, Swedish words, and a few other things. It worked pretty well.
What I’ve realized recently while learning Rust (no Anki involved) is that, for me at least, new information needs something to “cling on” to. I wonder if this Spacing Effect is another facet of the same idea.
My process with Rust was to first read most of The Book [0], and after this I had a decent understanding and I _thought_ I’d be able to write some code. The I tried (and mostly fumbled) writing some code. But it turned out I couldn’t remember much of the syntax, nor the finer details of how the borrowing system worked. Most of the stuff I’d read hadn’t really stuck.
After some time coding I went back and reread parts of The Book that I was fuzzy on, and those things came into clearer focus, and I was able to get further with the code.
The cycle repeated itself a few times - first with basic syntax, then with how to specify generic types, then with various ways I tangled myself up with the borrow checker, then lifetimes, then how to write iterators. With each stage I needed the sum of my previous experience PLUS another visit to either The Book or Programming Rust or some other explanation. Reading it all up front wasn’t good enough; ingesting the info needed to come at the right time.
I’ve seen this a lot also with people learning to code (especially in the web dev world), where they’ll watch a whole course and then lament that they still can’t build anything on their own. I think it’s the same core issue: too much information-up-front with nothing for it to stick to.
The first versions of Anki (ca 2006) were based on spaced repetition algorithms developed for a piece of software called SuperMemo, which came out 21 years earlier in 1985 [0].
Piotr Wozniak, the author of SuperMemo, writes a lot about spaced repetition and memory in general. What you're describing are basically items 1 and 2 of his "Twenty rules of formulating knowledge" [1]: "Do not learn if you don't understand," and "Learn before you memorize." It's an extremely useful article if you're a heavy Anki user.
> What I’ve realized recently while learning Rust (no Anki involved) is that, for me at least, new information needs something to “cling on” to. I wonder if this Spacing Effect is another facet of the same idea.
I think the concept you are looking for is "schema."
In psychology and cognitive science, a schema (plural schemata or schemas) describes a pattern of thought or behavior that organizes categories of information and the relationships among them. It can also be described as a mental structure of preconceived ideas, a framework representing some aspect of the world, or a system of organizing and perceiving new information. Schemata influence attention and the absorption of new knowledge: people are more likely to notice things that fit into their schema, while re-interpreting contradictions to the schema as exceptions or distorting them to fit. Schemata have a tendency to remain unchanged, even in the face of contradictory information. Schemata can help in understanding the world and the rapidly changing environment. People can organize new perceptions into schemata quickly as most situations do not require complex thought when using schema, since automatic thought is all that is required.
It turns out the mental athletes were purposefully converting the information they were memorizing into images, and then placing these images into a mentally constructed “palace” — thus the involvement of visual memory and spatial navigation.
Yeah my model of learning is like a game of ping pong where I go back and forth, reading some information, fumble with it, read it again, practice it again, etc. Until one day I wake up and realize the thing I found difficult to understand is now second nature.
When I was a junior developer, I recall reading comments from other developers suggesting to extensively read docs before applying a library/language, but I find that reading without actively practicing results in lost knowledge because I don't really have anything for the knowledge to cling on to. It's akin to watering a field where you don't know where the seeds are.
I think your mentioned examples fall clearly into two categories. Plain memorization and understanding.
Spaced repetition (so in extension, anki) helps immensely with the former, but does very little for the latter. Eg. one could probably go through some advanced math anki deck, but would likely not get better in math at all.
The second category (with math, as well as programming languages, but many hand crafty thing also) require practice and only that can help the process of learning here.
Most study materials have aspects from both (medicine comes to mind, with immense amount of “trivia” plus the occasional logical correlations that one might argue are the most important), and I have been trying to write a program that could tackle this duality for years, but unfortunately it never got priority :/
These kinds of articles show up here frequently and I'm curious how people apply this to their actual work. Makes a ton of sense for school, but day to day how is this used by tech professionals?
I use a Zettelkasten system for keeping notes about my work. Every note I write gets put into an Anki deck as a Cloze deletion, which helps me remember what’s actually in my notes files and occasionally brings up new, unexpected connections between ideas.
I use Obsidian for my notes; the only automation is some light quality-of-life stuff available in its core plugins. For example, I have a separate tag for each stage of the process, so I can work a step at a time instead of a note at a time. Also, my ad-hoc notes stick around as a collection of links to to evergreen notes that were extracted from them without extra effort on my part.
During the day, I'll write down anything that I think's worth remembering. Usually that's how something I've read or done might affect my work in the future, but sometimes it'd just an interesting relationship I'd not noticed before or something random that catches my fancy. This either goes in today's daily note, or a reading/bibliography note if it came from a book or article I was studying. Maintenance is my first task every morning:
1. Do all of my outstanding Anki reviews
2. Extract yesterday's ad-hoc notes into evergreen notes, and file them appropriately. This is the most time-consuming part of the process, because I need to determine which of my existing notes are related and include cross-references. The filename of the new note is constructed to place it adjacent to whatever preexisting note is most closely related. I may also need to write some support notes here, if the new note relates to something I know but hasn't gotten a note yet.
3. Copy the text of all the new notes into Anki, and black out some key words in the second half of the card. I have Anki set to an aggressive schedule, so that I don't get bored of seeing any of the cards: 2,7, and 30 day intervals for learning, and then a 4x growth rate after that. The cards also include the ID, so that I can find them again in my notes.
I don't usually bother with a lot of detail in my notes; for that I can always go back and look up a proper reference. Instead, I focus on what problems different approaches are good at solving, how different things fit together, and anything else that might help me pick which technique to reach for in any given situation.
Being in school and being out of school ended up not being that different for me. I did a lot of practical stuff in school and have continued to read and study since leaving (30+ years ago).
I guess this spaced repetition process is something I implicitly do — when I kept paper notebooks I’d go back and read through each as I finished it. Now I have a monthly review of the month’s notes.
Also I try to use things I learn, which often sends me back to my notes or a book (I remember better what I read on paper). This obviously makes more sense with computing and chemistry; it doesn’t typically link up the same way with, say, history :-).
Also if I read a book that sticks in my mind, I go back to it and flip around for the parts I found interesting. That’s also a kind of spaced repetition. I’m in a book club with several nerd friends; I couldn’t tell you the dozen books we read last year but two of them I could expound upon at length.
And of course at my age it’s waaay easier to learn new things as I have so much context to anchor it to. As a student everything was new and almost sui generis so it didn’t “stick” as well. For example, reading Strang is quite different now compared to when I took his class 30 years ago.
It's interesting. I think you are correct about your approach having an implicit space repetition component, and that's actually one of the two principles underlying the power of structured spaced repetition: it's how we already learn anyways. By anchoring the process explicitly to the forgetting curve[1] it simply makes it more efficient.
You can see it everywhere: non-fiction books are often padded with redundancy as a sloppier form of spaced repetition, people often only remember other's names after using it several times, etc.
The other principle is recall > re-exposure. Outside of highly emotional experiences, one of the best ways to encode a new memory, paradoxically, is to remember it. But to achieve this means our notes have to be converted into something like flashcards, so instead of reviewing them, you are always giving yourself a pop quiz. It takes me a long time (if ever) to remember how to get somewhere if I use Google Maps. If I have to find it myself, even once, I am very likely to remember.
As someone whose absent-mindedness is a constant low-level existential crisis (what are we but our memories?), I'm motivated to extend the process beyond the straightforward flashcard material within subjects like computing and chemistry. I really don't think history, general musings, or personal interactions are any different. It just isn't as obvious at first. Some non-traditional examples:
Q: What restaurant did Bob recommend for me to visit the next time I'm in Seattle?
A: x
Q: What behavior adjustment did you tell your partner you are going to make to improve your communication?
A: x
Of course you can do the same thing with facts in history _and_ with your personal takeaways from the information.
As somebody who discovered how effective this was by accident in university (I studied 6 natural languages which is all memorization, so this strategy was key to not going insane), I would use this to, for example:
* Memorize keyboard shortcuts or commands for new programs
* Memorize key differences/things that I get mixed up frequently
* Memorize key details or flow for a meeting presentation/discussion with non-tech people
* Memorize things about your team members/co-workers/organization at a new job
* Memorize important dates or times (this works in one's personal life too)
The idea is that my brain power is finite and by using spaced repetition, I make as many things as possible 'auto-pilot' for my brain in order to leave more brain space for problem-solving and deep thinking.
I'm using a couple of different SRS applications to learn Japanese. It's an incredibly useful tool for when you need to commit a lot of bulk content to long-term memory.
Does it help with higher level critical-thinking-problem-solving work? Probably not. But one must walk before one can run, and to run, one needs a foundation of bulk-facts to work off of (in my case, kanji readings / meanings / particles).
I use apps like codewars.com to refresh my skills. Things like SQL which I don't really use every week (or every month) but when I need it, I really need it. Or languages I am just interested in keeping my skills fresh with.
Interesting thing: it's hard to take a step into Personal Knowledge Management / note-taking / learning systems, and not discover the unreasonable effectiveness of Spaced Repetition Systems.
However, these ideas were not even hinted at while I was at school, time and space particularly dedicated to learning, and supposedly, learning how to learn.
I didn’t hear of spaced repetition in school, but isn’t flash cards essentially the same thing?
In spelling bees they’d tell us to keep practicing the words we got wrong though we should have kept practicing the ones we got right a little longer too
Flashcards are used in spaced repetition systems (typically), but the difference is the "algorithm". There is a deliberate delay between reviews in spaced repetition that you may or may not stumble upon accidentally with flashcards. At a rough approximation, you want to double (more or less) the time between reviewing cards if you know them before seeing them again. Most people studying flashcards won't do that on accident, at best they'll move the easy cards to another pile and review them at some point in the future, but it may be either too soon or too late.
In the too soon case, it's probably fine. Not ideal, but fine. They'll have more "this is still easy" cards than if they waited a bit longer. In the too late case, though, they'll have forgotten more material and have to restart cards more often. In a semester long course the too soon case is preferable (more studying than necessary to commit things to memory, but more things in memory), the too late case will mean more cramming at the end.
> I didn’t hear of spaced repetition in school, but isn’t flash cards essentially the same thing?
No, they're completely orthogonal IMO. SRS is a scheduler; when do you see a piece of information, based on how well you remembered it the last time you saw it.
The card is just the info itself. Going through a set of flashcards every day is not SRS; it completely misses the first S.
Many SRS' USE flashcards, but the important bit is the scheduling.
Well yeah, in themselves cards don’t have the S, but even their most basic basic usage of separating wrongly answered ones from the rest and repeating those again adds it back to a degree.
There are also versions where you put successfully repeated cards into the next category, repeating them 2/4/8… days until it “matures”.
> I didn’t hear of spaced repetition in school, but isn’t flash cards essentially the same thing?
The key part of spaced repetition is the exponential backoff for correctly-remembered items: An extended time between reviews appears to strengthen your memory much more than a short time, and an exponential schedule will let you add a constant number of items per day without the review load growing uncontrollably.
If you want to do this with physical flash cards, you can use something like a Leitner box:
If anyone is interested in seeing Spaced Repetition applied in different areas besides language and vocabulary. I have a free website called Piano Gym that lets you do use spaced repetition with Piano and sheet music.
It's pretty spiffy, and I can go on at length about it. I have a video explaining it here:
I personally use Piano Gym and I've found it to be pretty helpful in getting you to a point of practice and reading sheet music. But there's always more work to do for some of my more ambitious features. However it's a free tool and I have to make my money at my job. So enhancements come out slow.
For those interested, I’ve been working on an app that applies these principles for the past 3 years. [0] It uses markdown for formatting and a local-first architecture that works offline.
This looks awesome! Much easier to pick up than the anki-decks I tried to create. You doing this full-time? Want to invest my time and knowledge into decks, but hoping this wont get abandoned in 1-2 years :x
Thanks! Yes I am working on Mochi full time. I have plans to stop development, or sell the app. Plus I think there is at least some peace of mind in knowing that, since it is an offline-first architecture, you will always be able to use the app no matter what happens with development.
I've been reading a lot around this "spaced repetition" movement over the years and also tried it out sometimes myself. However, I'm still kinda a bit confused about this supposedly big "rote memorization I learnt in school" vs "spaced repetition which is what we should be using" distinction which is always brought up.
Don't treat this comment as I'm skeptical to spaced repetition or its scientific claim. I think it's great that it's being brought up so that more people can try it out! But these articles tend to always paint this picture of the current educational system being archaic as if nothing has improved in last ~50 years.
> During the school years, most of us got used to spending hours at a time memorizing facts, equations, the names of the elements, French verbs, dates of key historical events. We found ourselves frantically cramming the night before a test. We probably read through our notes over and over, a gallon of coffee in hand, in the hope that the information would somehow lodge in our brains. Once the test was over, we doubtless forgot everything straight away.
This doesn't really match how I was taught. I wasn't given a list of Spanish (the third language I learnt in school) verbs to memorize. Instead each chapter started with a set of new words we were supposed to learn, and then we did a bunch of reading/writing/listening exercises where we used these words over the next few days/weeks. During the week we slowly started internalizing them and we didn't stress if we didn't knew them by heart from the first day. In the following chapters they would repeatedly bring back previously learnt words. Everyone knew that you would have to both do weekly exercises to stay on top, and then later on repeat if you wanted for it to stick.
Of course, in practice, I often ended up having to panically memorize something before a test, but this had nothing to do with me thinking this was "the best way to learn". This was because I didn't actually cared about the topic, did tons of other cool stuff instead of learning it, and still wanted to put in some effort to get a decent grade. I certainly wouldn't blame my teachers for the "rote memorization" I put myself under. They constantly told me that it was much better to learn slow and steady during the semester and build up understanding of the topic.
> We don’t learn about spaced repetition in school—something which baffles many researchers.
The concept of "spaced repetition" is in my opinion well-understood by most people. Everyone expects that you need to repeat in order to learn.
As for the elaborate system of spaced repetition where you're precisely tracking everything to optimize for retention: Which researches are "baffled" that we're not learning this in school? It's something which hasn't been practical at all until very recent times (with phones/computers), and I'd expect that most researches on learning understands that teaching in school is a multi-faceted problem and that "this one trick" isn't the magic solution to all of our educational problems.
> Most classes teach a single topic per session, then don’t repeat it until the test.
This is not my experience at all. In History we were always asked to compare what we learnt in different chapters. Most of Maths typically build on top of each other, and e.g. you will end up practicing basic arithmetic when you're solving quadratic equations. It felt like teachers spent a lot of time to think about how to structure the curriculum so that we had a cohesive learning experience. And often they explicitly called out when we switched to a completely different part of the curriculum. It was also pretty common to have "summary" lecture at the end of these parts.
> A typical spaced repetition system includes these [four] key components
Trust me: I was often struggling to motivate myself to even pay attention to the topics. Having this elaborate system I had to maintain would not helped me in school at all.
I found this article [0] by a teacher who experimented with using formal spaced repetition systems in a classroom insightful. There were clear differences between motivated and unmotivated students, as you note. He ultimately decided that its utility was narrow, and that keeping students from forgetting facts is not the most important part of education.
To your second point (people understand repetition): The difference is in the name, repetition is well-understood but spacing is the key distinction. Daily reviews of the entire deck? Useful, bordering on cramming, but no spacing. Weekly reviews? Still not spacing (in the SRS sense). Split a deck into new and easy cards, with easy reviewed less often? Pushing towards spacing, but probably still on a regular interval (to the extent any student can maintain a consistent study schedule).
Spaced repetition works by (as I said in another comment) roughly doubling the interval between studying the easy cards. Eventually you'll have delayed too long on some cards and forgotten them, they get restarted, if totally forgotten, or studied with a reduced interval if it was hard but not totally forgotten. The interest in optimality is, for me, uninteresting. When I used it by hand (with flashcards) I just wanted something better than studying a whole deck daily or forgetting large chunks of it by waiting too long. It worked, it wasn't "optimal" (Anki and others gets closer to that) but it was much better than previous efforts.
To your first point: I think I agree with you. The complaints about rote learning are grossly exaggerated in many cases. I know it happens, and often in early subjects like arithmetic (it's hard to get a 4- or 5-year-old student to understand 2 + 2, but you can certainly get them to correctly compute it). But it's not the typical treatment if your teachers are at least half-decent. Part of the issue is that rote learning has become a pejorative, equated with learning without understanding. The reality is that it's a tool. Drills reinforce the information so that you can recall and apply it later. SRS fits into this by being (at least for many, if not most cases) a more efficient approach. But even Dr. Wozniak doesn't encourage SRS en lieu of other approaches: http://super-memory.com/articles/20rules.htm. SRS is an alternative to heavier drills, but it's not a replacement on its own for developing understanding.
What I’ve realized recently while learning Rust (no Anki involved) is that, for me at least, new information needs something to “cling on” to. I wonder if this Spacing Effect is another facet of the same idea.
My process with Rust was to first read most of The Book [0], and after this I had a decent understanding and I _thought_ I’d be able to write some code. The I tried (and mostly fumbled) writing some code. But it turned out I couldn’t remember much of the syntax, nor the finer details of how the borrowing system worked. Most of the stuff I’d read hadn’t really stuck.
After some time coding I went back and reread parts of The Book that I was fuzzy on, and those things came into clearer focus, and I was able to get further with the code.
The cycle repeated itself a few times - first with basic syntax, then with how to specify generic types, then with various ways I tangled myself up with the borrow checker, then lifetimes, then how to write iterators. With each stage I needed the sum of my previous experience PLUS another visit to either The Book or Programming Rust or some other explanation. Reading it all up front wasn’t good enough; ingesting the info needed to come at the right time.
I’ve seen this a lot also with people learning to code (especially in the web dev world), where they’ll watch a whole course and then lament that they still can’t build anything on their own. I think it’s the same core issue: too much information-up-front with nothing for it to stick to.
0: https://doc.rust-lang.org/book/