Alex's Notes

Choice Interaction (QTI)

The choice interaction presents a set of choices to the candidate. The candidate’s task is to select one or more of the choices, up to a maximum of maxChoices. The interaction is always initialized with no choices selected. The choiceInteraction must be bound to a response variable with a baseType of identifier and single or multiple cardinality. The relevant classes are:

choiceInteraction

Data Model

Simple Choice Attribute

DescriptorDefinition
Attribute NamesimpleChoice
Data TypeSimpleChoice
Value SpaceContainer [ Sequence ]
ScopeGlobal (“+”)
Multiplicity[1.. unbounded]
DescriptionThis is an ordered list of the choices that are displayed to the user. The order is the order of the choices presented to the user unless shuffle is true.

Data Model

Examples

Single Choice

<assessmentItem xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd"     identifier="choice" title="Unattended Luggage" adaptive="false" timeDependent="false">
  <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
    <correctResponse>
      <value>ChoiceA</value>
    </correctResponse>
  </responseDeclaration>
  <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float">
    <defaultValue>
      <value>0</value>
    </defaultValue>
  </outcomeDeclaration>
  <itemBody>
    <p>Look at the text in the picture.</p>
      <p>
	<img src="images/sign.png" alt="NEVER LEAVE LUGGAGE UNATTENDED"/>
      </p>
    <choiceInteraction responseIdentifier="RESPONSE" shuffle="false" maxChoices="1">
      <prompt>What does it say?</prompt>
      <simpleChoice identifier="ChoiceA">You must stay with your luggage at all times.</simpleChoice>
      <simpleChoice identifier="ChoiceB">Do not let someone else look after your luggage.</simpleChoice>
      <simpleChoice identifier="ChoiceC">Remember your luggage when you leave.</simpleChoice>
    </choiceInteraction>
  </itemBody>
  <responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
</assessmentItem>

Shuffling with one fixed answer:

<assessmentItem xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd" identifier="choice" title="Unattended Luggage" adaptive="false" timeDependent="false">
    <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
	<correctResponse>
	    <value>ChoiceA</value>
	</correctResponse>
    </responseDeclaration>
    <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float">
	<defaultValue>
	    <value>0</value>
	</defaultValue>
    </outcomeDeclaration>
    <itemBody>
	<p>Look at the text in the picture.</p>
	<p>
	    <img src="images/sign.png" alt="NEVER LEAVE LUGGAGE UNATTENDED"/>
	</p>
	<choiceInteraction responseIdentifier="RESPONSE" shuffle="true" maxChoices="1">
	    <prompt>What does it say?</prompt>
	    <simpleChoice identifier="ChoiceA">You must stay with your luggage at all times.</simpleChoice>
	    <simpleChoice identifier="ChoiceB">Do not let someone else look after your luggage.</simpleChoice>
	    <simpleChoice identifier="ChoiceC">Remember your luggage when you leave.</simpleChoice>
	    <simpleChoice identifier="ChoiceD" fixed="true">None of the above.</simpleChoice>
	</choiceInteraction>
    </itemBody>
    <responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
</assessmentItem>

Multi-select

<assessmentItem xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd" identifier="choiceMultiple" title="Composition of Water" adaptive="false" timeDependent="false">
    <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="identifier">
	<correctResponse>
	    <value>H</value>
	    <value>O</value>
	</correctResponse>
	<mapping lowerBound="0" upperBound="2" defaultValue="-2">
	    <mapEntry mapKey="H" mappedValue="1"/>
	    <mapEntry mapKey="O" mappedValue="1"/>
	    <mapEntry mapKey="Cl" mappedValue="-1"/>
	</mapping>
    </responseDeclaration>
    <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
    <itemBody>
	<choiceInteraction responseIdentifier="RESPONSE" shuffle="true" maxChoices="0">
	    <prompt>
Which of the following elements are used to form water?
	    </prompt>
	    <simpleChoice identifier="H" fixed="false">Hydrogen</simpleChoice>
	    <simpleChoice identifier="He" fixed="false">Helium</simpleChoice>
	    <simpleChoice identifier="C" fixed="false">Carbon</simpleChoice>
	    <simpleChoice identifier="O" fixed="false">Oxygen</simpleChoice>
	    <simpleChoice identifier="N" fixed="false">Nitrogen</simpleChoice>
	    <simpleChoice identifier="Cl" fixed="false">Chlorine</simpleChoice>
	</choiceInteraction>
    </itemBody>
    <responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response"/>
</assessmentItem>

Note the mapping here, which sets lower and upper bounds for the score, each wrong entry gives -2, except chlorine, the partial responses of hydrogen and oxygen are awarded one mark each.

Multiple Correct answer sets

Finally, a multiple choice with multiple select answers:

<assessmentItem xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd" identifier="choiceMultiple" title="Chocolate Milk" adaptive="false" timeDependent="false">
    <responseDeclaration identifier="MR01" cardinality="multiple" baseType="identifier"/>
    <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
    <itemBody>
	<choiceInteraction responseIdentifier="MR01" shuffle="true" maxChoices="10">
	    <prompt>
How to make chocolate milk. Select the combination of steps that lead to a nice glass of hot and steamy chocolate milk.
	    </prompt>
	    <simpleChoice identifier="C01" fixed="false">Take a lighter</simpleChoice>
	    <simpleChoice identifier="C02" fixed="false">Open the gas on the stove</simpleChoice>
	    <simpleChoice identifier="C03" fixed="false">Light the gas</simpleChoice>
	    <simpleChoice identifier="C04" fixed="false">Poor the milk in the pan</simpleChoice>
	    <simpleChoice identifier="C05" fixed="false">Add 2 tea spoons of cocoa into the mug</simpleChoice>
	    <simpleChoice identifier="C06" fixed="false">Add 2 tea spoons of sugar into the mug</simpleChoice>
	    <simpleChoice identifier="C07" fixed="false">Add 2 spoons of water into the mug</simpleChoice>
	    <simpleChoice identifier="C08" fixed="false">
Stir the water, cocoa and sugar until the mixture is smooth
	    </simpleChoice>
	    <simpleChoice identifier="C09" fixed="false">Put the pan with milk on the stove</simpleChoice>
	    <simpleChoice identifier="C10" fixed="false">Poor the boiling milk into the mug</simpleChoice>
	    <simpleChoice identifier="C11" fixed="false">
Put the mug with the mixture and milk into the microwave
	    </simpleChoice>
	    <simpleChoice identifier="C12" fixed="false">Add milk to the mug with the smooth mixture</simpleChoice>
	    <simpleChoice identifier="C13" fixed="false">
Add cold milk from the fridge into the mug with smooth mixture
	    </simpleChoice>
	    <simpleChoice identifier="C14" fixed="false">
Set the microwave on 700 Watt and set the timer to 2 minutes
	    </simpleChoice>
	</choiceInteraction>
    </itemBody>
    <responseProcessing>
	<responseCondition>
	    <responseIf>
		<match>
		    <variable identifier="MR01"/>
		    <multiple>
			<baseValue baseType="identifier">C01</baseValue>
			<baseValue baseType="identifier">C02</baseValue>
			<baseValue baseType="identifier">C03</baseValue>
			<baseValue baseType="identifier">C04</baseValue>
			<baseValue baseType="identifier">C05</baseValue>
			<baseValue baseType="identifier">C06</baseValue>
			<baseValue baseType="identifier">C07</baseValue>
			<baseValue baseType="identifier">C08</baseValue>
			<baseValue baseType="identifier">C09</baseValue>
			<baseValue baseType="identifier">C10</baseValue>
		    </multiple>
		</match>
		<setOutcomeValue identifier="SCORE">
		    <baseValue baseType="float">1</baseValue>
		</setOutcomeValue>
	    </responseIf>
	    <responseElseIf>
		<match>
		    <variable identifier="MR01"/>
		    <multiple>
			<baseValue baseType="identifier">C11</baseValue>
			<baseValue baseType="identifier">C05</baseValue>
			<baseValue baseType="identifier">C06</baseValue>
			<baseValue baseType="identifier">C07</baseValue>
			<baseValue baseType="identifier">C08</baseValue>
			<baseValue baseType="identifier">C12</baseValue>
			<baseValue baseType="identifier">C13</baseValue>
			<baseValue baseType="identifier">C14</baseValue>
		    </multiple>
		</match>
		<setOutcomeValue identifier="SCORE">
		    <baseValue baseType="float">1</baseValue>
		</setOutcomeValue>
	    </responseElseIf>
	</responseCondition>
    </responseProcessing>
</assessmentItem>

Links to this note