Smart Vocabulary Trainer

About two years ago I created a smart vocabulary trainer based on Hermann Ebbinghaus‘s learning curve to prepare myself for my year abroad in Paris. The trainer’s basic idea is the same as when you try to memorize words, phrases or facts with the help of file cards.

The software saves your learning cards centrally on a server and assigns all new cards to category 1. After having added all cards the software presents you with one card and gives you the time you need to remember the translation of the given word. When the software presents you with the translation it asks you whether you knew the answer. If so the card is moved to category 2. The rest of the category 1 cards are presented one by one

So far so good. After one day has passed the cards of category 2 are ready to be presented. The game starts anew. If you correctly knew the answer of one card it will be moved to category 3 where you have to wait for another 3 days to be asked again. If you failed to answer the question correctly the card will be put back to category 1.

The following break times apply:

  • cat 1: immediate
  • cat 2: 1 day
  • cat 3: 3 days
  • cat 4: 9 days
  • cat 5: 30 days
  • cat 6: 90 days
  • cat 7: successfully learned

When you made it to category 7 with one card it is considered to be successfully learned. According to Ebbinghaus it is very unlikely that you will ever forget the card.
For this to work – also it pains – every wrong answered card gets back to category 1.

One pretty cool feature is that you can add card on the go. E.g. imagine you knew the German word “werden” (with means “to become”) and now you wanted to know its French translation, then you would only have to look it up and add it to your cards.

The software can access the online translator and is able to parse the HTML formatted answer. In the same fashion you can also correct typos you realize in your existing cards.

I implemented the vocabulary trainer using Microsoft Visual Studio 2005, C# and Web Services. The application uses SOAP in order to connect to a PHP based Web Service.
The resulting managed code could be run on any Windows Mobile device as much as on any Windows platform that runs the .Net Framework.

I used the software for a period of about a year on my HTC Magic and learned far more than 400 vocabularies. As I have no Windows phone anymore I abandoned the software with the silly name Bréparation. If you feel like looking in its sources just contact me.