gusl: (Default)
2009-05-03 01:08 pm
Entry tags:

flashcards: a little shell app in Python

In the last 2 hours, I created a little shell app in Python, which presents flashcards for vocabulary learning. I'm happy because I never touched Python code before.
* you call the app passing your username and the vocabulary file
* it presents a random word in L1, and then asks if you remember the corresponding word in L2
* it records your responses and reaction time
* when you quit, it serializes this information to a file (rather than using a text file... I'm wondering if this will matter)

ToDo:
* respond to single keystrokes (spare my poor Enter key). DONE
* use machine learning to model forgetting, and the spacing effect
* optimize the flashcard schedule accordingly, to maximize retention
* eventually, use information like POS, semantic relations, word length

I suspect that an optimal active learning schedule (to minimize uncertainty about the user model) might be pretty close to the schedule that maximizes retention.

Here's a neat reflective feature of Python: by using 'input', you can let the user ask the value of any variable by naming it.