Using Quiz for things that are not a Quiz

HylkeVDS's picture

Hello Quizers,

I'm working in a very small group at Wageningen University, a small university aimed at life sciences. We've been doing research on the design and development of learning material for the past nine years and we've recently decided to move from our home-grown scripts to a more solid foundation: Drupal, maybe using the Quiz module.

A lot of our material involves questions with feedback, so that's why I'm looking at the Quiz module to see if I can avoid a lot of duplicate work. So I'm trying to find out if the Quiz module does what we need and, if not, if the work I'm going to do to make something that does what we need can benefit the Quiz module.

The way we mainly use questions is in cases. The student is presented with a large (design) problem, and is guided through this problem with questions and feedback. A student can answer a question as often as he likes/needs. After every incorrect try he'll get two types of feedback: feedback specific for why his answer was incorrect and general hints. Both types of feedback can get more elaborate and specific for every try the student needs (though for most questions this is only used for the general hints).
example: http://pkedu.fbt.wur.nl/webman7/includes/guest_login.php?type=1&module=m...
Go to question 1 (Your Roommate) and try some answers, you'll see an increasing list of hints.
These cases are used for learning, there's no scoring or timing, the students can lookup things as much as they want.

In our old system we store the question as XML, as files at the moment. The xml for above question 1 is or example: http://pkedu.fbt.wur.nl/webman7/cases/mixing/questions/q1.xml Currently we have a nice set of question types: MC (single or multiple), Drag&Drop, Hotspot, Number, Select&Order, Fillblanks and some custom types. The answer of every question type is simply serialized to a text field. This gave us lots of flexibility, it was a research project after all :)

It seems to me that there is plenty of overlap, but also some big differences between what Quiz offers and what we need. What do you think?

Groups:
Login to post comments

Good features for Quiz module

turadg's picture
turadg - Wed, 2009-06-24 17:56

I think the use cases you describe could fit well into the more expansive Quiz module functionality currently being discussed. Can you add a note to the "Quiz 4.x planning" thread? Even better, post some feature request issue tickets.

http://educoder.org/
http://openeducationresearch.org/


ClosedQuestion module

HylkeVDS's picture
HylkeVDS - Mon, 2009-07-27 15:05

I've converted the question types into a Drupal module, and made sure it also works for anonymous users. A test site with some random questions covering all supported question types is here: http://hylke.pk.wau.nl/drupal/question-tests
Comments are welcome of course :)


ClosedQuestion is very impressive

turadg's picture
turadg - Fri, 2009-07-31 03:42

Hylke, I just checked out your demo and it's quite impressive. How are they authored? Does the user have to type XML?

Quiz is pretty limited right now, as you point out, but it is evolving rapidly and I think your use cases can be accommodated. I'm not sure the best way to go about it, but one might be do add your ClosedQuestion as a new Quiz question type using the new OO mechanism in Quiz 3.x. Then we can add features throughout the rest of quiz so it can be configured the way you've described.

http://chemistry.qcommons.org/
http://openeducationresearch.org/


Thank you, At the moment

HylkeVDS's picture
HylkeVDS - Fri, 2009-07-31 06:58

Thank you,

At the moment there is no question editor, so the user will have to type the xml himself. That's one of the things on the ToDo list.

One of the important features is that we can use the questions stand-alone, outside of quizzes, but I guess that should not be too hard to achieve

I'll be on holiday starting next week, so I won't be doing much development coming month :)


Great educational tool ...

MikeyLikesIt's picture
MikeyLikesIt - Wed, 2009-08-12 19:11

This form of interactive questioning with instant feedback would make a great educational tool. The quiz example you pointed to is awesome! It's like having a teacher guide you through the process of learning, first encouraging your to discover the knowledge for yourself and guiding you more directly through the process of figuring out the answer.

It seems to me that this should not be a new question type, but rather extend the existing question types, so that these q/a learning sessions would be able to benefit from all the different question types which exist now and which will be created later. I'm not sure how this would be done, since I've only just begun to look at the quiz module. The multiple choice question type already supports a form of feedback response, although it's significantly different than what you describe here since it's really designed for end-result feedback.

Perhaps you would need to create two modules to extend the cababilities of quiz questions, each of which would add a new section to the end of the create question pages:

Question Feedback - a list of feedback options, each with their own set of criteria defined by which option(s) were selected by the person providing the answer. So, you would enter the feedback into a text area and define the criteria under which that feedback will be given. (options: a selected, not c, not d) You will have to accommodate both single option and multi-option questions here, so the logic and UI could get kinda hairy.

Question Hints - It seems that this is just a list of hints that get displayed: one more for each incorrect answer until the hint basically tells the user what the answer is. Is there any need to also provide specific hints that are dependent upon which question option was selected or is that functionality totally regulated to the feedback module? Does the display order of the hints ever change depending on which options are selected?

Anyway ... just throwing out ideas because I love what I see going on here.


Hints are general hints that

HylkeVDS's picture
HylkeVDS - Mon, 2009-09-07 12:04

Hints are general hints that are not dependant on the answer of the student. The biggest "problem" with this and quiz is that getting a certain hint after your second try isn't very helpful if you can only try once :)

Making feedback question-independent is really hard I think. The multiple choice case is simple, as the answer is just one identifier of the selected option, but multiple-option is already harder, because the answer is a list of selected options. Drag & Drop gives as "raw" answer a list of coordinates for identifiers. Or possibly a list of identifier-hotspot combinations, and a list of identifiers that did not fit any hotspots. A select & order question generates an ordered list of identifiers. That seems the same as with multiple-option, but in this case the order is also important.

I'm not sure how to go about merging, or at least creating synergy between the closedQuestion and Quiz modules, even though it would be a worthwhile cause. Maybe I'll see the light when I'm a little less busy ;)


Hi HylkeVDS This is an

Tsegi - Wed, 2009-09-09 16:55

Hi HylkeVDS
This is an awesome demo and the perfect fit of what I want to accomplish.
I am newbie to drupal and trying to build a similar system for a school but the difference here is I want to give only three attempts per question and store the marks for each attempt. I will have different categories and the question type is only going to be multiple choices. For adding the questions I would rather not use xml . What will be the best way to go about this
Quiz has the limitations that you identified. Did you use the code from quiz and tweak it or is it a whole stand alone system. and did you use taxonomies and CCK?
Please explain a bit on how you achieved in the closed question.
Thank you in advance.
Tsegi


Set up

HylkeVDS's picture
HylkeVDS - Thu, 2009-09-10 07:38

It's currently a totally stand-alone system that's not based on quiz. It also does not use taxonomies nor CCK.
I do plan on using taxonomies for question classification for the adaptive system.
Every question type has it's own php class that creates and handles the form for the question. There's a question factory that looks at the type definition in the xml and instantiates the right class.

As for the xml, I do plan on building a more teacher-friendly question editor, but that will take some time.

Why do you want to limit the user to only three attempts? I often notice students that try out all incorrect answers, just to get see the feedback, even if they gave the correct answer in one attempt. So for learning you might be better of not putting a hard limit on the number of attempts. Currently it does store the number of attempts, but not the "attempts till correct", so you can't be sure a student did not try out incorrect answers after giving the correct answer. On the other hand, it is not hard to also store that number.


Hi HylkeVDS Thank you for the

Tsegi - Sat, 2009-09-12 11:14

Hi HylkeVDS
Thank you for the fast reply. I want to limit it to three attempts because I want it to be kind of quiz but guide them to the right answer by giving feed back until they reach at the right answer so it is in the middle between quiz and a full feedback giving teaching system. Is your code going to be available as a module any time soon?
Tsegi


Yes, it's available

HylkeVDS's picture
HylkeVDS - Sat, 2009-09-12 11:51

Yes, the module is available at:
http://hylke.pk.wau.nl/drupal/closedquestion
I just noticed I forgot to allow anonymous users access to attachments :)

This week I rewrote the Select & Order and the Drag & Drop questions to use jquery, so they're much nicer now.


Hi HylkeVDS Thank you.

Tsegi - Thu, 2009-09-24 10:06

Hi HylkeVDS
Thank you. Finally I was able to test closed question as it was giving me a warning of pass by reference at a school machine but I managed to do it from another machine. My other question is how you can make consecutive closed questions like quiz?


That's currently on the TODO list

HylkeVDS's picture
HylkeVDS - Thu, 2009-09-24 11:27

At the moment ClosedQuestion does not do that yet. You can put your questions in a book and have them in a sequence in that way.

The "pass by reference" error has been fixed in the meantime, a new version is available.


Pass by reference

Tsegi - Tue, 2009-09-29 09:36

Hi HylkeVDS
Thank you for the suggestion and the pass by reference is at the call of submitAnswer () function at line 189 in closedquestion.module .It seems to be still there.


You're right

HylkeVDS's picture
HylkeVDS - Tue, 2009-09-29 12:02

You're right, NOW it is fixed (in version 090929)


Hi HyKeVDS Sorted .Brilliant

Tsegi - Thu, 2009-10-01 15:06

Hi HyKeVDS
Sorted .Brilliant .Thank you.
Tsegi


Proteus implementation

HylkeVDS's picture
HylkeVDS - Fri, 2009-10-30 14:09

Hi all,

I've made a first implemented the adaptive question-system Proteus, described in this paper: http://www.editlib.org/d/21709/article_21709.pdf
It has all the basic functionality, and a few rough edges (it doesn't work for anonymous users yet)

From a teacher's point of view:

  1. Make a bunch of Closed Question nodes (using the ClosedQuestion module).
  2. For each learning objective make a taxonomy term and link the term to the content types Closed Question and Proteus Quiz
  3. For each question, under the heading "Proteus Settings" select the learning objectives for the question and assign an entry level and an exit level.
  4. Create a Proteus Quiz node.
  5. For this Proteus Quiz node, select the learning objectives for the quiz and set the Target Level for each objective.

From a student's point of view:

  • A student starts at a level of 0 for each objective.
  • The student can get questions that have an entry level that is lower than or equal his current level.
  • If a student answers a question correct in 1 try, his new level will be the exit level for each objective linked to that question.
  • If a student needs more tries, his new level will be lower than the exit level.
  • Once a student reaches the target Level for all objectives of the Protus Quiz, he has finished the quiz.

You can get the module here:
http://hylke.pk.wau.nl/drupal/

If you can't get the paper, send me a message and I'll send it by email.


Instructions? (For a dummy?)

MichaelBrown - Wed, 2009-11-11 09:40

Hylke,

This is a wonderful tool. Exactly what I need for my online training site.

But I'm afraid I am very confused about how to use your module.

I have installed both Closedquestion and Proteus. I want to work with Closedquestion first, to get the hang of it.

Do you have a set of simple instructions for how to create a basic question node?

I understand that you have to type your own xml, but that's where I get lost. I am pretty good with html, but I don't know the first thing about xml.

I see that you have several examples, in a folder called "examples".

When I am in the "create closed question" screen, looking at the empty fields, what do I put in the "question xml" field?

I tried copying and pasting the content from one of your examples, but no go.

Please give me a sample of the text I must type into the "question xml" field, and any other settings I should make, and I will learn the rest.

I'm sure you are a busy guy, but I would really appreciate a little advice. Your module is really fantastic.

Thank you in advance.


Working on that

HylkeVDS's picture
HylkeVDS - Wed, 2009-11-11 10:24

Thank you for the feedback :)

You should be able to just paste one of the examples into the question xml box. What is the result if you do? Any errors?

What filters are used in the Input Format that you are using? You should not use html corrector or html filter, as those will modify the xml. You probably also don't want Line break converter, as that will add linebreaks in bad places.

We are working on the documentation for the xml, and I hope to have something soon.

A simple multiple choice question that should just work would be:

<question type="OPTION">
<text>
   <p>Some content that asks a question.</p>
</text>
<option correct="0">
<choice>Choice 1.</choice>
    <feedback mintries="1">
        Specific feedback for choice 1 after try 1.
    </feedback>
<feedback mintries="2">
        Specific feedback for choice 1 after try 2.
    </feedback>
</option>

<option correct="0">
<choice>Choice 2.</choice>
    <feedback mintries="1">
        Specific feedback for choice 2 after try 1.
    </feedback>
<feedback mintries="2">
        Specific feedback for choice 2 after try 2.
    </feedback>
</option>

<option correct="1">
<choice>Choice 3.</choice>
    <feedback>
       Correct!
   </feedback>
</option>

</question>


Thanks

MichaelBrown - Thu, 2009-11-12 04:20

Thanks for your quick response.

I went into "create closed question"

I gave the node a title "Sampleq"

Then I pasted the entire content of the multiplechoice.xml example file into the "Question XML" area.

I'm using full html, with no html corrector and no line break converter.

When I hit "preview", I get this error:

Fatal error: Call to a member function loadXML() on a non-object in /home/aesdcco/public_html/elearning/sites/all/modules/closedquestion/closedquestion.module on line 221

I've tried it with each of your examples.

I even tried pasting the exact text of your example above, but I get the same error.

I'm sure I am making a very simple mistake, but I just can't figure it out.

I appreciate any help.

Thanks.


Preview...

HylkeVDS's picture
HylkeVDS - Thu, 2009-11-12 10:26

Funny, I never even tried the preview button... Looks like I have some work to do :)

Can you try just try hitting Save and see if that works?


New version

HylkeVDS's picture
HylkeVDS - Mon, 2009-11-16 09:36

Version 0.7 should no longer give an error when you hit preview, but you can't answer the question in the preview, as there is no node yet to store the answer with.