Monday, January 2, 2012

Use You a Spaced Repetition System for Great Good!

In 2008 I came upon an article in Wired (Want to Remember Everything You'll Ever Learn? Surrender to This Algorithm) about the SuperMemo spaced repetition memory system application. SuperMemo was developed by Piotr Woźniak who wrote his 1995 Ph.D. dissertation paper, Economics of Learning on the topic.

Here is the definition of an SRS system, from wikipedia:
"Spaced repetition is a learning technique that incorporates increasing intervals of time between subsequent review of previously learned material; this exploits the psychological spacing effect.
[...]
the spacing effect refers to the fact that humans and animals more easily remember or learn items in a list when they are studied a few times over a long period of time (spaced presentation), rather than studied repeatedly in a short period time (massed presentation)."
Image Copyright Wired: "Want to Remember Everything You'll Ever Learn? Surrender to This Algorithm"

When I came across the section in chapter 5 in the Practical Clojure book, that described the Clojure sequence API, I knew this knowledge would be perfect for an SRS system and right now I'm sufficiently motivated to try it out.

I choose to use Anki to help me learn Clojure, which is an easy to use, free, multi-platform, SRS system. Anki also allows you to sync/share your flashcards and offers a free basic web interface to your synced decks through your Anki web account. Anki uses the SM-2 algorithm developed by Piotr Woźniak, father of SuperMemo.

Regardless of which SRS system you use, I highly recommend reading these Woźniak articles before you begin training. Although these articles are written specifically for SuperMemo users, the knowledge they contain are universal and will be invaluable for your practice:

Also of interest is Jack Kinsella's great article, "Janki Method," which discusses using Anki to learn and retain techincal knowedge, shortening the time needed to learn programming.

If you decide to use Anki, you can download this shared deck of flash cards for the Clojure sequence API, based on Chapter 5 in Apress' Practical Clojure book.

To install the Anki deck, open up Anki and select Download from the File menu:

Download Shared Deck in Anki


In the Download Shared Deck window filter on "clojure" and you will see the latest Clojure Sequence API deck:

Anki Shared Deck Browser

1 comment:

  1. Thanks for the info. I've used SuperMemo in the past and am now trying to use it again to help learn details of various technical topics (Rails, JS, etc.) I'm interested in giving Anki & Memosyne a try, too. It would be great to find more libraries of topics like yours so we don't all have to reinvent the wheel.

    ReplyDelete