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.
Files changed (192) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +28 -0
  3. data/Rakefile +1 -0
  4. data/lib/qti.rb +62 -0
  5. data/lib/qti/models/base.rb +80 -0
  6. data/lib/qti/models/manifest.rb +20 -0
  7. data/lib/qti/v1/models/assessment.rb +17 -0
  8. data/lib/qti/v1/models/assessment_item.rb +59 -0
  9. data/lib/qti/v1/models/base.rb +13 -0
  10. data/lib/qti/v1/models/choices/logical_identifier_choice.rb +26 -0
  11. data/lib/qti/v1/models/interactions/logical_identifier_interaction.rb +32 -0
  12. data/lib/qti/v2/models/assessment_item.rb +62 -0
  13. data/lib/qti/v2/models/assessment_test.rb +32 -0
  14. data/lib/qti/v2/models/base.rb +70 -0
  15. data/lib/qti/v2/models/choices/simple_choice.rb +28 -0
  16. data/lib/qti/v2/models/interactions.rb +25 -0
  17. data/lib/qti/v2/models/interactions/choice_interaction.rb +50 -0
  18. data/spec/fixtures/items_1.2/multiple_answer.xml +105 -0
  19. data/spec/fixtures/items_1.2/multiple_choice.xml +83 -0
  20. data/spec/fixtures/items_1.2/true_false.xml +50 -0
  21. data/spec/fixtures/items_2.1/Example01-modalFeedback.xml +79 -0
  22. data/spec/fixtures/items_2.1/Example02-feedbackInline.xml +67 -0
  23. data/spec/fixtures/items_2.1/Example03-feedbackBlock-solution-random.xml +223 -0
  24. data/spec/fixtures/items_2.1/Example03-feedbackBlock-solution.xml +238 -0
  25. data/spec/fixtures/items_2.1/Example04-feedbackBlock-templateBlock.xml +582 -0
  26. data/spec/fixtures/items_2.1/Example05-feedbackBlock-adaptive.xml +397 -0
  27. data/spec/fixtures/items_2.1/adaptive.xml +286 -0
  28. data/spec/fixtures/items_2.1/adaptive_template.xml +350 -0
  29. data/spec/fixtures/items_2.1/associate.xml +33 -0
  30. data/spec/fixtures/items_2.1/audio-video.xml +46 -0
  31. data/spec/fixtures/items_2.1/choice.xml +31 -0
  32. data/spec/fixtures/items_2.1/choice_aria.xml +42 -0
  33. data/spec/fixtures/items_2.1/choice_fixed.xml +33 -0
  34. data/spec/fixtures/items_2.1/choice_multiple.xml +31 -0
  35. data/spec/fixtures/items_2.1/choice_multiple_chocolade.xml +74 -0
  36. data/spec/fixtures/items_2.1/choice_multiple_rtl.xml +33 -0
  37. data/spec/fixtures/items_2.1/choice_ruby.xml +39 -0
  38. data/spec/fixtures/items_2.1/choice_t_f.xml +30 -0
  39. data/spec/fixtures/items_2.1/choice_true_false.xml +30 -0
  40. data/spec/fixtures/items_2.1/data-attributes.xml +61 -0
  41. data/spec/fixtures/items_2.1/drawing.xml +16 -0
  42. data/spec/fixtures/items_2.1/essay.xml +14 -0
  43. data/spec/fixtures/items_2.1/extended_text.xml +24 -0
  44. data/spec/fixtures/items_2.1/extended_text_rubric.xml +36 -0
  45. data/spec/fixtures/items_2.1/feedback_adaptive.xml +142 -0
  46. data/spec/fixtures/items_2.1/figures.xml +32 -0
  47. data/spec/fixtures/items_2.1/gap_match.xml +33 -0
  48. data/spec/fixtures/items_2.1/graphic_associate.xml +36 -0
  49. data/spec/fixtures/items_2.1/graphic_gap_match.xml +54 -0
  50. data/spec/fixtures/items_2.1/graphic_gap_match_text.xml +50 -0
  51. data/spec/fixtures/items_2.1/graphic_order.xml +32 -0
  52. data/spec/fixtures/items_2.1/hint.xml +85 -0
  53. data/spec/fixtures/items_2.1/hotspot.xml +26 -0
  54. data/spec/fixtures/items_2.1/hottext.xml +33 -0
  55. data/spec/fixtures/items_2.1/images/CBG.png +0 -0
  56. data/spec/fixtures/items_2.1/images/EBG.png +0 -0
  57. data/spec/fixtures/items_2.1/images/EDI.png +0 -0
  58. data/spec/fixtures/items_2.1/images/GLA.png +0 -0
  59. data/spec/fixtures/items_2.1/images/MAN.png +0 -0
  60. data/spec/fixtures/items_2.1/images/MCH.png +0 -0
  61. data/spec/fixtures/items_2.1/images/airport.png +0 -0
  62. data/spec/fixtures/items_2.1/images/blueStar.png +0 -0
  63. data/spec/fixtures/items_2.1/images/blue_door.png +0 -0
  64. data/spec/fixtures/items_2.1/images/bus.png +0 -0
  65. data/spec/fixtures/items_2.1/images/castle.png +0 -0
  66. data/spec/fixtures/items_2.1/images/greenTriangle.png +0 -0
  67. data/spec/fixtures/items_2.1/images/green_door.png +0 -0
  68. data/spec/fixtures/items_2.1/images/house.png +0 -0
  69. data/spec/fixtures/items_2.1/images/open_car.png +0 -0
  70. data/spec/fixtures/items_2.1/images/open_goat.png +0 -0
  71. data/spec/fixtures/items_2.1/images/plane.png +0 -0
  72. data/spec/fixtures/items_2.1/images/postcard.eps +3581 -0
  73. data/spec/fixtures/items_2.1/images/postcard.png +0 -0
  74. data/spec/fixtures/items_2.1/images/rectangle.svg +1 -0
  75. data/spec/fixtures/items_2.1/images/redCircle.png +0 -0
  76. data/spec/fixtures/items_2.1/images/red_door.png +0 -0
  77. data/spec/fixtures/items_2.1/images/sign.png +0 -0
  78. data/spec/fixtures/items_2.1/images/survey.jpg +0 -0
  79. data/spec/fixtures/items_2.1/images/train.png +0 -0
  80. data/spec/fixtures/items_2.1/images/uk.png +0 -0
  81. data/spec/fixtures/items_2.1/images/ukair.png +0 -0
  82. data/spec/fixtures/items_2.1/images/ukairtags.png +0 -0
  83. data/spec/fixtures/items_2.1/imsmanifest.xml +227 -0
  84. data/spec/fixtures/items_2.1/inline_choice.xml +26 -0
  85. data/spec/fixtures/items_2.1/inline_choice_math.xml +68 -0
  86. data/spec/fixtures/items_2.1/likert.xml +21 -0
  87. data/spec/fixtures/items_2.1/match.xml +41 -0
  88. data/spec/fixtures/items_2.1/math.xml +35 -0
  89. data/spec/fixtures/items_2.1/mc_calc3.xml +164 -0
  90. data/spec/fixtures/items_2.1/mc_calc5.xml +211 -0
  91. data/spec/fixtures/items_2.1/mc_stat2.xml +219 -0
  92. data/spec/fixtures/items_2.1/media_coords.xml +33 -0
  93. data/spec/fixtures/items_2.1/multi-input.xml +271 -0
  94. data/spec/fixtures/items_2.1/nested_object.xml +26 -0
  95. data/spec/fixtures/items_2.1/order.xml +25 -0
  96. data/spec/fixtures/items_2.1/order_partial_scoring.xml +55 -0
  97. data/spec/fixtures/items_2.1/order_rtl.xml +27 -0
  98. data/spec/fixtures/items_2.1/orkney1.xml +34 -0
  99. data/spec/fixtures/items_2.1/orkney2.xml +34 -0
  100. data/spec/fixtures/items_2.1/position_object.xml +34 -0
  101. data/spec/fixtures/items_2.1/select_point.xml +23 -0
  102. data/spec/fixtures/items_2.1/shared/orkney.css +1 -0
  103. data/spec/fixtures/items_2.1/shared/orkney.html +20 -0
  104. data/spec/fixtures/items_2.1/slider.xml +35 -0
  105. data/spec/fixtures/items_2.1/svg.xml +28 -0
  106. data/spec/fixtures/items_2.1/template.xml +88 -0
  107. data/spec/fixtures/items_2.1/template_image.xml +74 -0
  108. data/spec/fixtures/items_2.1/text_entry.xml +27 -0
  109. data/spec/fixtures/items_2.1/upload.xml +18 -0
  110. data/spec/fixtures/items_2.1/upload_composite.xml +24 -0
  111. data/spec/fixtures/test_qti_1.2.zip +0 -0
  112. data/spec/fixtures/test_qti_1.2/contact info.png +0 -0
  113. data/spec/fixtures/test_qti_1.2/exam1/my_files/org0/images/image.png +0 -0
  114. data/spec/fixtures/test_qti_1.2/exam1/my_files/org1/images/image.png +0 -0
  115. data/spec/fixtures/test_qti_1.2/image.png +0 -0
  116. data/spec/fixtures/test_qti_1.2/imsmanifest.xml +37 -0
  117. data/spec/fixtures/test_qti_1.2/quiz.xml +216 -0
  118. data/spec/fixtures/test_qti_2.1.zip +0 -0
  119. data/spec/fixtures/test_qti_2.1/assessment.xml +77 -0
  120. data/spec/fixtures/test_qti_2.1/imsmanifest.xml +211 -0
  121. data/spec/fixtures/test_qti_2.1/mathassess.xsd +54 -0
  122. data/spec/fixtures/test_qti_2.1/multiple-answer/multiple-answer.xml +31 -0
  123. data/spec/fixtures/test_qti_2.1/multiple-choice/multiple-choice.xml +31 -0
  124. data/spec/fixtures/test_qti_2.1/text-entry/text-entry.xml +330 -0
  125. data/spec/fixtures/test_qti_2.1/true-false/true-false.xml +55 -0
  126. data/spec/fixtures/tests/feedbackTest/assessment.xml +252 -0
  127. data/spec/fixtures/tests/feedbackTest/id-38d47747fb30/Example02-feedbackInline.xml +51 -0
  128. data/spec/fixtures/tests/feedbackTest/id-5e216df10030/Example03-feedbackBlock-solution.xml +199 -0
  129. data/spec/fixtures/tests/feedbackTest/id-9c33d141576e/Example05-feedbackBlock-adaptive.xml +330 -0
  130. data/spec/fixtures/tests/feedbackTest/id-aaa0bbf5da1d/Example03-feedbackBlock-solution-random.xml +223 -0
  131. data/spec/fixtures/tests/feedbackTest/id-d599169403d2/Example04-feedbackBlock-templateBlock.xml +534 -0
  132. data/spec/fixtures/tests/feedbackTest/id-fa3ee5852723/Example01-modalFeedback.xml +55 -0
  133. data/spec/fixtures/tests/feedbackTest/imsmanifest.xml +239 -0
  134. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_2014410822.xml +110 -0
  135. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_871212949.xml +208 -0
  136. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicesingle_853928446.xml +159 -0
  137. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicetruefalse_176040516.xml +98 -0
  138. data/spec/fixtures/tests/interactionmix_saxony_v3/Hotspot_278940407.xml +109 -0
  139. data/spec/fixtures/tests/interactionmix_saxony_v3/Hottext_801974120.xml +106 -0
  140. data/spec/fixtures/tests/interactionmix_saxony_v3/InteractionMixSachsen_1901710679.xml +54 -0
  141. data/spec/fixtures/tests/interactionmix_saxony_v3/Matchmultiple_1038910213.xml +139 -0
  142. data/spec/fixtures/tests/interactionmix_saxony_v3/Matchsingle_143114773.xml +133 -0
  143. data/spec/fixtures/tests/interactionmix_saxony_v3/Order_913967682.xml +117 -0
  144. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntry_883368511.xml +114 -0
  145. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_2040297025.xml +154 -0
  146. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_770468849.xml +124 -0
  147. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrysubset_806481421.xml +227 -0
  148. data/spec/fixtures/tests/interactionmix_saxony_v3/imsmanifest.xml +278 -0
  149. data/spec/fixtures/tests/interactionmix_saxony_v3/media/03c5e2f774db49598deb3ac7d05b53f9.jpg +0 -0
  150. data/spec/fixtures/tests/interactionmix_saxony_v3/media/0563e67fb1bb48ad882e0a5abf2a2686.jpg +0 -0
  151. data/spec/fixtures/tests/interactionmix_saxony_v3/media/2f44366716474a5d8e2a2e32346cbc05.jpg +0 -0
  152. data/spec/fixtures/tests/interactionmix_saxony_v3/media/71a299b50b5e4b1492f8ee51ce25be7d.jpg +0 -0
  153. data/spec/fixtures/tests/interactionmix_saxony_v3/media/a439b702d5034ca38f6df26a12835db3.jpg +0 -0
  154. data/spec/fixtures/tests/interactionmix_saxony_v3/media/b660fc9f268c4ef688d8606116c70160.jpg +0 -0
  155. data/spec/fixtures/tests/interactionmix_saxony_v3/media/c2f541343b9b4bfdba9fc90c7a18403e.jpg +0 -0
  156. data/spec/fixtures/tests/interactionmix_saxony_v3/media/e18b5a2eb8104d0994a182ee0176a05c.jpg +0 -0
  157. data/spec/fixtures/tests/interactionmix_saxony_v3/media/f88c5aa2c6724a388fdbadc7133eb757.jpg +0 -0
  158. data/spec/fixtures/tests/interactionmix_saxony_v3/media/ffe337505ef74334a0cecb33310f99c1.jpg +0 -0
  159. data/spec/fixtures/tests/tests/complete.xml +33 -0
  160. data/spec/fixtures/tests/tests/report.xml +70 -0
  161. data/spec/fixtures/tests/tests/rtest01-fragment.xml +12 -0
  162. data/spec/fixtures/tests/tests/rtest01-set01.xml +17 -0
  163. data/spec/fixtures/tests/tests/rtest01-set02.xml +17 -0
  164. data/spec/fixtures/tests/tests/rtest01-set03.xml +17 -0
  165. data/spec/fixtures/tests/tests/rtest01.xml +16 -0
  166. data/spec/fixtures/tests/tests/rtest02.xml +48 -0
  167. data/spec/fixtures/tests/tests/rtest03.xml +38 -0
  168. data/spec/fixtures/tests/tests/rtest04.xml +50 -0
  169. data/spec/fixtures/tests/tests/rtest06.xml +34 -0
  170. data/spec/fixtures/tests/tests/rtest08.xml +38 -0
  171. data/spec/fixtures/tests/tests/rtest09.xml +33 -0
  172. data/spec/fixtures/tests/tests/rtest10.xml +48 -0
  173. data/spec/fixtures/tests/tests/rtest12.xml +38 -0
  174. data/spec/fixtures/tests/tests/rtest13.xml +62 -0
  175. data/spec/fixtures/tests/tests/rtest22.xml +41 -0
  176. data/spec/fixtures/tests/tests/rtest24.xml +37 -0
  177. data/spec/fixtures/tests/tests/rtest25.xml +62 -0
  178. data/spec/fixtures/tests/tests/rtest26.xml +38 -0
  179. data/spec/fixtures/tests/tests/rtest27.xml +46 -0
  180. data/spec/qti/models/base_spec.rb +71 -0
  181. data/spec/qti/models/manifest_spec.rb +19 -0
  182. data/spec/qti/v1/models/assessment_item_spec.rb +49 -0
  183. data/spec/qti/v1/models/assessment_spec.rb +18 -0
  184. data/spec/qti/v1/models/choices/logical_identifier_choice_spec.rb +23 -0
  185. data/spec/qti/v1/models/interactions/logical_identifier_interaction_spec.rb +20 -0
  186. data/spec/qti/v2/models/assessment_item_spec.rb +67 -0
  187. data/spec/qti/v2/models/assessment_test_spec.rb +60 -0
  188. data/spec/qti/v2/models/choices/simple_choice_spec.rb +22 -0
  189. data/spec/qti/v2/models/interactions/choice_interaction_spec.rb +27 -0
  190. data/spec/qti_spec.rb +38 -0
  191. data/spec/spec_helper.rb +10 -0
  192. 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&#160; <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>&#160; <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&#160; <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&#160; <textEntryInteraction expectedLength="20"
139
+ responseIdentifier="RESPONSE25"/>&#160; <textEntryInteraction
140
+ expectedLength="20" responseIdentifier="RESPONSE26"/> the&#160;
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>