flashcards: a little shell app in Python
May. 3rd, 2009 01:08 pmIn 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.
* 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:
*
* 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.