Uhhhh... there's a gazillion products based on "spaced repetition" - http://en.wikipedia.org/wiki/Spaced_repetition
I used "Mental Case" on the iPhone a few years ago, and it had a simple implementation of spaced repetition, but it did not adjust itself to my progress very well. I would like to find something better; if you know of anything specific besides the Wikipedia article, please post it.