Flash Card Viewer

Novel Writer Hut Icon

Jer’s Flash Card Viewer

It’s slick!

I’m supposed to be learning Czech, see. I live in Prague, and it’s only polite to speak the lingo. So I’m taking lessons and making progress, but there’s so dang many words! To help myself review the vocab I wrote this little program and spent far more time than I should have tweaking the algorithm that prioritizes which words to show more often.

Flash Card Viewer’s features include:

  • Adaptive prioritization focuses on words or phrases you are having difficulty with
  • Words and phrases are grouped into levels, which can correspond to textbook chapters
  • External library files allow easy sharing
  • Easy to add and modify words
  • Tracks mastery of individual words and phrases based on your criteria
  • Ability to adjust word priority

Flash Card Viewer is for MacOS X 10.4 and later only.

Download the latest version of Jer’s Flash Card Viewer for Macintosh. This is a fully-functional version that you can use as long as you like. Every once in a while it will gently remind you that if you find it useful, to please pay.

Hey, it’s only five bucks!

If you build a library, it would be really cool if you shared it with others. There is a place in the forums to notify folks of your work.

Flash Card main window

The main window allows you to test yourself translating either direction, and allows you to control the level you wish to review.

Flash Card library inspector

This view makes it easy to correct errors in the library and to see how you’re doing.

Obviously I need to review how to say “jacket” in Czech!


Flash Card main window

This part lets you adjust how often you see the words that are giving you trouble. It’s also fun to move the slider back and forth. I can’t explain why; it just is.

For the propellerheads out there:

The algorithm for selecting a word is:

( log(minRandom) - log( (random() % maxValue) / (maxValue / (maxRandom - minRandom)) + minRandom) ) / ((log(minRandom)-log(maxRandom))/numberOfWords)

minRandom = exp(slider value), where the slider goes from 1.001 to 1.2 (user adjustable)
maxRandom = 0.27
maxValue = a very big number

Words are ranked by priority, and the priority is set at the start of a session based on word level, percentage, and the number of times the word has been shown. Priority is modified on each guess based on percentage and how many times in a row the student has got it right or wrong.