[QTI] r2q2: Problem with example that contains more than one <responseCondition>

Jonathon Hare jsh2 at ecs.soton.ac.uk
Wed Oct 3 13:46:10 BST 2007


Hi,

I've had a look at the example from the website and found a number of  
problems. Firstly, there is a bug in the way r2q2 handles the gte  
expression. I've fixed this in the latest development code  
(downloadable from here and very easy to install: http:// 
www.asdel.ecs.soton.ac.uk/devel/R2Q2_SNAPSHOT_20071003.zip).

The second problem is that the QTI is not valid. There are a number  
of syntax errors in the <blockQuote> of the last <modalFeedback>  
which need to be fixed, and the outcome declaration for the  
outcomeVariable identified by "FEEDBACK" is semantically incorrect -  
it should be defined as having multiple cardinality rather than  
single. To fix these problems, I would suggest replacing the last  
modalFeedback with something this:

<modalFeedback outcomeIdentifier="FEEDBACK" identifier="CONJUGATION"  
showHide="show">
         Here is the conjugation of 'haben':
         <blockquote>
             <p>
                 <big>Singular</big>
                 ich habe<br />
                 du hast<br />
                 er hat

                 <big>Plural</big>

                 <strong>
                     wir haben<br />
                     Sie haben<br />
                     sie haben
                 </strong>
             </p>
         </blockquote>
     </modalFeedback>

and, replacing the <outcomeDeclaration> for the FEEDBACK variable  
with this:

<outcomeDeclaration identifier="FEEDBACK" cardinality="multiple"  
baseType="identifier"/>

Regards,

Jonathon Hare


-- 
Dr Jonathon S. Hare,
School of Electronics and Computer Science,
The University of Southampton,
Highfield,
Southampton,
SO17 1BJ

Tel.:     +44 (0)23 80595749
Email:   jsh2 at ecs.soton.ac.uk


> From: Markus Schmitt <markus.schmitt33333 at yahoo.de>
> Date: 25 September 2007 16:28:25 BDT
> To: ims-qti at lists.ucles.org.uk
> Subject: [QTI] r2q2: Problem with example that contains more than  
> one <responseCondition>
> Reply-To: "IMS Question &amp; Test Interoperability" <ims- 
> qti at lists.ucles.org.uk>
>
>
> Hello,
>
> Does anyone know why the example above (I have
> downloaded here:
> http://qtitools.caret.cam.ac.uk/qtiv2/examples/V2langexamples.html)
> doesn't work in the programme R2Q2.
> If I remove the last <responseCondition> it works, but
>  I don't know why. Is there an error in the
> <responseCondition> or is this a bug in R2Q2.
>
> Many thanks for your answers.
>
>
> --------------------------------------------
> <assessmentItem
> xmlns="http://www.imsglobal.org/xsd/imsqti_v2p0"
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
> xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p0
> imsqti_v2p0.xsd"
>     identifier="Conjugation_of_haben"
> title="Conjugation of haben" adaptive="false"
> timeDependent="false">
>     <responseDeclaration identifier="SINGLEFIRST"
> cardinality="single" baseType="string">
>         <correctResponse>
>             <value>habe</value>
>         </correctResponse>
>     </responseDeclaration>
>  <responseDeclaration identifier="SINGLESECOND"
> cardinality="single" baseType="string">
>         <correctResponse>
>             <value>hast</value>
>         </correctResponse>
>     </responseDeclaration>
>
>
>  <outcomeDeclaration identifier="SCORE"
> cardinality="single" baseType="integer">
>         <defaultValue>
>             <value>0</value>
>         </defaultValue>
>     </outcomeDeclaration>
>
> <outcomeDeclaration identifier="FEEDBACK"
> cardinality="single" baseType="identifier"/>
>
>   <itemBody>
>         <h2>Conjugate the verb 'haben': </h2>
> <h3>Single</h3>
> <p>
> <strong>ich</strong>
> <textEntryInteraction responseIdentifier="SINGLEFIRST"
> expectedLength="8" placeholderText = "haben"/><br
> /><br />
> <strong>du</strong>
> <textEntryInteraction
> responseIdentifier="SINGLESECOND" expectedLength="8"
> placeholderText = "haben"/><br /><br />
> </p>
>
>
> </itemBody>
>    <responseProcessing>
>         <responseCondition>
>             <responseIf>
>                 <match>
>                     <variable
> identifier="SINGLEFIRST"/>
>                     <correct
> identifier="SINGLEFIRST"/>
>                 </match>
> 		<setOutcomeValue identifier="SCORE">
> 			<sum>
> 				<variable identifier="SCORE"/>
> 				<baseValue baseType="integer">1</baseValue>
> 			</sum>
>                 </setOutcomeValue>
>             </responseIf>
>           </responseCondition>
>        <responseCondition>
>             <responseIf>
>                 <match>
>                     <variable
> identifier="SINGLESECOND"/>
>                     <correct
> identifier="SINGLESECOND"/>
>                 </match>
>                 <setOutcomeValue identifier="SCORE">
> 			<sum>
>                    		<variable identifier="SCORE"/>
> 				<baseValue baseType="integer">1</baseValue>
> 			</sum>
>                 </setOutcomeValue>
>             </responseIf>
>           </responseCondition>
> 	
> 	<responseCondition>
>             <responseIf>
>                 <match>
>                     <variable
> identifier="SINGLETHIRD"/>
>                     <correct
> identifier="SINGLETHIRD"/>
>                 </match>
>                 <setOutcomeValue identifier="SCORE">
> 			<sum>
>                    		<variable identifier="SCORE"/>
> 				<baseValue baseType="integer">1</baseValue>
> 			</sum>
>                 </setOutcomeValue>
>             </responseIf>
>         </responseCondition>
>
> 	<responseCondition>
>             <responseIf>
>                 <match>
>                     <variable
> identifier="PLURALFIRST"/>
>                     <correct
> identifier="PLURALFIRST"/>
>                 </match>
>                 <setOutcomeValue identifier="SCORE">
>                 	<sum>
>                    		<variable identifier="SCORE"/>
> 				<baseValue baseType="integer">1</baseValue>
> 			</sum>
>                 </setOutcomeValue>
>             </responseIf>
>         </responseCondition>
>
> 	<responseCondition>
>             <responseIf>
>                 <match>
>                     <variable
> identifier="PLURALSECOND"/>
>                     <correct
> identifier="PLURALSECOND"/>
>                 </match>
>                 <setOutcomeValue identifier="SCORE">
>                 	<sum>
>                    		<variable identifier="SCORE"/>
> 				<baseValue baseType="integer">1</baseValue>
> 			</sum>
>                 </setOutcomeValue>
>             </responseIf>
>          </responseCondition>
>
> 	<responseCondition>
>             <responseIf>
>                 <match>
>                     <variable
> identifier="PLURALTHIRD"/>
>                     <correct
> identifier="PLURALTHIRD"/>
>                 </match>
>                 <setOutcomeValue identifier="SCORE">
>                  	<sum>
>                    		<variable identifier="SCORE"/>
> 				<baseValue baseType="integer">1</baseValue>
> 			</sum>
>                 </setOutcomeValue>
>             </responseIf>
>           </responseCondition>
>
>
> 	<responseCondition>
>             <responseIf>
>                 <match>
>                    <variable identifier="SCORE"/>
>                    <baseValue
> baseType="integer">6</baseValue>
>                 </match>
>                 <setOutcomeValue
> identifier="FEEDBACK">
>                  	<baseValue
> baseType="identifier">ALLCORRECT</baseValue>
> 	 	</setOutcomeValue>
> 	    </responseIf>
> 	    <responseElseIf>
>            	<gte>
>               		<variable identifier="SCORE"/>
>                  	<baseValue
> baseType="integer">4</baseValue>
>             	</gte>
> 		<setOutcomeValue identifier="FEEDBACK">
> 			<multiple>
> 				<baseValue
> baseType="identifier">MOSTCORRECT</baseValue>
> 				<baseValue
> baseType="identifier">CONJUGATION</baseValue>
> 			</multiple>
> 		</setOutcomeValue>
> 	    </responseElseIf>
> 	    <responseElse>
> 	 	<setOutcomeValue identifier="FEEDBACK">
>                    	<multiple>
> 				<baseValue baseType="identifier">WRONG</baseValue>
> 				<baseValue
> baseType="identifier">CONJUGATION</baseValue>
> 			</multiple>
> 	 	</setOutcomeValue>
> 	   </responseElse>
> 	</responseCondition>
>  </responseProcessing>
>
> <modalFeedback outcomeIdentifier="FEEDBACK"
> identifier="ALLCORRECT" showHide="show">
> 	Yes, you have all the forms correct.</modalFeedback>
> <modalFeedback outcomeIdentifier="FEEDBACK"
> identifier="MOSTCORRECT" showHide="show">
> 	You have most of the forms correct.</modalFeedback>
> <modalFeedback outcomeIdentifier="FEEDBACK"
> identifier="WRONG" showHide="show">
> 	You have fewer than four forms correct
> .</modalFeedback>
>
> <modalFeedback outcomeIdentifier="FEEDBACK"
> identifier="CONJUGATION" showHide="show">
> 	Here is the conjugation of 'haben':
> </modalFeedback>
>
>
> </assessmentItem>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: /public/ims-qti/attachments/20071003/d38d0d83/attachment-0001.html


More information about the IMS-QTI mailing list