zeeguu / api

API for tracking a learner's progress when reading materials in a foreign language and recommending further personalized exercises and readings.
https://zeeguu.org
MIT License
8 stars 24 forks source link

New level scheduling #301

Open merleschoen opened 3 days ago

merleschoen commented 3 days ago

With this pr we introduce a new scheduling algorithm with four difficulty levels.

Level Exercises
1 Match, Multiple-Choice L1, Click Word In Context
2 Multiple-Choice L2, Multiple-Choice Context, Multiple-Choice Audio
3 Translate What You Hear, Translate Into L1
4 Spell What You Hear, Translate Into L2

A bookmark is now considered learned once it has progressed through cooling interval 0 -> 1 -> 2 for all four levels. This pr also includes a refactoring of the BasicSR class into a parent class with two children: LevelsSR and LearningCycleSR, so it will be easier for us to introduce new schedulers in the future.

Currently, the levels are implemented as a feature that is only available to selected classes.