KQMATH / moodle-mod_capquiz

:mushroom: Computer adaptive practice activity module for Moodle
https://moodle.org/plugins/mod_capquiz
GNU General Public License v3.0
4 stars 5 forks source link

Deterministic question attempt order if n-closest prevents the same question to be drawn for a size larger than the number of questions #57

Open skrede opened 6 years ago

skrede commented 6 years ago

The class in capquiz/classes/matchmaking/n-closest/n_closest_selector.php specifies a configuration field to prevent the same question to be matched for the next N attempts.

If N is larger than the number of questions in the list, there will be no new questions to answer.

Two ways to handle this: The first is how it is currently implemented (but I think should be changed) and isn't really adaptive once all questions have been answered. Once all questions have been answered, the class will decrement N itself until a question is finally matched. This will lead to deterministic matchmaking, as it is basically ignoring questions in the order they were matched, and use them again.

The second is option is to leave it as it is and trust that the lecturer will set a reasonable number according to his question list. If students run out of questions they will notify the instructor. If they find progress to go too slow, they will probably notify the instructor as well. Whether or not the instructor think there is a problem with his configuration or his students are lazy isn't something we can solve by code.

skrede commented 6 years ago

I think the best solution is to not decrement the counter and let students run out of questions. We will still have the same problem if an instructor sets a number too high, but still valid (i.e., N < number of questions). This isn't really our problem

hgeorgsch commented 6 years ago

Letting students run out of questions is ok. If we don't blindly trust the teacher, we should add a help text to warn against large N which may break adaptivity. The ideal solution may be to cap N at, say, one tenth of the number of questions, but this is only one of several related issues which we may have to deal with at some point. Unless the implementation is trivial, we should leave it for now.

hgeorgsch commented 6 years ago

This issue may appear as a bug if the teacher sets a large number for the blacklist compared to the number of available questions. In the first instance, this may lead to the student getting too hard or too easy questions. In the worst case, if the blacklist is larger than the question list, the student will get no question at all. For now, we implement a help text to warn about the potential problem. There is no hard limit on the largest blacklist length which may make sense, and hence no complete and obvious solution.