creating a quiz at runtime from multiple question banks

creating a quiz at runtime from multiple question banks

by sandeep dravid -
Number of replies: 4

Hi all

I want to develop a question bank of say 10000 questions.  I will have 2 catagory of student. 

1. those  who can get limited questions ( say 500) of above question bank , 50 on each attempt ( so those question may get repeated) . Each time they should get quiz dynamically .

2. Those whom I will expose entire question bank so chances of them getting repeat question is less.

So my questions are

How can have 2 question banks for these 2 kind of students ( or even more)

I dont want to create quiz manually . So is there any way I can programmatically create a quiz ( based on some parameters so it can be different for each student )

 

Appreciate a quick response

Average of ratings: -
In reply to sandeep dravid

Re: creating a quiz at runtime from multiple question banks

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

10,000 questions is a bit ambitious. I have been creating online questions for 10 years and I have yet to create ten thousand questions. 

Your idea of creating a large bank is an excellent way of ensuring that students get fresh questions.  There is a feature in Moodle that allows you to "add a random question", but you will have to experiment with it to find out exactly how it works on a student by student and quiz by quiz basis.

In reply to sandeep dravid

Re: creating a quiz at runtime from multiple question banks

by John Rodgers -
There are afew options, and I'm not totally sure what you want to do. Create questions incategories and sub categories, then use the "add x random questions" option to your quiz. There are a vey significant number of configurations avaiable after that.
In reply to sandeep dravid

Re: creating a quiz at runtime from multiple question banks

by Itamar Tzadok -

As Marcus and John suggest you can categorize the questions in the question bank and use random questions. But you will need two instance of the quiz, one for group 1 and the other for group 2. The questions should be categorized such that the 500 are in a sub category of the 9500. something like:

  • Category A (9500)
    • Category B (500)

Then in quiz 1 (for group 1) you add 50 random questions from category B and in quiz 2 (for group 2) you add 50 random questions from category A such that sub-categories are also included. smile

In reply to sandeep dravid

Re: creating a quiz at runtime from multiple question banks

by Orestes Mas -
Picture of Translators

You can use any programming language (preferably a scripting one, like python) to create a bunch of questions of the same type. I do it regularly.

To do it I create a base question of any type (although I'm mainly interested only in numerical and cloze types) and then export it to a text file in "Moodle XML format". Then I develop a little script in my programming language of choice that prints the text of the question but changing the parts I want to parametrize. You have al the processing power of your scripting language to perform the necessary calculations.

Then I import the generated XML file back to Moodle.

You can generate a lot of different questions out of a single base one: you only have to loop question-by-question over the central part of the XML file (each "<question>" tags)

I attach a little example. Hope it will be useful to you (comments and text are in catalan, but you can get the global idea).

With a bit of knowledge you can also generate varying graphs to illustrate each generated question. For this I suggest using a drawing language like pic or MetaPost to describe the graph textually (and depending on the parameters used in the questions), and then using the suitable tools to convert this description to the actual graph (.EPS, .PNG, .PDF...) to be inserted into the question.