Contents Background Spaced Repetition

Contents Background Spaced Repetition

Contents Background 1 Spaced Repetition 1 Custom Anki Copy 2 Use Cases 2 Foreign Languages . 2 Programming Languages . 3 Background Here begins my earnest effort to learn and retain everything: Spaced Repetition Here’s the algorithm I ended up using for supermemo I(1) = 1 I(2) = 6 I(n) = I(n-1)*EF where easiness factor is a easiness factor that varies between 1.1 and 2.5 the new easiness factor is computed as: EF' := EF - 0.8+ 0.28*q-0.02*q*q where q is a number between 1 and 5, and starts as 2.5, inter-repetition interval is in days Easiness factor is made according to this rubric: • 5: perfect, effortless • 4: perfect, some effort • 3: correct, with some difficulty • 2: incorrect, but got it second try • 1: incorrect, but got it eventually • 0: complete blackout function computeInterval(oldInterval, oldEF, difficulty) { let newEF = oldEF - 0.8 + 0.28*difficulty - 0.02*difficulty*difficulty; return oldInterval * newEF // need to save newEF } 1 Custom Anki Copy I’m going to make my own version of the popular incremental reading software anki. Not because I have a problem with it, I actually haven’t given it an earnest try yet, but because I think this kind of thing is highly personalized and I’d do better to make my own version. I also think rewriting is an important part of the learning process. It forces you to make the things that you actually want to remember more explicit. I already have a way to encode flashcards into my notes. Now all that remains is to create a way to review those flashcards according to the spaced repetition formula that I set. I propose this: The yml format for flashcards remains as it is, since for some things I’ll want to procedurally generate flashcards, or write them out by hand. I’ll then hash the input and save a database of hash -> difficulty map. Then loading the flashcards becomes a proccess like this: • Load all flashcards from all files into memory • Annotate the flashcards with their respective topics • Annotate the flashcards with their hashed difficulties / last practiced dates • figure out which flashcards to review based on the spaced repetition algo- rithm • review those cards • update the hash -> difficulty maps This model eliminates the need to rewrite the flashcards, which obviously is a messy process It requires keeping two pieces of information for each hash: a record of the last time it was reviewed, and the next repetition interval, which is continuously computed. Use Cases When is spaced repetition a good way to accomplish what you’re trying to do? Foreign Languages This use case is pretty well documented, and it’s not what I’m using it for, so I won’t elaborate 2 Programming Languages Often, not knowing the syntax of a language gets in the way of programming effectively. Having to search for fairly uncommon use case synatax adds a lot of mental burden, and causes frustration. Studying syntax, while less fun than actual programming, is far more time-efficient 3.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    3 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us