Dynamic quiz from incorrectly answered questions

Dynamic quiz from incorrectly answered questions

by Michael Ko -
Number of replies: 4

Hi all,

We want a new quiz to be created, generated from questions answered incorrectly.

For instance, a student completes Quiz 1, gets 70/100, then it creates "Quiz 1 Retry" for the student with the 30 incorrectly answered questions.

Is there any recommended way to achieve this? It seems really unfortunate that the "random" question bank feature doesn't look extendable.

We must use the deferredfeedback question behaviour (or a subclass) for the original quiz, but there is a bit more flexibility with the retry quiz.

Can this be achieved with a new question behaviour? Otherwise I'm stuck generating a new quiz (and adding to the quiz_slots) after each student attempt, which will quickly lead to a massive number of quizzes in the system.

Thanks

We are using 3.2 by the way

Average of ratings: Useful (2)
In reply to Michael Ko

Re: Dynamic quiz from incorrectly answered questions

by Miro Iliaš -
Very good point ! Many of us, Quiz users, would be interested in this feature. 
Average of ratings: Useful (1)
In reply to Michael Ko

Re: Dynamic quiz from incorrectly answered questions

by Michael Ko -

Well I have achieved the feature by:

1. A local plugin to create a new quiz instance, similar to how the quiz unit test does it, and add the questions

2. Quiz access rule to ensure the "Retry" quiz can only be accessed by the user who made the original attempt

My questions are:

1. Will there be serious overall performance ramifications if a course has 10,000 quizzes (each year, and must retain them for 2+ years) containing an average of 60 questions? I know that Moodle does a lot of caching/operations on the courses

2. The quiz_slots table is going to jump from 16,000 rows to > 1 million, not to mention the impact on question attempt steps/data. I know that the quiz module is already quite database intensive. Will this cause any notable performance degradation? 

Thanks

In reply to Michael Ko

Re: Dynamic quiz from incorrectly answered questions

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Obviously, something like this is a very nice idea educationally.

The question is: how best to implement it in Moodle?

The 'Each attempt builds on last' advanced quiz setting is sort-of and attempt to implement this, but is not the best maintained feature, and does not do quite what you want.

It would be possible to build something similar by changing core Moodle core a bit. You could make a new special question type (or possibly, as you say, question behaviour) called something like "You got this question right last time" which just automatically gives them full marks with no interaction, rather than them having to do anything.

Then, when you start a second (or later) attempt, any question they got right last time, replace it with one of those "You got this question right last time" questions.

If this was coded well, then I don't see why it could not go into Moodle core. It is a nice idea.

Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Dynamic quiz from incorrectly answered questions

by Clifton Walton -

Hi All,

I am also new to Moodle and have been looking at this with great interest. I have posted similar questions in other threads.


I work in a service based RTO, Police, Fire and Emergency Services. End of a long story is that we need participants to get 100% on all tests and we give them three attempts to get there before re-training. We also need to know their first attempt score to determine Dux of the class and we have a discussion around study with any members who didn't get 70% on their first attempt.


My issue is that after submitting a first attempt and finishing a review is that when you re-attempt there is no longer any way of knowing which questions are right and wrong. This means that the participant is not free "to concentrate on just those questions that were answered incorrectly ".

On re-attempting subsequent attempts, the navigation panel with the numbered boxes in the top left corner no longer displays red, green or yellow like it did when 'reviewing'. All boxes are now white. All of the answers to all questions are carried across from the previous attempt and none of the scores on the panel at the start of the question appear.

After re-attempting a quiz, the participant can't tell which ones they got right or wrong, they can see their previous answers but there is no longer any indication if that answer was correct or not.

Some of our quizzes are 100 questions and with the review pane no longer available the participants forget which questions they need to re-attempt.

If a participant accidently re-attempts a question they previously got right and subsequently gets it wrong, the builder function actually builds backwards, takes score off regardless of settings (highest score, last attempt etc.).


A suggestion would be that on subsequent attempts that only the previously correct answers pre-fill, and these would be 'locked in', unchangeable, so that the participant only has to re-answer those they got wrong, the others are all completed. Another help would be to have the navigation pane in the top left corner show red, green and yellow just like it did during the 'review' of the previous attempt.


Does anyone know if these suggestions are possible to achieve? Are there any available plug-ins to help with this?