[QTI] Multiple textEntryInteraction or fill in the blanks kind
of questions
Steve Lay
swl10 at cam.ac.uk
Tue Sep 11 18:54:34 BST 2007
Uma Abhyankar wrote:
> I was having doubt for writing fill in the blank question that contains
> multiple blanks. For instance,
> Question: Human being has 5 senses ____, _____, ____, ____ and _____
> Answer: taste, touch, sight, smell, hearing
Firstly, the simplest way to do this is to use an
extendedTextInteraction with multiple strings required.
> Question: Human being has 5 senses:
>_____
>_____
>_____
>_____
>_____
Not as pretty, but this can be achieved using a response variable of
cardinality multiple and setting maxStrings=5 on the
extendedTextInteraction.
<responseDeclaration identifier="RESPONSE" cardinality="multiple"
baseType="string">
<correctResponse>
<value>taste</value>
<value>touch</value>
<value>sight</value>
<value>smell</value>
<value>hearing</value>
</correctResponse>
</responseDeclaration>
<outcomeDeclaration identifier="SCORE" cardinality="single"
baseType="float"/>
<itemBody>
<extendedTextInteraction responseIdentifier="RESPONSE" maxStrings="5">
<prompt>Human being has 5 senses:</prompt>
</extendedTextInteraction>
</itemBody>
<responseProcessing
template="http://www.imsglobal.org/question/qti_v2p0/rptemplates/match_correct"/>
In QTI v1 there were some systems that encoded free text entry questions
with multiple answers this way but they weren't that portable really.
When it comes to response processing, the above is easy because a
variable of cardinality "multiple" can be matched against the correct
answer. For the moment, lets ignore the possibility of typing errors!
What the above solution does do is point us to a possible way of doing
what you really want. The following response processing gathers up all
the answers and treats them as a single multiple value:
<responseProcessing>
<responseCondition>
<responseIf>
<match>
<multiple>
<variable identifier="RESPONSE1"/>
<variable identifier="RESPONSE2"/>
<variable identifier="RESPONSE3"/>
<variable identifier="RESPONSE4"/>
<variable identifier="RESPONSE5"/>
</multiple>
<multiple>
<baseValue baseType="string">sight</baseValue>
<baseValue baseType="string">smell</baseValue>
<baseValue baseType="string">touch</baseValue>
<baseValue baseType="string">hearing</baseValue>
<baseValue baseType="string">taste</baseValue>
</multiple>
</match>
<setOutcomeValue identifier="SCORE">
<baseValue baseType="float">1</baseValue>
</setOutcomeValue>
</responseIf>
</responseCondition>
</responseProcessing>
Hope that helps.
Steve
More information about the IMS-QTI
mailing list