Anki
From charlesreid1
Anki flashcard decks
Anki is a nice program for creating and studying flashcards on a mobile phone. The Android and desktop versions are free, the iPhone version costs $.
Strategy
Anki is useful for learning small, short concepts - not large, sprawling concepts.
If you have a large, complicated concept, split it into parts.
For example, instead of "What is the factory design pattern?", instead ask, "When is a factory design pattern useful?" or "What are the 3 things a singleton implementation requires?"