Quiz

Random Question Test

 
This discussion has been locked because a year has elapsed since the last post. Please start a new discussion topic.
Picture of Nate Nate
Random Question Test
 
I'm building a quiz that has 25 Essay questions in a category built for that quiz.  And I want it to pull 5 random questions.  So I clicked on the drop down, clicked on 5, clicked Add.  It added the 5 Random questions to the test, but when I go to preview it I get this error...
The number of random questions required is more than this category contains! (923)

I built 4 other quizzes that have 45 random questions in them and I didn't have any problems with those.  The only difference is that the other 4 aren't pulling essay type questions in for the questions.  Thanks for any help.
 
Average of ratings: -
Anthony Borrow
Re: Random Question Test
Group Core developersGroup Moodle HQGroup Plugin developersGroup Plugins guardiansGroup Testers
I'm not sure which version of Moodle you are using but AFAIK there was a patch the excluded the essay type question from being randomized. I would like to see this added back in so that they can be but currently you cannot count essay type questions as being available for random selection.
 
Average of ratings: -
Picture of Eduardo Hernandez
Re: Random Question Test
 
I'm running Moodle 1.6 and I get the same message.. is there any workaround?

Eduardo
 
Average of ratings: -
Picture of Eduardo Hernandez
randomizing essay questions in 1.6
 
I did some research on essay/random questions as I was getting the error that appears in the starting post of this thread.

I put an echo to the print_question function to display the $question->qtype.

When I have a quiz consisting of only 1 random question taken from a category with 2 multiple choice questions, and if I go to "preview" my echo says ...

"random"

But... but... If I create a new Quiz, consisting of only 1 random question taken from a category with 2 essay questions, and If I go to "Preview" my echo says...

"description"

My question... why "description"?..Could it be the reason or the bug why essay questions are not working as random questions ???

When attempt.php (in line 275 aprox.) calls to

if (!$questions = get_records_sql($sql)) {

$questions returns, for my quiz,

Array
(
    [14] => stdClass Object
        (
            [id] => 14
            [0] => 4
            [category] => 4
            [1] => 14
            [parent] => 14
            [2] => Pregunta aleatoria (2)
            [name] => Pregunta aleatoria (2)
            [3] => 0
            [questiontext] => 0
            [4] => 0
            [questiontextformat] => 0
            [5] =>
            [image] =>
            [6] => 1
            [defaultgrade] => 1
            [7] => 0
            [penalty] => 0
            [8] => random
            [qtype] => random
            [9] => 1
            [length] => 1
            [10] => localhost+060812035535+ahQTBw
            [stamp] => localhost+060812035535+ahQTBw
            [11] => localhost+060812035535+hHbtWw
            [version] => localhost+060812035535+hHbtWw
            [12] => 0
            [hidden] => 0
            [13] => 1
            [maxgrade] => 1
            [14] => 11
            [instance] => 11
        )

)

But at line 293 there's a call to

if (!$states = get_question_states($questions, $quiz, $attempt)) {

and after this call $question changes to

Please note how now it is set to "description" (why?).

By the way...
"El número requerido de preguntas es mayor de las que contiene esta categoría." means in Spanish "The number of random questions required is more than this category contains"

Array
(
    [14] => stdClass Object
        (
            [id] => 14
            [0] => 4
            [category] => 4
            [1] => 14
            [parent] => 14
            [2] => Pregunta aleatoria (2)
            [name] => Pregunta aleatoria (2)
            [3] => 0
            [questiontext] => El número requerido de preguntas es mayor de las que contiene esta categoría.
            [4] => 0
            [questiontextformat] => 0
            [5] =>
            [image] =>
            [6] => 1
            [defaultgrade] => 1
            [7] => 0
            [penalty] => 0
            [8] => random
            [qtype] => description
            [9] => 1
            [length] => 1
            [10] => localhost+060812035535+ahQTBw
            [stamp] => localhost+060812035535+ahQTBw
            [11] => localhost+060812035535+hHbtWw
            [version] => localhost+060812035535+hHbtWw
            [12] => 0
            [hidden] => 0
            [13] => 1
            [maxgrade] => 1
            [14] => 11
            [instance] => 11
            [name_prefix] => resp14_
        )



)


Eduardo
 
Average of ratings: -
Tim at Lone Pine Koala Sanctuary
Re: randomizing essay questions in 1.6
Group Core developersGroup Documentation writersGroup Particularly helpful MoodlersGroup Plugin developers
Essays are excluded from random question types. I don't know why. This was all developed before I took over as quiz maintainer. There is probably a good reason.

If you want to experiment. Go into question/type/random/questiontype.php and at the top, where it says

     var $excludedtypes = array("'random'", "'randomsamatch'", "'essay'", "'description'");


try removing essay from that list. I have no idea whether it will work.


The behavior Eduardo notices above is just the code using a trick to display an error message in the middle of the quiz.
 
Average of ratings: -
Picture of Michael Penney
Re: randomizing essay questions in 1.6
Group Core developers
Hi Tim, see:
http://moodle.org/bugs/bug.php?op=show&bugid=4004&pos=12
&
http://moodle.org/bugs/bug.php?op=show&bugid=5065&pos=21

By the way, the search function in the bugtracker is not very good, Google advanced search, limit domain to moodle.org/bugs (in this case: random essay site:http://moodle.org/bugs/), perhaps works okwink.
 
Average of ratings: -
Picture of Eduardo Hernandez
Re: randomizing essay questions in 1.6
 
Hi Michael,

So more than a problem of randomizing essay questions (that seems to work fine if they are removed from excluded types), it is more a problem of grading them (when a random question is an essay question).

Eduardo

 
Average of ratings: -
Picture of Eduardo Hernandez
Re: randomizing essay questions in 1.6
 
I have been trying to make essay questions work with random questions, and I have been studying how a quiz works in the backstage.. and I have a question.

I have been trying to see when/how/where a randon question is *linked* to an original question, and the only place a see a reference is in table mdl_question_states where the answer column says, for example, random7-..., where I can say "this randon question is showin the question with id 7 from mdl_question"

Is this the right place to see the original question a random question is pointed at?.

Eduardo

 
Average of ratings: -
Picture of Eduardo Hernandez
random essay questions in 1.6.1 (working) - not perfect
 
Hello,

After some research, I see my random essay questions working in 1.6.1.

After all the hints and tips taken from this thread, I saw that random essay questions is more an issue of grading them, than selecting them randomly.

As, Tim said before I went to question/type/random/questiontype.php and at the top, where it says

var $excludedtypes = array("'random'", "'randomsamatch'", "'essay'", "'description'");

I changed it to

var $excludedtypes = array("'random'", "'randomsamatch'", "'description'");

With the modification above, you can add random essay questions to any quiz, and student will be seeing a normal quiz, with random essay questions (cool!).

The problem arises when a teacher now wants to grade answers. Going to "Manual Grading" tabs shows nothing left to grade, as questions are "random" not "essay". To include the random questions I have modified the code at mod/   quiz/report/grading/report.php at line 141 , to include 'random'

 $sql = "SELECT q.*, i.grade AS maxgrade, i.id AS instance".
               "  FROM {$CFG->prefix}question q,".
               "       {$CFG->prefix}quiz_question_instances i".
               " WHERE i.quiz = '$quiz->id' AND q.id = i.question".
               "   AND q.id IN ($questionlist)".
               "   AND q.qtype IN ($QTYPE_MANUAL,'random')".
               "   ORDER BY q.name";
 
the problem is that with this, it will include any random question, not only "random essay ". However, since any multiplechoice or true/false question are automatically graded, they are listed in manual grading  but it correctly says that no questions must be graded. Only essay and random essay questions are listed with the number of questions waiting for a manual grade.

The perfect solution would be to list only random essay and essay question, but... that will result in a more complex SQL query.. as I really don't know where to look - correctly- the real question a random is poiting at ...

Anyway...for now it works.

Cheers
Eduardo
 
Average of ratings: Useful (1)
Tim at Lone Pine Koala Sanctuary
Re: random essay questions in 1.6.1 (working) - not perfect
Group Core developersGroup Documentation writersGroup Particularly helpful MoodlersGroup Plugin developers
Unfortunately, to do a better query, you would have to completely rewrite the report code, because different students will have been allocated differente essays via the same random question. It is certainly possible, but not easy. And I think the required SQL query would have to join together pretty much all the quiz and question tables.
 
Average of ratings: -
Picture of Eduardo Hernandez
Re: random essay questions in 1.6.1 (working) - not perfect
 
Yes Tim; I totally agree with you. As our teachers like random essay question we had to give them a solution ASAP. So far, including random questions in the manual report has not produced problems for audience (after some little explation on why random questions appear).

Ed
 
Average of ratings: -
Picture of Paulo Matos
Re: random essay questions in 1.6.1 (working) - not perfect
 
Just shrinked the list a bit more, selecting only the random questions that had at least one QTYPE_MANUAL on its category


$sql = "SELECT q.*, i.grade AS maxgrade, i.id AS instance".
" FROM {$CFG->prefix}question q,".
" {$CFG->prefix}quiz_question_instances i".
" WHERE i.quiz = '$quiz->id' AND q.id = i.question".
" AND q.id IN ($questionlist)".

" AND ( q.qtype IN ($QTYPE_MANUAL) ".
" OR ( ".
" q.qtype = 'random' AND " .
" EXISTS ( select * from {$CFG->prefix}question q2 WHERE q2.category = q.category and q2.qtype IN ($QTYPE_MANUAL) ) " .
" ) ".
" ) ".

" ORDER BY q.name";


As far as I understood, random qtype chooses a non-random question among it's own category.

Cheers,

Paulo Matos
 
Average of ratings: Useful (1)
Picture of Olli Savolainen
Re: random essay questions in 1.6.1 (working) - not perfect
Group Core developers
Here's another thumbs up for getting this fixed ASAP in moodle wide eyes.

Thanks a bunch Paulo! smile Got it fixed. This is a major issue for the electronic exam application being developed in the University of Tampere, it should definitely be somewhere in the quiz module GUI in BIG red letters so that it would be easy to acknowledge, until this finally and correctly gets fixed. I suppose it didn't get fixed yet in 1.7? How about saying "The number of random questions required is more than are still available in the category! (Note: 'random', 'randomsamatch', 'essay', 'description' type questions are currently not supported. If you want to support them, see http://moodle.org/mod/forum/post.php?reply=259905)" in that error message, or something similar?


 
Average of ratings: -
Picture of David Mudrák
Re: random essay questions
Group Core developersGroup Documentation writersGroup Moodle HQGroup Particularly helpful MoodlersGroup Plugin developersGroup Plugins guardiansGroup TestersGroup Translators
I have just spent several hours dealing with this problem. And I would really love if there was such a warning sleepy.
The feature still does not appear to be implemented in 1.7 nor in 1.8 dev. IMHO it is waiting for manual grading support for all question types... How far is it in the Quiz Roadplan?

I know there is a lot of other issues as well but I vote for this to be fixed in 1.8 wink
 
Average of ratings: -
Picture of Gwen Rodgers
Re: random essay questions in 1.6.1 (working) - not perfect
 
We get the message "The number of random questions required is more than are still available in the category!" on all random quizzes created.  Currently on Version 1.7.   Random quizzes worked fine for us before this version. There are definitely enough questions in the category. We get the message even when adding one question from a category. Thanks in advance for any help!
 
Average of ratings: -
Picture of Eduardo Hernandez
Re: random essay questions in 1.6.1 (working) - not perfect
 
I have not seen random essay question on 1.7, but probably you seeing this message because random essay questions are not a 1.7 feature (there were not in 1.6); and you should apply the changes described in this forum, similar to 1.6.x; to make them work....
 
Average of ratings: -
Manuel
Re: random essay questions in 1.6.1 (working) - not perfect
 
Is there a fix for this problem in version 1.7+, I will appreciate any comments...

met.
 
Average of ratings: -
ThirumaN
Re: random essay questions in 1.6.1 (working) - not perfect
 
I could get random essay question running by modifying

function is_usable_by_random() {
return false;
}

in /moodle/question/type/essay/questiontype.php to

function is_usable_by_random() {
return true;
}

I tested in 1.8

 
Average of ratings: -
Me and Ray
Re: random essay questions in 1.6.1 (working) - not perfect
 

function is_usable_by_random()

does not seem to in my questiontype.php in 1.6.4

I see that there is a lot more complex stuff futher up this thread.

Okay
1) Changed
ar $excludedtypes = array("'random'", "'randomsamatch'", "'essay'", "'description'");
var $excludedtypes = array("'random'", "'randomsamatch'", "'description'");
2) Reinsert the random question (I missed this stage at first)

Question can now be seen by students.


 
Average of ratings: -
Me and Ray
Re: random essay questions in 1.6.1 (working) - not perfect
 
I added the code suggested by Paulo to mod/quiz/report/grading/report.php but it says that there are "no manually graded questions" under the Manual Grading tab of the results tab. However, the code by Eduardo Hernandez does seem to work and since I do not have any non-essay questions in the quiz (they are all randomly presented essay questions) I think that this is going to work.

Thank you very much Eduardo.

The ability to give random questions is very important since it is the best way to lessen cheating.

Tim



 
Average of ratings: -
Picture of Matt Gibson relaxing in the Alps
Re: random essay questions in 1.6.1 (working) - not perfect
Group Plugin developers
MDL-8648

This is vital for me in building good written exams. vote please smile
 
Average of ratings: -
Picture of Tomas Torres
Re: random essay questions in 1.6.1 (working) - not perfect
 
Venkatesan

I tried in moodle 1.8.3, not working, I modified

in /moodle/question/type/essay/questiontype.php to

function is_usable_by_random() {
return true;
}
I got to do something else.

Thanks a lot
 
Average of ratings: -
Picture of Tomas Torres
Re: random essay questions in 1.6.1 (working) - not perfect
 
Sorry, is working in 1.8.3+, That was a mistake for my self.

Regards
 
Average of ratings: -
Picture of Genner Cerna
Re: Random Question Test
 
hopefully essay random question will available soon in next release... thanks
 
Average of ratings: -
Picture of Jonathan Bergmann
Re: Random Question Test
 
Please fix this.  I have written severeal essay type questions and I want moodle to pick one at random for my kids.
 
Average of ratings: -
Tim at Lone Pine Koala Sanctuary
Re: Random Question Test
Group Core developersGroup Documentation writersGroup Particularly helpful MoodlersGroup Plugin developers
It was fixed months ago. Update to Moodle 1.9.4 or later, and enable it on the admin screens.
 
Average of ratings: -