Anki SRS Algorithm : Spaced repetition explained with code
I'm surprised that no spaced repetition systems seem to exploit relationships between facts/cards. One might imagine that capturing a graph of similar ideas would allow for better algorithms.