qti 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +28 -0
- data/Rakefile +1 -0
- data/lib/qti.rb +62 -0
- data/lib/qti/models/base.rb +80 -0
- data/lib/qti/models/manifest.rb +20 -0
- data/lib/qti/v1/models/assessment.rb +17 -0
- data/lib/qti/v1/models/assessment_item.rb +59 -0
- data/lib/qti/v1/models/base.rb +13 -0
- data/lib/qti/v1/models/choices/logical_identifier_choice.rb +26 -0
- data/lib/qti/v1/models/interactions/logical_identifier_interaction.rb +32 -0
- data/lib/qti/v2/models/assessment_item.rb +62 -0
- data/lib/qti/v2/models/assessment_test.rb +32 -0
- data/lib/qti/v2/models/base.rb +70 -0
- data/lib/qti/v2/models/choices/simple_choice.rb +28 -0
- data/lib/qti/v2/models/interactions.rb +25 -0
- data/lib/qti/v2/models/interactions/choice_interaction.rb +50 -0
- data/spec/fixtures/items_1.2/multiple_answer.xml +105 -0
- data/spec/fixtures/items_1.2/multiple_choice.xml +83 -0
- data/spec/fixtures/items_1.2/true_false.xml +50 -0
- data/spec/fixtures/items_2.1/Example01-modalFeedback.xml +79 -0
- data/spec/fixtures/items_2.1/Example02-feedbackInline.xml +67 -0
- data/spec/fixtures/items_2.1/Example03-feedbackBlock-solution-random.xml +223 -0
- data/spec/fixtures/items_2.1/Example03-feedbackBlock-solution.xml +238 -0
- data/spec/fixtures/items_2.1/Example04-feedbackBlock-templateBlock.xml +582 -0
- data/spec/fixtures/items_2.1/Example05-feedbackBlock-adaptive.xml +397 -0
- data/spec/fixtures/items_2.1/adaptive.xml +286 -0
- data/spec/fixtures/items_2.1/adaptive_template.xml +350 -0
- data/spec/fixtures/items_2.1/associate.xml +33 -0
- data/spec/fixtures/items_2.1/audio-video.xml +46 -0
- data/spec/fixtures/items_2.1/choice.xml +31 -0
- data/spec/fixtures/items_2.1/choice_aria.xml +42 -0
- data/spec/fixtures/items_2.1/choice_fixed.xml +33 -0
- data/spec/fixtures/items_2.1/choice_multiple.xml +31 -0
- data/spec/fixtures/items_2.1/choice_multiple_chocolade.xml +74 -0
- data/spec/fixtures/items_2.1/choice_multiple_rtl.xml +33 -0
- data/spec/fixtures/items_2.1/choice_ruby.xml +39 -0
- data/spec/fixtures/items_2.1/choice_t_f.xml +30 -0
- data/spec/fixtures/items_2.1/choice_true_false.xml +30 -0
- data/spec/fixtures/items_2.1/data-attributes.xml +61 -0
- data/spec/fixtures/items_2.1/drawing.xml +16 -0
- data/spec/fixtures/items_2.1/essay.xml +14 -0
- data/spec/fixtures/items_2.1/extended_text.xml +24 -0
- data/spec/fixtures/items_2.1/extended_text_rubric.xml +36 -0
- data/spec/fixtures/items_2.1/feedback_adaptive.xml +142 -0
- data/spec/fixtures/items_2.1/figures.xml +32 -0
- data/spec/fixtures/items_2.1/gap_match.xml +33 -0
- data/spec/fixtures/items_2.1/graphic_associate.xml +36 -0
- data/spec/fixtures/items_2.1/graphic_gap_match.xml +54 -0
- data/spec/fixtures/items_2.1/graphic_gap_match_text.xml +50 -0
- data/spec/fixtures/items_2.1/graphic_order.xml +32 -0
- data/spec/fixtures/items_2.1/hint.xml +85 -0
- data/spec/fixtures/items_2.1/hotspot.xml +26 -0
- data/spec/fixtures/items_2.1/hottext.xml +33 -0
- data/spec/fixtures/items_2.1/images/CBG.png +0 -0
- data/spec/fixtures/items_2.1/images/EBG.png +0 -0
- data/spec/fixtures/items_2.1/images/EDI.png +0 -0
- data/spec/fixtures/items_2.1/images/GLA.png +0 -0
- data/spec/fixtures/items_2.1/images/MAN.png +0 -0
- data/spec/fixtures/items_2.1/images/MCH.png +0 -0
- data/spec/fixtures/items_2.1/images/airport.png +0 -0
- data/spec/fixtures/items_2.1/images/blueStar.png +0 -0
- data/spec/fixtures/items_2.1/images/blue_door.png +0 -0
- data/spec/fixtures/items_2.1/images/bus.png +0 -0
- data/spec/fixtures/items_2.1/images/castle.png +0 -0
- data/spec/fixtures/items_2.1/images/greenTriangle.png +0 -0
- data/spec/fixtures/items_2.1/images/green_door.png +0 -0
- data/spec/fixtures/items_2.1/images/house.png +0 -0
- data/spec/fixtures/items_2.1/images/open_car.png +0 -0
- data/spec/fixtures/items_2.1/images/open_goat.png +0 -0
- data/spec/fixtures/items_2.1/images/plane.png +0 -0
- data/spec/fixtures/items_2.1/images/postcard.eps +3581 -0
- data/spec/fixtures/items_2.1/images/postcard.png +0 -0
- data/spec/fixtures/items_2.1/images/rectangle.svg +1 -0
- data/spec/fixtures/items_2.1/images/redCircle.png +0 -0
- data/spec/fixtures/items_2.1/images/red_door.png +0 -0
- data/spec/fixtures/items_2.1/images/sign.png +0 -0
- data/spec/fixtures/items_2.1/images/survey.jpg +0 -0
- data/spec/fixtures/items_2.1/images/train.png +0 -0
- data/spec/fixtures/items_2.1/images/uk.png +0 -0
- data/spec/fixtures/items_2.1/images/ukair.png +0 -0
- data/spec/fixtures/items_2.1/images/ukairtags.png +0 -0
- data/spec/fixtures/items_2.1/imsmanifest.xml +227 -0
- data/spec/fixtures/items_2.1/inline_choice.xml +26 -0
- data/spec/fixtures/items_2.1/inline_choice_math.xml +68 -0
- data/spec/fixtures/items_2.1/likert.xml +21 -0
- data/spec/fixtures/items_2.1/match.xml +41 -0
- data/spec/fixtures/items_2.1/math.xml +35 -0
- data/spec/fixtures/items_2.1/mc_calc3.xml +164 -0
- data/spec/fixtures/items_2.1/mc_calc5.xml +211 -0
- data/spec/fixtures/items_2.1/mc_stat2.xml +219 -0
- data/spec/fixtures/items_2.1/media_coords.xml +33 -0
- data/spec/fixtures/items_2.1/multi-input.xml +271 -0
- data/spec/fixtures/items_2.1/nested_object.xml +26 -0
- data/spec/fixtures/items_2.1/order.xml +25 -0
- data/spec/fixtures/items_2.1/order_partial_scoring.xml +55 -0
- data/spec/fixtures/items_2.1/order_rtl.xml +27 -0
- data/spec/fixtures/items_2.1/orkney1.xml +34 -0
- data/spec/fixtures/items_2.1/orkney2.xml +34 -0
- data/spec/fixtures/items_2.1/position_object.xml +34 -0
- data/spec/fixtures/items_2.1/select_point.xml +23 -0
- data/spec/fixtures/items_2.1/shared/orkney.css +1 -0
- data/spec/fixtures/items_2.1/shared/orkney.html +20 -0
- data/spec/fixtures/items_2.1/slider.xml +35 -0
- data/spec/fixtures/items_2.1/svg.xml +28 -0
- data/spec/fixtures/items_2.1/template.xml +88 -0
- data/spec/fixtures/items_2.1/template_image.xml +74 -0
- data/spec/fixtures/items_2.1/text_entry.xml +27 -0
- data/spec/fixtures/items_2.1/upload.xml +18 -0
- data/spec/fixtures/items_2.1/upload_composite.xml +24 -0
- data/spec/fixtures/test_qti_1.2.zip +0 -0
- data/spec/fixtures/test_qti_1.2/contact info.png +0 -0
- data/spec/fixtures/test_qti_1.2/exam1/my_files/org0/images/image.png +0 -0
- data/spec/fixtures/test_qti_1.2/exam1/my_files/org1/images/image.png +0 -0
- data/spec/fixtures/test_qti_1.2/image.png +0 -0
- data/spec/fixtures/test_qti_1.2/imsmanifest.xml +37 -0
- data/spec/fixtures/test_qti_1.2/quiz.xml +216 -0
- data/spec/fixtures/test_qti_2.1.zip +0 -0
- data/spec/fixtures/test_qti_2.1/assessment.xml +77 -0
- data/spec/fixtures/test_qti_2.1/imsmanifest.xml +211 -0
- data/spec/fixtures/test_qti_2.1/mathassess.xsd +54 -0
- data/spec/fixtures/test_qti_2.1/multiple-answer/multiple-answer.xml +31 -0
- data/spec/fixtures/test_qti_2.1/multiple-choice/multiple-choice.xml +31 -0
- data/spec/fixtures/test_qti_2.1/text-entry/text-entry.xml +330 -0
- data/spec/fixtures/test_qti_2.1/true-false/true-false.xml +55 -0
- data/spec/fixtures/tests/feedbackTest/assessment.xml +252 -0
- data/spec/fixtures/tests/feedbackTest/id-38d47747fb30/Example02-feedbackInline.xml +51 -0
- data/spec/fixtures/tests/feedbackTest/id-5e216df10030/Example03-feedbackBlock-solution.xml +199 -0
- data/spec/fixtures/tests/feedbackTest/id-9c33d141576e/Example05-feedbackBlock-adaptive.xml +330 -0
- data/spec/fixtures/tests/feedbackTest/id-aaa0bbf5da1d/Example03-feedbackBlock-solution-random.xml +223 -0
- data/spec/fixtures/tests/feedbackTest/id-d599169403d2/Example04-feedbackBlock-templateBlock.xml +534 -0
- data/spec/fixtures/tests/feedbackTest/id-fa3ee5852723/Example01-modalFeedback.xml +55 -0
- data/spec/fixtures/tests/feedbackTest/imsmanifest.xml +239 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_2014410822.xml +110 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_871212949.xml +208 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Choicesingle_853928446.xml +159 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Choicetruefalse_176040516.xml +98 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Hotspot_278940407.xml +109 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Hottext_801974120.xml +106 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/InteractionMixSachsen_1901710679.xml +54 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Matchmultiple_1038910213.xml +139 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Matchsingle_143114773.xml +133 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/Order_913967682.xml +117 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntry_883368511.xml +114 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_2040297025.xml +154 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_770468849.xml +124 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrysubset_806481421.xml +227 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/imsmanifest.xml +278 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/03c5e2f774db49598deb3ac7d05b53f9.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/0563e67fb1bb48ad882e0a5abf2a2686.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/2f44366716474a5d8e2a2e32346cbc05.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/71a299b50b5e4b1492f8ee51ce25be7d.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/a439b702d5034ca38f6df26a12835db3.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/b660fc9f268c4ef688d8606116c70160.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/c2f541343b9b4bfdba9fc90c7a18403e.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/e18b5a2eb8104d0994a182ee0176a05c.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/f88c5aa2c6724a388fdbadc7133eb757.jpg +0 -0
- data/spec/fixtures/tests/interactionmix_saxony_v3/media/ffe337505ef74334a0cecb33310f99c1.jpg +0 -0
- data/spec/fixtures/tests/tests/complete.xml +33 -0
- data/spec/fixtures/tests/tests/report.xml +70 -0
- data/spec/fixtures/tests/tests/rtest01-fragment.xml +12 -0
- data/spec/fixtures/tests/tests/rtest01-set01.xml +17 -0
- data/spec/fixtures/tests/tests/rtest01-set02.xml +17 -0
- data/spec/fixtures/tests/tests/rtest01-set03.xml +17 -0
- data/spec/fixtures/tests/tests/rtest01.xml +16 -0
- data/spec/fixtures/tests/tests/rtest02.xml +48 -0
- data/spec/fixtures/tests/tests/rtest03.xml +38 -0
- data/spec/fixtures/tests/tests/rtest04.xml +50 -0
- data/spec/fixtures/tests/tests/rtest06.xml +34 -0
- data/spec/fixtures/tests/tests/rtest08.xml +38 -0
- data/spec/fixtures/tests/tests/rtest09.xml +33 -0
- data/spec/fixtures/tests/tests/rtest10.xml +48 -0
- data/spec/fixtures/tests/tests/rtest12.xml +38 -0
- data/spec/fixtures/tests/tests/rtest13.xml +62 -0
- data/spec/fixtures/tests/tests/rtest22.xml +41 -0
- data/spec/fixtures/tests/tests/rtest24.xml +37 -0
- data/spec/fixtures/tests/tests/rtest25.xml +62 -0
- data/spec/fixtures/tests/tests/rtest26.xml +38 -0
- data/spec/fixtures/tests/tests/rtest27.xml +46 -0
- data/spec/qti/models/base_spec.rb +71 -0
- data/spec/qti/models/manifest_spec.rb +19 -0
- data/spec/qti/v1/models/assessment_item_spec.rb +49 -0
- data/spec/qti/v1/models/assessment_spec.rb +18 -0
- data/spec/qti/v1/models/choices/logical_identifier_choice_spec.rb +23 -0
- data/spec/qti/v1/models/interactions/logical_identifier_interaction_spec.rb +20 -0
- data/spec/qti/v2/models/assessment_item_spec.rb +67 -0
- data/spec/qti/v2/models/assessment_test_spec.rb +60 -0
- data/spec/qti/v2/models/choices/simple_choice_spec.rb +22 -0
- data/spec/qti/v2/models/interactions/choice_interaction_spec.rb +27 -0
- data/spec/qti_spec.rb +38 -0
- data/spec/spec_helper.rb +10 -0
- metadata +506 -0
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
2
|
+
<assessmentItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
3
|
+
xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
|
|
4
|
+
xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
5
|
+
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
|
6
|
+
toolVersion="0.5.1" toolName="Mathqurate" title="Adaptive - choice of input type"
|
|
7
|
+
timeDependent="false" identifier="Example05-feedbackBlock-adaptive" adaptive="true">
|
|
8
|
+
<responseDeclaration identifier="RESPONSE1" cardinality="single" baseType="identifier"/>
|
|
9
|
+
<responseDeclaration identifier="RESPONSE21" cardinality="single" baseType="identifier">
|
|
10
|
+
<correctResponse>
|
|
11
|
+
<value>OPTION210</value>
|
|
12
|
+
</correctResponse>
|
|
13
|
+
</responseDeclaration>
|
|
14
|
+
<responseDeclaration identifier="RESPONSE22" cardinality="single" baseType="identifier">
|
|
15
|
+
<correctResponse>
|
|
16
|
+
<value>OPTION221</value>
|
|
17
|
+
</correctResponse>
|
|
18
|
+
</responseDeclaration>
|
|
19
|
+
<responseDeclaration identifier="RESPONSE23" cardinality="single" baseType="identifier">
|
|
20
|
+
<correctResponse>
|
|
21
|
+
<value>OPTION231</value>
|
|
22
|
+
</correctResponse>
|
|
23
|
+
</responseDeclaration>
|
|
24
|
+
<responseDeclaration identifier="RESPONSE24" cardinality="single" baseType="identifier">
|
|
25
|
+
<correctResponse>
|
|
26
|
+
<value>OPTION241</value>
|
|
27
|
+
</correctResponse>
|
|
28
|
+
</responseDeclaration>
|
|
29
|
+
<responseDeclaration identifier="RESPONSE25" cardinality="single" baseType="string">
|
|
30
|
+
<correctResponse>
|
|
31
|
+
<value>cooks</value>
|
|
32
|
+
</correctResponse>
|
|
33
|
+
</responseDeclaration>
|
|
34
|
+
<responseDeclaration identifier="RESPONSE26" cardinality="single" baseType="string">
|
|
35
|
+
<correctResponse>
|
|
36
|
+
<value>spoil</value>
|
|
37
|
+
</correctResponse>
|
|
38
|
+
</responseDeclaration>
|
|
39
|
+
<responseDeclaration identifier="RESPONSE27" cardinality="single" baseType="string">
|
|
40
|
+
<correctResponse>
|
|
41
|
+
<value>broth</value>
|
|
42
|
+
</correctResponse>
|
|
43
|
+
</responseDeclaration>
|
|
44
|
+
<outcomeDeclaration baseType="float" cardinality="single" identifier="SCORE"
|
|
45
|
+
normalMaximum="10.0" normalMinimum="0.0">
|
|
46
|
+
<defaultValue>
|
|
47
|
+
<value>0.0</value>
|
|
48
|
+
</defaultValue>
|
|
49
|
+
</outcomeDeclaration>
|
|
50
|
+
<outcomeDeclaration baseType="identifier" cardinality="single" identifier="FEEDBACK"/>
|
|
51
|
+
|
|
52
|
+
<!--Define a feedback variable; its cardinality is "multiple" so that it can contain the identifiers of several
|
|
53
|
+
feedback elements, and in this case it is initialised to the identifier, part1, of the first part of this adaptive
|
|
54
|
+
question-->
|
|
55
|
+
|
|
56
|
+
<outcomeDeclaration baseType="identifier" cardinality="multiple" identifier="BODY">
|
|
57
|
+
<defaultValue>
|
|
58
|
+
<value>part1</value>
|
|
59
|
+
</defaultValue>
|
|
60
|
+
</outcomeDeclaration>
|
|
61
|
+
<itemBody class="">
|
|
62
|
+
<div class="">
|
|
63
|
+
|
|
64
|
+
<!--This feedbackBlock is the first part of this adaptive question to appear, since the BODY variable initially
|
|
65
|
+
contains its identifier, part1; it contains the first multiple choice interaction in this question. When BODY is
|
|
66
|
+
set to part2, this feedbackBlock is no longer visible.-->
|
|
67
|
+
|
|
68
|
+
<feedbackBlock id="feedbackBlock0" identifier="part1" outcomeIdentifier="BODY"
|
|
69
|
+
showHide="show">
|
|
70
|
+
<p>This is the first part of this question: Which of these input methods do you wish
|
|
71
|
+
to use?</p>
|
|
72
|
+
<choiceInteraction id="choiceInteraction0" maxChoices="1"
|
|
73
|
+
responseIdentifier="RESPONSE1" shuffle="true">
|
|
74
|
+
<simpleChoice id="simpleChoice0" identifier="OPTION1">Multiple choice </simpleChoice>
|
|
75
|
+
<simpleChoice id="simpleChoice1" identifier="OPTION2">Drop-down menu </simpleChoice>
|
|
76
|
+
<simpleChoice id="simpleChoice2" identifier="OPTION3">Typed input
|
|
77
|
+
</simpleChoice>
|
|
78
|
+
</choiceInteraction>
|
|
79
|
+
</feedbackBlock>
|
|
80
|
+
|
|
81
|
+
<!--This feedbackBlock is the second part of the question ; it appears when the BODY variable contains its identifier,
|
|
82
|
+
part2. BODY is a multiple cardinality variable, so it can contain the identifiers of several feedbackBlocks (and
|
|
83
|
+
feedbackInlines) at the same time, each of which is visible if their show attribute is set to show, or hidden if
|
|
84
|
+
their show attribute is set to hide.-->
|
|
85
|
+
|
|
86
|
+
<feedbackBlock identifier="part2" outcomeIdentifier="BODY" showHide="show">
|
|
87
|
+
<p>OK, this is the type of input you have chosen. Now please answer this, the second
|
|
88
|
+
part of the question.</p>
|
|
89
|
+
</feedbackBlock>
|
|
90
|
+
|
|
91
|
+
<!--This feedbackBlock appears if the user chose to use multiple choice in the first part of the question – it contains
|
|
92
|
+
the selected type of interaction.-->
|
|
93
|
+
|
|
94
|
+
<feedbackBlock identifier="option1" outcomeIdentifier="BODY" showHide="show">
|
|
95
|
+
<p class="">Choose the correct saying:</p>
|
|
96
|
+
<choiceInteraction maxChoices="1" responseIdentifier="RESPONSE21" shuffle="true">
|
|
97
|
+
<simpleChoice identifier="OPTION210">Too many cooks spoil the
|
|
98
|
+
broth</simpleChoice>
|
|
99
|
+
<simpleChoice identifier="OPTION211">Too many cooks burn the
|
|
100
|
+
dinner</simpleChoice>
|
|
101
|
+
<simpleChoice identifier="OPTION212">Too many children spill the
|
|
102
|
+
broth</simpleChoice>
|
|
103
|
+
<simpleChoice identifier="OPTION213">Too many hands spill the
|
|
104
|
+
beans</simpleChoice>
|
|
105
|
+
<simpleChoice identifier="OPTION214">Too many children spoil the
|
|
106
|
+
broth</simpleChoice>
|
|
107
|
+
</choiceInteraction>
|
|
108
|
+
</feedbackBlock>
|
|
109
|
+
|
|
110
|
+
<!--This feedbackBlock appears if the user chose to use drop-down menus in the first part of the question – it contains
|
|
111
|
+
the selected type of interaction.-->
|
|
112
|
+
|
|
113
|
+
<feedbackBlock identifier="option2" outcomeIdentifier="BODY" showHide="show">
|
|
114
|
+
<p class="">Complete the saying below by selecting from the lists:</p>
|
|
115
|
+
<p class="">Too many  <inlineChoiceInteraction responseIdentifier="RESPONSE22"
|
|
116
|
+
shuffle="true">
|
|
117
|
+
<inlineChoice identifier="OPTION221">cooks</inlineChoice>
|
|
118
|
+
<inlineChoice identifier="OPTION222">children</inlineChoice>
|
|
119
|
+
<inlineChoice identifier="OPTION223">hands</inlineChoice>
|
|
120
|
+
</inlineChoiceInteraction>  <inlineChoiceInteraction
|
|
121
|
+
responseIdentifier="RESPONSE23" shuffle="true">
|
|
122
|
+
<inlineChoice identifier="OPTION231">spoil</inlineChoice>
|
|
123
|
+
<inlineChoice identifier="OPTION232">spill</inlineChoice>
|
|
124
|
+
<inlineChoice identifier="OPTION233">burn</inlineChoice>
|
|
125
|
+
</inlineChoiceInteraction> the  <inlineChoiceInteraction
|
|
126
|
+
responseIdentifier="RESPONSE24" shuffle="true">
|
|
127
|
+
<inlineChoice identifier="OPTION241">broth</inlineChoice>
|
|
128
|
+
<inlineChoice identifier="OPTION242">dinner</inlineChoice>
|
|
129
|
+
<inlineChoice identifier="OPTION243">beans</inlineChoice>
|
|
130
|
+
</inlineChoiceInteraction>. </p>
|
|
131
|
+
</feedbackBlock>
|
|
132
|
+
|
|
133
|
+
<!--This feedbackBlock appears if the user chose to type answers in text boxes in the first part of the question – it
|
|
134
|
+
contains the selected type of interaction.-->
|
|
135
|
+
|
|
136
|
+
<feedbackBlock identifier="option3" outcomeIdentifier="BODY" showHide="show">
|
|
137
|
+
<p class="">Complete the saying below:</p>
|
|
138
|
+
<p class="">Too many  <textEntryInteraction expectedLength="20"
|
|
139
|
+
responseIdentifier="RESPONSE25"/>  <textEntryInteraction
|
|
140
|
+
expectedLength="20" responseIdentifier="RESPONSE26"/> the 
|
|
141
|
+
<textEntryInteraction expectedLength="20" responseIdentifier="RESPONSE27"/>.
|
|
142
|
+
</p>
|
|
143
|
+
</feedbackBlock>
|
|
144
|
+
<div class="">
|
|
145
|
+
|
|
146
|
+
<!--These feedbackInline elements provide feedback on the input given by the user in the second part of the question.-->
|
|
147
|
+
|
|
148
|
+
<feedbackInline id="feedbackInline1" identifier="CORRECT"
|
|
149
|
+
outcomeIdentifier="FEEDBACK" showHide="show"> That's the correct answer. </feedbackInline>
|
|
150
|
+
<feedbackInline id="feedbackInline2" identifier="PARTIAL"
|
|
151
|
+
outcomeIdentifier="FEEDBACK" showHide="show"> Your answer is partially correct;
|
|
152
|
+
the correct answer is "Too many <b>cooks</b>
|
|
153
|
+
<b>spoil</b> the <b>broth</b>". </feedbackInline>
|
|
154
|
+
<feedbackInline id="feedbackInline3" identifier="INCORRECT"
|
|
155
|
+
outcomeIdentifier="FEEDBACK" showHide="show"> Sorry, that's not correct; the
|
|
156
|
+
correct answer is "Too many <b>cooks</b>
|
|
157
|
+
<b>spoil</b> the <b>broth</b>". </feedbackInline>
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
</itemBody>
|
|
161
|
+
<responseProcessing>
|
|
162
|
+
<responseCondition>
|
|
163
|
+
<responseIf>
|
|
164
|
+
<member>
|
|
165
|
+
|
|
166
|
+
<!--Check whether "part1" is contained in the BODY variable, and if it is, set up the second part of the
|
|
167
|
+
question.-->
|
|
168
|
+
|
|
169
|
+
<baseValue baseType="identifier">part1</baseValue>
|
|
170
|
+
<variable identifier="BODY"/>
|
|
171
|
+
</member>
|
|
172
|
+
<setOutcomeValue identifier="BODY">
|
|
173
|
+
<multiple>
|
|
174
|
+
|
|
175
|
+
<!--Put "part2" into the BODY variable.-->
|
|
176
|
+
|
|
177
|
+
<baseValue baseType="identifier">part2</baseValue>
|
|
178
|
+
</multiple>
|
|
179
|
+
</setOutcomeValue>
|
|
180
|
+
<responseCondition>
|
|
181
|
+
<responseIf>
|
|
182
|
+
<match>
|
|
183
|
+
<variable identifier="RESPONSE1"/>
|
|
184
|
+
|
|
185
|
+
<!--If the user selected OPTION1 (MCQ) put the identifier, option1, of the feedbackBlock containing
|
|
186
|
+
the second MCQ into BODY .-->
|
|
187
|
+
|
|
188
|
+
<baseValue baseType="identifier">OPTION1</baseValue>
|
|
189
|
+
</match>
|
|
190
|
+
<setOutcomeValue identifier="BODY">
|
|
191
|
+
<multiple>
|
|
192
|
+
<variable identifier="BODY"/>
|
|
193
|
+
<baseValue baseType="identifier">option1</baseValue>
|
|
194
|
+
</multiple>
|
|
195
|
+
</setOutcomeValue>
|
|
196
|
+
</responseIf>
|
|
197
|
+
<responseElseIf>
|
|
198
|
+
<match>
|
|
199
|
+
<variable identifier="RESPONSE1"/>
|
|
200
|
+
|
|
201
|
+
<!--If the user selected OPTION2 (drop-down menus) put the identifier, option2, of the feedbackBlock
|
|
202
|
+
containing the drop-down menus into BODY .-->
|
|
203
|
+
|
|
204
|
+
<baseValue baseType="identifier">OPTION2</baseValue>
|
|
205
|
+
</match>
|
|
206
|
+
<setOutcomeValue identifier="BODY">
|
|
207
|
+
<multiple>
|
|
208
|
+
<variable identifier="BODY"/>
|
|
209
|
+
<baseValue baseType="identifier">option2</baseValue>
|
|
210
|
+
</multiple>
|
|
211
|
+
</setOutcomeValue>
|
|
212
|
+
</responseElseIf>
|
|
213
|
+
<responseElseIf>
|
|
214
|
+
<match>
|
|
215
|
+
<variable identifier="RESPONSE1"/>
|
|
216
|
+
|
|
217
|
+
<!--If the user selected OPTION3 (text input) put the identifier, option3, of the feedbackBlock
|
|
218
|
+
containing the text boxes into BODY .-->
|
|
219
|
+
|
|
220
|
+
<baseValue baseType="identifier">OPTION3</baseValue>
|
|
221
|
+
</match>
|
|
222
|
+
<setOutcomeValue identifier="BODY">
|
|
223
|
+
<multiple>
|
|
224
|
+
<variable identifier="BODY"/>
|
|
225
|
+
<baseValue baseType="identifier">option3</baseValue>
|
|
226
|
+
</multiple>
|
|
227
|
+
</setOutcomeValue>
|
|
228
|
+
</responseElseIf>
|
|
229
|
+
</responseCondition>
|
|
230
|
+
</responseIf>
|
|
231
|
+
<responseElseIf>
|
|
232
|
+
<member>
|
|
233
|
+
|
|
234
|
+
<!--If BODY contains part2, the second part of the question has been displayed, so we process the user’s input
|
|
235
|
+
to the chosen interaction.-->
|
|
236
|
+
|
|
237
|
+
<baseValue baseType="identifier">part2</baseValue>
|
|
238
|
+
<variable identifier="BODY"/>
|
|
239
|
+
</member>
|
|
240
|
+
<responseCondition>
|
|
241
|
+
<responseIf>
|
|
242
|
+
<member>
|
|
243
|
+
<baseValue baseType="identifier">option1</baseValue>
|
|
244
|
+
<variable identifier="BODY"/>
|
|
245
|
+
</member>
|
|
246
|
+
<responseCondition>
|
|
247
|
+
<responseIf>
|
|
248
|
+
<match>
|
|
249
|
+
<variable identifier="RESPONSE21"/>
|
|
250
|
+
<correct identifier="RESPONSE21"/>
|
|
251
|
+
</match>
|
|
252
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
253
|
+
<baseValue baseType="identifier">CORRECT</baseValue>
|
|
254
|
+
</setOutcomeValue>
|
|
255
|
+
<setOutcomeValue identifier="SCORE">
|
|
256
|
+
<baseValue baseType="float">10.0</baseValue>
|
|
257
|
+
</setOutcomeValue>
|
|
258
|
+
</responseIf>
|
|
259
|
+
<responseElse>
|
|
260
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
261
|
+
<baseValue baseType="identifier">INCORRECT</baseValue>
|
|
262
|
+
</setOutcomeValue>
|
|
263
|
+
<setOutcomeValue identifier="SCORE">
|
|
264
|
+
<baseValue baseType="float">0.0</baseValue>
|
|
265
|
+
</setOutcomeValue>
|
|
266
|
+
</responseElse>
|
|
267
|
+
</responseCondition>
|
|
268
|
+
</responseIf>
|
|
269
|
+
<responseElseIf>
|
|
270
|
+
<member>
|
|
271
|
+
<baseValue baseType="identifier">option2</baseValue>
|
|
272
|
+
<variable identifier="BODY"/>
|
|
273
|
+
</member>
|
|
274
|
+
<responseCondition>
|
|
275
|
+
<responseIf>
|
|
276
|
+
<and>
|
|
277
|
+
<match>
|
|
278
|
+
<variable identifier="RESPONSE22"/>
|
|
279
|
+
<correct identifier="RESPONSE22"/>
|
|
280
|
+
</match>
|
|
281
|
+
<match>
|
|
282
|
+
<variable identifier="RESPONSE23"/>
|
|
283
|
+
<correct identifier="RESPONSE23"/>
|
|
284
|
+
</match>
|
|
285
|
+
<match>
|
|
286
|
+
<variable identifier="RESPONSE24"/>
|
|
287
|
+
<correct identifier="RESPONSE24"/>
|
|
288
|
+
</match>
|
|
289
|
+
</and>
|
|
290
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
291
|
+
<baseValue baseType="identifier">CORRECT</baseValue>
|
|
292
|
+
</setOutcomeValue>
|
|
293
|
+
<setOutcomeValue identifier="SCORE">
|
|
294
|
+
<baseValue baseType="float">10.0</baseValue>
|
|
295
|
+
</setOutcomeValue>
|
|
296
|
+
</responseIf>
|
|
297
|
+
<responseElseIf>
|
|
298
|
+
<or>
|
|
299
|
+
<match>
|
|
300
|
+
<variable identifier="RESPONSE22"/>
|
|
301
|
+
<correct identifier="RESPONSE22"/>
|
|
302
|
+
</match>
|
|
303
|
+
<match>
|
|
304
|
+
<variable identifier="RESPONSE23"/>
|
|
305
|
+
<correct identifier="RESPONSE23"/>
|
|
306
|
+
</match>
|
|
307
|
+
<match>
|
|
308
|
+
<variable identifier="RESPONSE24"/>
|
|
309
|
+
<correct identifier="RESPONSE24"/>
|
|
310
|
+
</match>
|
|
311
|
+
</or>
|
|
312
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
313
|
+
<baseValue baseType="identifier">PARTIAL</baseValue>
|
|
314
|
+
</setOutcomeValue>
|
|
315
|
+
<setOutcomeValue identifier="SCORE">
|
|
316
|
+
<baseValue baseType="float">5.0</baseValue>
|
|
317
|
+
</setOutcomeValue>
|
|
318
|
+
</responseElseIf>
|
|
319
|
+
<responseElse>
|
|
320
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
321
|
+
<baseValue baseType="identifier">INCORRECT</baseValue>
|
|
322
|
+
</setOutcomeValue>
|
|
323
|
+
<setOutcomeValue identifier="SCORE">
|
|
324
|
+
<baseValue baseType="float">0.0</baseValue>
|
|
325
|
+
</setOutcomeValue>
|
|
326
|
+
</responseElse>
|
|
327
|
+
</responseCondition>
|
|
328
|
+
</responseElseIf>
|
|
329
|
+
<responseElseIf>
|
|
330
|
+
<member>
|
|
331
|
+
<baseValue baseType="identifier">option3</baseValue>
|
|
332
|
+
<variable identifier="BODY"/>
|
|
333
|
+
</member>
|
|
334
|
+
<responseCondition>
|
|
335
|
+
<responseIf>
|
|
336
|
+
<and>
|
|
337
|
+
<match>
|
|
338
|
+
<variable identifier="RESPONSE25"/>
|
|
339
|
+
<correct identifier="RESPONSE25"/>
|
|
340
|
+
</match>
|
|
341
|
+
<match>
|
|
342
|
+
<variable identifier="RESPONSE26"/>
|
|
343
|
+
<correct identifier="RESPONSE26"/>
|
|
344
|
+
</match>
|
|
345
|
+
<match>
|
|
346
|
+
<variable identifier="RESPONSE27"/>
|
|
347
|
+
<correct identifier="RESPONSE27"/>
|
|
348
|
+
</match>
|
|
349
|
+
</and>
|
|
350
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
351
|
+
<baseValue baseType="identifier">CORRECT</baseValue>
|
|
352
|
+
</setOutcomeValue>
|
|
353
|
+
<setOutcomeValue identifier="SCORE">
|
|
354
|
+
<baseValue baseType="float">10.0</baseValue>
|
|
355
|
+
</setOutcomeValue>
|
|
356
|
+
</responseIf>
|
|
357
|
+
<responseElseIf>
|
|
358
|
+
<or>
|
|
359
|
+
<match>
|
|
360
|
+
<variable identifier="RESPONSE25"/>
|
|
361
|
+
<correct identifier="RESPONSE25"/>
|
|
362
|
+
</match>
|
|
363
|
+
<match>
|
|
364
|
+
<variable identifier="RESPONSE26"/>
|
|
365
|
+
<correct identifier="RESPONSE26"/>
|
|
366
|
+
</match>
|
|
367
|
+
<match>
|
|
368
|
+
<variable identifier="RESPONSE27"/>
|
|
369
|
+
<correct identifier="RESPONSE27"/>
|
|
370
|
+
</match>
|
|
371
|
+
</or>
|
|
372
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
373
|
+
<baseValue baseType="identifier">PARTIAL</baseValue>
|
|
374
|
+
</setOutcomeValue>
|
|
375
|
+
<setOutcomeValue identifier="SCORE">
|
|
376
|
+
<baseValue baseType="float">5.0</baseValue>
|
|
377
|
+
</setOutcomeValue>
|
|
378
|
+
</responseElseIf>
|
|
379
|
+
<responseElse>
|
|
380
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
381
|
+
<baseValue baseType="identifier">INCORRECT</baseValue>
|
|
382
|
+
</setOutcomeValue>
|
|
383
|
+
<setOutcomeValue identifier="SCORE">
|
|
384
|
+
<baseValue baseType="float">0.0</baseValue>
|
|
385
|
+
</setOutcomeValue>
|
|
386
|
+
</responseElse>
|
|
387
|
+
</responseCondition>
|
|
388
|
+
</responseElseIf>
|
|
389
|
+
</responseCondition>
|
|
390
|
+
<!-- completionStatus must be specifically set to completed in adaptive questions -->
|
|
391
|
+
<setOutcomeValue identifier="completionStatus">
|
|
392
|
+
<baseValue baseType="identifier">completed</baseValue>
|
|
393
|
+
</setOutcomeValue>
|
|
394
|
+
</responseElseIf>
|
|
395
|
+
</responseCondition>
|
|
396
|
+
</responseProcessing>
|
|
397
|
+
</assessmentItem>
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
|
|
3
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
+
xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
|
|
5
|
+
identifier="adaptive" title="Monty Hall (Take 1)" adaptive="true" timeDependent="false">
|
|
6
|
+
<responseDeclaration identifier="DOOR" cardinality="single" baseType="identifier"/>
|
|
7
|
+
<responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
|
|
8
|
+
<correctResponse>
|
|
9
|
+
<value>switchStrategy</value>
|
|
10
|
+
</correctResponse>
|
|
11
|
+
</responseDeclaration>
|
|
12
|
+
<outcomeDeclaration identifier="STORY" cardinality="single" baseType="identifier">
|
|
13
|
+
<defaultValue>
|
|
14
|
+
<value>openingGambit</value>
|
|
15
|
+
</defaultValue>
|
|
16
|
+
</outcomeDeclaration>
|
|
17
|
+
<outcomeDeclaration identifier="FEEDBACK" cardinality="single" baseType="identifier"/>
|
|
18
|
+
<outcomeDeclaration identifier="CLOSED" cardinality="multiple" baseType="identifier">
|
|
19
|
+
<defaultValue>
|
|
20
|
+
<value>DoorA</value>
|
|
21
|
+
<value>DoorB</value>
|
|
22
|
+
<value>DoorC</value>
|
|
23
|
+
</defaultValue>
|
|
24
|
+
</outcomeDeclaration>
|
|
25
|
+
<outcomeDeclaration identifier="GOATS" cardinality="multiple" baseType="identifier"/>
|
|
26
|
+
<outcomeDeclaration identifier="PRIZE" cardinality="single" baseType="identifier"/>
|
|
27
|
+
<outcomeDeclaration identifier="FIRSTDOOR" cardinality="single" baseType="identifier"/>
|
|
28
|
+
<outcomeDeclaration identifier="REVEALED" cardinality="single" baseType="identifier"/>
|
|
29
|
+
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
|
|
30
|
+
<itemBody>
|
|
31
|
+
<p>Monty Hall has hidden a prize behind one of these doors.</p>
|
|
32
|
+
<feedbackBlock outcomeIdentifier="STORY" showHide="show" identifier="openingGambit">
|
|
33
|
+
<p>Monty invites you to choose one of the doors but won't let you open it just yet.</p>
|
|
34
|
+
</feedbackBlock>
|
|
35
|
+
<feedbackBlock outcomeIdentifier="STORY" showHide="show" identifier="tempter">
|
|
36
|
+
<p>Monty opens one of the other doors to reveal - a goat!</p>
|
|
37
|
+
<p>He then asks you if you would like to change your mind or to stick with the door you
|
|
38
|
+
originally chose. It's time to make your mind up, which door are you going to
|
|
39
|
+
open?</p>
|
|
40
|
+
</feedbackBlock>
|
|
41
|
+
<feedbackBlock outcomeIdentifier="STORY" showHide="show" identifier="goat">
|
|
42
|
+
<p>Bad luck! When you opened your chosen door it also revealed a goat.</p>
|
|
43
|
+
</feedbackBlock>
|
|
44
|
+
<feedbackBlock outcomeIdentifier="STORY" showHide="show" identifier="prize">
|
|
45
|
+
<p>Congratulations! When you opened your chosen door it revealed a fantastic prize that
|
|
46
|
+
you are now free to take home.</p>
|
|
47
|
+
</feedbackBlock>
|
|
48
|
+
<choiceInteraction responseIdentifier="DOOR" shuffle="false" maxChoices="1">
|
|
49
|
+
<simpleChoice identifier="DoorA">
|
|
50
|
+
<feedbackInline outcomeIdentifier="CLOSED" showHide="show" identifier="DoorA">
|
|
51
|
+
<img src="images/red_door.png" alt="The Red Door"/>
|
|
52
|
+
</feedbackInline>
|
|
53
|
+
<feedbackInline outcomeIdentifier="GOATS" showHide="show" identifier="DoorA">
|
|
54
|
+
<img src="images/open_goat.png" alt="An open door"/> - this door is now open
|
|
55
|
+
revealing a goat!</feedbackInline>
|
|
56
|
+
<feedbackInline outcomeIdentifier="PRIZE" showHide="show" identifier="DoorA">
|
|
57
|
+
<img src="images/open_car.png" alt="An open door"/> - this door is now open
|
|
58
|
+
revealing a fantastic prize!</feedbackInline>
|
|
59
|
+
</simpleChoice>
|
|
60
|
+
<simpleChoice identifier="DoorB">
|
|
61
|
+
<feedbackInline outcomeIdentifier="CLOSED" showHide="show" identifier="DoorB">
|
|
62
|
+
<img src="images/green_door.png" alt="The Green Door"/>
|
|
63
|
+
</feedbackInline>
|
|
64
|
+
<feedbackInline outcomeIdentifier="GOATS" showHide="show" identifier="DoorB">
|
|
65
|
+
<img src="images/open_goat.png" alt="An open door"/> - this door is now open
|
|
66
|
+
revealing a goat!</feedbackInline>
|
|
67
|
+
<feedbackInline outcomeIdentifier="PRIZE" showHide="show" identifier="DoorB">
|
|
68
|
+
<img src="images/open_car.png" alt="An open door"/> - this door is now open
|
|
69
|
+
revealing a fantastic prize!</feedbackInline>
|
|
70
|
+
</simpleChoice>
|
|
71
|
+
<simpleChoice identifier="DoorC">
|
|
72
|
+
<feedbackInline outcomeIdentifier="CLOSED" showHide="show" identifier="DoorC">
|
|
73
|
+
<img src="images/blue_door.png" alt="The Blue Door"/>
|
|
74
|
+
</feedbackInline>
|
|
75
|
+
<feedbackInline outcomeIdentifier="GOATS" showHide="show" identifier="DoorC">
|
|
76
|
+
<img src="images/open_goat.png" alt="An open door"/> - this door is now open
|
|
77
|
+
revealing a goat!</feedbackInline>
|
|
78
|
+
<feedbackInline outcomeIdentifier="PRIZE" showHide="show" identifier="DoorC">
|
|
79
|
+
<img src="images/open_car.png" alt="An open door"/> - this door is now open
|
|
80
|
+
revealing a fantastic prize!</feedbackInline>
|
|
81
|
+
</simpleChoice>
|
|
82
|
+
</choiceInteraction>
|
|
83
|
+
<feedbackBlock outcomeIdentifier="FEEDBACK" showHide="show" identifier="poser">
|
|
84
|
+
<p>Well, whether or not you won the prize did you make your decision by guesswork or
|
|
85
|
+
logical reasoning? The question is, if we allowed you to play this game repeatedly
|
|
86
|
+
what strategy <em>should</em> you adopt?</p>
|
|
87
|
+
<choiceInteraction responseIdentifier="RESPONSE" shuffle="true" maxChoices="1">
|
|
88
|
+
<simpleChoice identifier="stickStrategy">Always stick to the first door you chose.</simpleChoice>
|
|
89
|
+
<simpleChoice identifier="switchStrategy">Always switch to the other closed door
|
|
90
|
+
when Monty offers you the chance.</simpleChoice>
|
|
91
|
+
<simpleChoice identifier="noStrategy">It really doesn't matter whether you stick or
|
|
92
|
+
switch - the outcome's the same.</simpleChoice>
|
|
93
|
+
</choiceInteraction>
|
|
94
|
+
</feedbackBlock>
|
|
95
|
+
</itemBody>
|
|
96
|
+
<responseProcessing>
|
|
97
|
+
<setOutcomeValue identifier="completionStatus">
|
|
98
|
+
<baseValue baseType="identifier">incomplete</baseValue>
|
|
99
|
+
</setOutcomeValue>
|
|
100
|
+
<responseCondition>
|
|
101
|
+
<responseIf>
|
|
102
|
+
<!-- Transition from openingGambit to tempter -->
|
|
103
|
+
<and>
|
|
104
|
+
<match>
|
|
105
|
+
<baseValue baseType="identifier">openingGambit</baseValue>
|
|
106
|
+
<variable identifier="STORY"/>
|
|
107
|
+
</match>
|
|
108
|
+
<not>
|
|
109
|
+
<isNull>
|
|
110
|
+
<variable identifier="DOOR"/>
|
|
111
|
+
</isNull>
|
|
112
|
+
</not>
|
|
113
|
+
</and>
|
|
114
|
+
<!-- Remember the first door chosen -->
|
|
115
|
+
<setOutcomeValue identifier="FIRSTDOOR">
|
|
116
|
+
<variable identifier="DOOR"/>
|
|
117
|
+
</setOutcomeValue>
|
|
118
|
+
<!-- Randomly open one of the other two doors -->
|
|
119
|
+
<responseCondition>
|
|
120
|
+
<responseIf>
|
|
121
|
+
<match>
|
|
122
|
+
<variable identifier="DOOR"/>
|
|
123
|
+
<baseValue baseType="identifier">DoorA</baseValue>
|
|
124
|
+
</match>
|
|
125
|
+
<setOutcomeValue identifier="REVEALED">
|
|
126
|
+
<random>
|
|
127
|
+
<multiple>
|
|
128
|
+
<baseValue baseType="identifier">DoorB</baseValue>
|
|
129
|
+
<baseValue baseType="identifier">DoorC</baseValue>
|
|
130
|
+
</multiple>
|
|
131
|
+
</random>
|
|
132
|
+
</setOutcomeValue>
|
|
133
|
+
</responseIf>
|
|
134
|
+
<responseElseIf>
|
|
135
|
+
<match>
|
|
136
|
+
<variable identifier="DOOR"/>
|
|
137
|
+
<baseValue baseType="identifier">DoorB</baseValue>
|
|
138
|
+
</match>
|
|
139
|
+
<setOutcomeValue identifier="REVEALED">
|
|
140
|
+
<random>
|
|
141
|
+
<multiple>
|
|
142
|
+
<baseValue baseType="identifier">DoorA</baseValue>
|
|
143
|
+
<baseValue baseType="identifier">DoorC</baseValue>
|
|
144
|
+
</multiple>
|
|
145
|
+
</random>
|
|
146
|
+
</setOutcomeValue>
|
|
147
|
+
</responseElseIf>
|
|
148
|
+
<responseElse>
|
|
149
|
+
<setOutcomeValue identifier="REVEALED">
|
|
150
|
+
<random>
|
|
151
|
+
<multiple>
|
|
152
|
+
<baseValue baseType="identifier">DoorA</baseValue>
|
|
153
|
+
<baseValue baseType="identifier">DoorB</baseValue>
|
|
154
|
+
</multiple>
|
|
155
|
+
</random>
|
|
156
|
+
</setOutcomeValue>
|
|
157
|
+
</responseElse>
|
|
158
|
+
</responseCondition>
|
|
159
|
+
<setOutcomeValue identifier="CLOSED">
|
|
160
|
+
<delete>
|
|
161
|
+
<variable identifier="REVEALED"/>
|
|
162
|
+
<variable identifier="CLOSED"/>
|
|
163
|
+
</delete>
|
|
164
|
+
</setOutcomeValue>
|
|
165
|
+
<setOutcomeValue identifier="GOATS">
|
|
166
|
+
<multiple>
|
|
167
|
+
<variable identifier="REVEALED"/>
|
|
168
|
+
</multiple>
|
|
169
|
+
</setOutcomeValue>
|
|
170
|
+
<setOutcomeValue identifier="STORY">
|
|
171
|
+
<baseValue baseType="identifier">tempter</baseValue>
|
|
172
|
+
</setOutcomeValue>
|
|
173
|
+
</responseIf>
|
|
174
|
+
<responseElseIf>
|
|
175
|
+
<!-- Transition from tempter to prize or goat -->
|
|
176
|
+
<and>
|
|
177
|
+
<match>
|
|
178
|
+
<baseValue baseType="identifier">tempter</baseValue>
|
|
179
|
+
<variable identifier="STORY"/>
|
|
180
|
+
</match>
|
|
181
|
+
<not>
|
|
182
|
+
<isNull>
|
|
183
|
+
<variable identifier="DOOR"/>
|
|
184
|
+
</isNull>
|
|
185
|
+
</not>
|
|
186
|
+
</and>
|
|
187
|
+
<!-- We score based on whether you switched (and cheat!) -->
|
|
188
|
+
<responseCondition>
|
|
189
|
+
<responseIf>
|
|
190
|
+
<or>
|
|
191
|
+
<match>
|
|
192
|
+
<variable identifier="DOOR"/>
|
|
193
|
+
<variable identifier="FIRSTDOOR"/>
|
|
194
|
+
</match>
|
|
195
|
+
<match>
|
|
196
|
+
<variable identifier="DOOR"/>
|
|
197
|
+
<variable identifier="REVEALED"/>
|
|
198
|
+
</match>
|
|
199
|
+
</or>
|
|
200
|
+
<setOutcomeValue identifier="SCORE">
|
|
201
|
+
<baseValue baseType="float">0</baseValue>
|
|
202
|
+
</setOutcomeValue>
|
|
203
|
+
<setOutcomeValue identifier="GOATS">
|
|
204
|
+
<multiple>
|
|
205
|
+
<variable identifier="GOATS"/>
|
|
206
|
+
<variable identifier="DOOR"/>
|
|
207
|
+
</multiple>
|
|
208
|
+
</setOutcomeValue>
|
|
209
|
+
<setOutcomeValue identifier="STORY">
|
|
210
|
+
<baseValue baseType="identifier">goat</baseValue>
|
|
211
|
+
</setOutcomeValue>
|
|
212
|
+
</responseIf>
|
|
213
|
+
<responseElse>
|
|
214
|
+
<setOutcomeValue identifier="SCORE">
|
|
215
|
+
<baseValue baseType="float">1</baseValue>
|
|
216
|
+
</setOutcomeValue>
|
|
217
|
+
<setOutcomeValue identifier="PRIZE">
|
|
218
|
+
<variable identifier="DOOR"/>
|
|
219
|
+
</setOutcomeValue>
|
|
220
|
+
<setOutcomeValue identifier="STORY">
|
|
221
|
+
<baseValue baseType="identifier">prize</baseValue>
|
|
222
|
+
</setOutcomeValue>
|
|
223
|
+
</responseElse>
|
|
224
|
+
</responseCondition>
|
|
225
|
+
<setOutcomeValue identifier="CLOSED">
|
|
226
|
+
<delete>
|
|
227
|
+
<variable identifier="DOOR"/>
|
|
228
|
+
<variable identifier="CLOSED"/>
|
|
229
|
+
</delete>
|
|
230
|
+
</setOutcomeValue>
|
|
231
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
232
|
+
<baseValue baseType="identifier">poser</baseValue>
|
|
233
|
+
</setOutcomeValue>
|
|
234
|
+
</responseElseIf>
|
|
235
|
+
<responseElseIf>
|
|
236
|
+
<and>
|
|
237
|
+
<match>
|
|
238
|
+
<variable identifier="FEEDBACK"/>
|
|
239
|
+
<baseValue baseType="identifier">poser</baseValue>
|
|
240
|
+
</match>
|
|
241
|
+
<not>
|
|
242
|
+
<isNull>
|
|
243
|
+
<variable identifier="RESPONSE"/>
|
|
244
|
+
</isNull>
|
|
245
|
+
</not>
|
|
246
|
+
</and>
|
|
247
|
+
<responseCondition>
|
|
248
|
+
<responseIf>
|
|
249
|
+
<match>
|
|
250
|
+
<variable identifier="RESPONSE"/>
|
|
251
|
+
<correct identifier="RESPONSE"/>
|
|
252
|
+
</match>
|
|
253
|
+
<setOutcomeValue identifier="SCORE">
|
|
254
|
+
<sum>
|
|
255
|
+
<variable identifier="SCORE"/>
|
|
256
|
+
<baseValue baseType="float">2</baseValue>
|
|
257
|
+
</sum>
|
|
258
|
+
</setOutcomeValue>
|
|
259
|
+
</responseIf>
|
|
260
|
+
</responseCondition>
|
|
261
|
+
<setOutcomeValue identifier="FEEDBACK">
|
|
262
|
+
<variable identifier="RESPONSE"/>
|
|
263
|
+
</setOutcomeValue>
|
|
264
|
+
<setOutcomeValue identifier="completionStatus">
|
|
265
|
+
<baseValue baseType="identifier">completed</baseValue>
|
|
266
|
+
</setOutcomeValue>
|
|
267
|
+
</responseElseIf>
|
|
268
|
+
</responseCondition>
|
|
269
|
+
</responseProcessing>
|
|
270
|
+
<modalFeedback outcomeIdentifier="FEEDBACK" showHide="show" identifier="stickStrategy">No.
|
|
271
|
+
Initially, the probability of the prize being behind each door is 1/3. Opening a losing door
|
|
272
|
+
can't possibly make this go down for the remaining closed one! In fact you should
|
|
273
|
+
<em>never</em> stick to your original decision.</modalFeedback>
|
|
274
|
+
<modalFeedback outcomeIdentifier="FEEDBACK" showHide="show" identifier="switchStrategy"> Yes,
|
|
275
|
+
you should <em>always</em> switch doors when offered the chance. Congratulations, perhaps
|
|
276
|
+
you should think about a career as a TV game show contestant? </modalFeedback>
|
|
277
|
+
<modalFeedback outcomeIdentifier="FEEDBACK" showHide="show" identifier="noStrategy">
|
|
278
|
+
<p>No, you should infact <em>always</em> switch doors. This problem has fooled many
|
|
279
|
+
mathematicians since it was first posed in an American magazine article and continues to
|
|
280
|
+
present a seemingly paradoxical answer!</p>
|
|
281
|
+
<p>The probability of your first choice door hiding the prize is 1/3 and this can't change.
|
|
282
|
+
But, 2/3 of the time you'll be wrong with your first choice and, by revealing a goat,
|
|
283
|
+
Monty is effectively telling you which door the prize is behind the remaining 2/3 of the
|
|
284
|
+
time! So by switching doors, your chances of getting the prize go up to 2/3!</p>
|
|
285
|
+
</modalFeedback>
|
|
286
|
+
</assessmentItem>
|