Rev 11194 | Rev 11753 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 11194 | Rev 11284 | ||
---|---|---|---|
Line 44... | Line 44... | ||
44 | 44 | ||
45 | 45 | ||
46 | !set namelist=Basic types, Specific or advanced types |
46 | !set namelist=Basic types, Specific or advanced types |
47 | !set symtextlist=text atext raw compose |
47 | !set symtextlist=text atext raw compose |
48 | 48 | ||
49 | < |
49 | <h2>User replies to an exercise</h2> |
50 | 50 | ||
51 | There are two basic ways in which an OEF exercise accepts user replies: |
51 | There are two basic ways in which an OEF exercise accepts user replies: |
52 | multiple choices and freestyle replies. User answers will be analyzed |
52 | multiple choices and freestyle replies. User answers will be analyzed |
53 | according to the nature of the types. It is also possible to show |
53 | according to the nature of the types. It is also possible to show |
54 | !href cmd=help&special_parm=feedback feedbacks |
54 | !href cmd=help&special_parm=feedback feedbacks |
55 | to the user when the answer meeds a specified condition (usually to warn a |
55 | to the user when the answer meeds a specified condition (usually to warn a |
56 | typical error). |
56 | typical error). |
57 | 57 | ||
58 | < |
58 | <h3>Multiple choices</h3> |
59 | A multiple choice is defined by giving a list of good choices (one or |
59 | <p>A multiple choice is defined by giving a list of good choices (one or |
60 | several) and another list of bad choices. |
60 | several) and another list of bad choices.</p> |
61 | Up to $choicelim simultaneous multiple choice questions can be asked for |
61 | <p>Up to $choicelim simultaneous multiple choice questions can be asked for |
62 | one exercise, under the current implementation. The number of good and bad |
62 | one exercise, under the current implementation. The number of good and bad |
63 | choices within one multiple choice question is unlimited (except a limit on |
63 | choices within one multiple choice question is unlimited (except a limit on |
64 | the length of the string imposed by WIMS). |
64 | the length of the string imposed by WIMS).</p> |
65 | <p> |
- | |
66 | See |
65 | <p>See |
67 | !href cmd=help&special_parm=oef help on OEF format |
66 | !href cmd=help&special_parm=oef help on OEF format |
68 | for the syntax to define a multiple choice. |
67 | for the syntax to define a multiple choice.</p> |
69 | 68 | ||
70 | <a id="freestyle"></a> |
- | |
71 | < |
69 | <h3 id="freestyle">Freestyle answers</h3> |
72 | A freestyle answer is one which is typed by the user. |
70 | <p>A freestyle answer is one which is typed by the user. |
73 | Up to $answerlim simultaneous freestyle answers can be asked for one |
71 | Up to $answerlim simultaneous freestyle answers can be asked for one |
74 | exercise |
72 | exercise, under the current implementation.</p> |
75 | The syntax is as follows: |
73 | The syntax is as follows: |
76 | <pre> |
74 | <pre> |
77 | \answer{Texte}{\reponse}{type=...}{option=...}{weight=...} |
75 | \answer{Texte}{\reponse}{type=...}{option=...}{weight=...} |
78 | </pre> |
76 | </pre> |
79 | (The last 3 fields are optional.) |
77 | (The last 3 fields are optional.) |
80 | 78 | ||
81 | <h3>The parameter <span class="tt wims_code_words">type</span></h3> |
79 | <h3>The parameter <span class="tt wims_code_words">type</span></h3> |
82 | <p> |
80 | <p> |
83 | Each freestyle answer can independently take one of the following types. |
81 | Each freestyle answer can independently take one of the following types. |
84 | </p> |
82 | </p> |
85 | !for k=1 to 2 |
83 | !for k=1 to 2 |
86 | < |
84 | <h4>$(namelist[$k])</h4> |
87 | !set n=!linecnt $(typelist$k) |
85 | !set n=!linecnt $(typelist$k) |
88 | <ul> |
86 | <ul> |
89 | !for j=1 to $n |
87 | !for j=1 to $n |
90 | !set l=!line $j of $(typelist$k) |
88 | !set l=!line $j of $(typelist$k) |
91 | !distribute item $l into name,title |
89 | !distribute item $l into name,title |
Line 93... | Line 91... | ||
93 | !set name=!replace internal | by , in $name |
91 | !set name=!replace internal | by , in $name |
94 | !set name1=!item 2 to -1 of $name |
92 | !set name1=!item 2 to -1 of $name |
95 | !set name=!item 1 of $name |
93 | !set name=!item 1 of $name |
96 | !default name1=$name |
94 | !default name1=$name |
97 | !if $name isitemof $special_parm or all isitemof $special_parm |
95 | !if $name isitemof $special_parm or all isitemof $special_parm |
98 | <li |
96 | <li id="_$name"> |
99 | !read help/anstype/$name.phtml |
97 | !read help/anstype/$name.phtml |
100 | !if $name iswordof $symtextlist |
98 | !if $name iswordof $symtextlist |
101 | <p> |
- | |
102 | <b>Remark</b>. |
99 | <p><b>Remark</b>. |
103 | This type of reply accepts the symtext option. If the word |
100 | This type of reply accepts the symtext option. If the word |
104 | <span class="tt wims_code_words">symtext</span> is declared in the option of the reply, the analysis of |
101 | <span class="tt wims_code_words">symtext</span> is declared in the option of the reply, the analysis of |
105 | the reply will be exactly as for |
102 | the reply will be exactly as for |
106 | !href cmd=help&special_parm=reply,symtext#_symtext symtext |
103 | !href cmd=help&special_parm=reply,symtext#_symtext symtext |
107 | , in particular with no preliminary processing of the texts. And all the |
104 | , in particular with no preliminary processing of the texts. And all the |
Line 118... | Line 115... | ||
118 | </ul> |
115 | </ul> |
119 | !next i |
116 | !next i |
120 | 117 | ||
121 | !read help/$lang/embedans.phtml |
118 | !read help/$lang/embedans.phtml |
122 | 119 | ||
123 | <h3>The optional parameter <span class="tt wims_code_words">weight</span></h3> |
120 | <h3 id="weight">The optional parameter <span class="tt wims_code_words">weight</span></h3> |
124 | <a id="weight"></a> |
- | |
- | 121 | ||
125 | It is possible to give a weight to answers. |
122 | It is possible to give a weight to answers. |
126 | <p> |
123 | <p> |
127 | Example : |
124 | Example : |
128 | </p> |
125 | </p> |
129 | <pre>\answer{}{1}{type=numeric}{weight=8} |
126 | <pre>\answer{}{1}{type=numeric}{weight=8} |
Line 135... | Line 132... | ||
135 | par le niveau de sévérité. |
132 | par le niveau de sévérité. |
136 | </p><p> |
133 | </p><p> |
137 | One can put variables in <span class="tt wims_code_words">weight</span> |
134 | One can put variables in <span class="tt wims_code_words">weight</span> |
138 | if they are defined before <span class="tt wims_code_variable">\statement</span>. |
135 | if they are defined before <span class="tt wims_code_variable">\statement</span>. |
139 | 136 | ||
140 | <p> |
- | |
141 | Example |
137 | <p>Example :</p> |
142 | </p> |
- | |
143 | <pre> |
138 | <pre> |
144 | \text{w = \t = 1 ? 1 : 2} |
139 | \text{w = \t = 1 ? 1 : 2} |
145 | \answer{}{1}{type=numeric}{weight=\w} |
140 | \answer{}{1}{type=numeric}{weight=\w} |
146 | \answer{}{1}{type=numeric}{weight=3} |
141 | \answer{}{1}{type=numeric}{weight=3} |
147 | </pre> |
142 | </pre> |
148 | 143 | ||
149 | <h3>Le paramètre optionnel <span class="tt wims_code_words">option</span></h3> |
144 | <h3 id="option">Le paramètre optionnel <span class="tt wims_code_words">option</span></h3> |
150 | <a id="option"></a> |
- | |
151 | Dans le cas de plusieurs options, elles sont séparées par des espaces. |
145 | Dans le cas de plusieurs options, elles sont séparées par des espaces. |
152 | For example, <span class="tt wims_code_words">option=default noanalyzeprint</span>. |
146 | For example, <span class="tt wims_code_words">option=default noanalyzeprint</span>. |
153 | 147 | ||
154 | Les options possibles à la suite d'une instruction <span class="tt wims_code_variable">answer</span> |
148 | Les options possibles à la suite d'une instruction <span class="tt wims_code_variable">answer</span> |
155 | ou <span class="tt wims_code_variable">condition</span> sont |
149 | ou <span class="tt wims_code_variable">condition</span> sont |
156 | <ul> |
150 | <ul> |
157 | <li><span class="tt wims_code_words">option=default</span>: The option <span class="tt wims_code_words">default</span> is common for all free answers : |
151 | <li><span class="tt wims_code_words">option=default</span>: The option <span class="tt wims_code_words">default</span> is common for all free answers : |
158 | This option can take |
152 | This option can take |
159 | the form <span class="tt wims_code_words">default="default_value"</span>. If the |
153 | the form <span class="tt wims_code_words">default="default_value"</span>. If the |
160 | user gives an empty reply, it is the default_value that will take place. |
154 | user gives an empty reply, it is the default_value that will take place. |
161 | </li><li> |
155 | </li><li> |
162 | <span class="tt wims_code_words">option=split</span>: In case of type <span class="tt wims_code_words">correspond</span>, <span class="tt wims_code_words">checkbox</span> or <span class="tt wims_code_words">mark</span>, |
156 | <span class="tt wims_code_words">option=split</span>: In case of type <span class="tt wims_code_words">correspond</span>, <span class="tt wims_code_words">checkbox</span> or <span class="tt wims_code_words">mark</span>, |
163 | there will be partial score. |
157 | there will be partial score. |
164 | </li><li> |
158 | </li><li> |
165 | <span class="tt wims_code_words">option=nonstop</span> : In case of step exercises, |
159 | <span class="tt wims_code_words">option=nonstop</span> : In case of step exercises, |
166 | following questions are asked even if the answer is false. |
160 | following questions are asked even if the answer is false. |
167 | </li> |
161 | </li> |
168 | <li><span class="tt wims_code_words">option=noanalyzeprint</span>: Le texte automatique d'analyse de réponses n'est |
162 | <li><span class="tt wims_code_words">option=noanalyzeprint</span>: Le texte automatique d'analyse de réponses n'est |
169 | pas affiché. C'est donc à l'auteur de l'exercice de fournir un feedback convenable. |
163 | pas affiché. C'est donc à l'auteur de l'exercice de fournir un feedback convenable. |
170 | Cela est utile dans certains types comme le type <span class="tt wims_code_words">mark</span> où le texte automatique |
164 | Cela est utile dans certains types comme le type <span class="tt wims_code_words">mark</span> où le texte automatique |
171 | est souvent inadéquat. Le score subsiste ainsi que l'indication sur la justesse de la réponse. |
165 | est souvent inadéquat. Le score subsiste ainsi que l'indication sur la justesse de la réponse. |
172 | </li><li> |
166 | </li><li> |
173 | Following the instruction <span class="tt wims_code_words">condition</span>, |
167 | Following the instruction <span class="tt wims_code_words">condition</span>, |
174 | <span class="tt wims_code_words">option=hide</span>: The condition is used to analyze the |
168 | <span class="tt wims_code_words">option=hide</span>: The condition is used to analyze the |
175 | answer but will not be printed. |
169 | answer but will not be printed. |
176 | </li> |
170 | </li> |
177 | </ul> |
171 | </ul> |
178 | Other options are usable in particular answer types. For precision, return to |
172 | Other options are usable in particular answer types. For precision, return to |
179 | the documentation of the answer type. |
173 | the documentation of the answer type. |
180 | !read help/option.phtml |
174 | !read help/option.phtml |
181 | 175 | ||
182 | < |
176 | <h2>Testing conditions</h2> |
183 | <p> |
- | |
184 | Under certain circumstances, it is desired that freestyle answers be tested |
177 | <p>Under certain circumstances, it is desired that freestyle answers be tested |
185 | by special conditions (questions with multiple good answers, exercises |
178 | by special conditions (questions with multiple good answers, exercises |
186 | asking for examples, answers determined by inequalities, etc). This can be |
179 | asking for examples, answers determined by inequalities, etc). This can be |
187 | done in the following way. <p> |
180 | done in the following way.</p> <p> |
188 | If the good answer to a freestyle question is an undefined variable, the |
181 | If the good answer to a freestyle question is an undefined variable, the |
189 | answer to this question will be fed into this variable. The latter can then |
182 | answer to this question will be fed into this variable. The latter can then |
190 | be used to implement testing conditions. The score given to the exercise is |
183 | be used to implement testing conditions. The score given to the exercise is |
191 | then determined by the number of testing conditions which are met, rather |
184 | then determined by the number of testing conditions which are met, rather |
192 | than the number of answers which meet the good answers. |
185 | than the number of answers which meet the good answers. |
Line 199... | Line 192... | ||
199 | (The last field is optional.) |
192 | (The last field is optional.) |
200 | <p> |
193 | <p> |
201 | Here are some examples of testing conditions. (<span class="tt wims_code_variable">ans1</span> and |
194 | Here are some examples of testing conditions. (<span class="tt wims_code_variable">ans1</span> and |
202 | <span class="tt wims_code_variable">ans2</span> are undefined variables appearing in freestyle answers, as |
195 | <span class="tt wims_code_variable">ans2</span> are undefined variables appearing in freestyle answers, as |
203 | described above.) |
196 | described above.) |
204 | - | ||
205 | !href target=wims_mhelp cmd=help&special_parm=if Complete list of relations |
197 | !href target=wims_mhelp cmd=help&special_parm=if Complete list of relations |
- | 198 | </p> |
|
206 | 199 | ||
207 | </p> |
- | |
208 | $table_header |
200 | $table_header |
209 | $table_hdtr<th>Condition</th><th>meaning</th></tr> |
201 | $table_hdtr<th>Condition</th><th>meaning</th></tr> |
210 | $table_tr<td><tt class="wims_code_variable">ans1>=0 and \ans1<=1</tt></td> |
202 | $table_tr<td><tt class="wims_code_variable">ans1>=0 and \ans1<=1</tt></td> |
211 | <td>Good if <span class="tt wims_code_words">ans1</span> is within the interval [0,1].</td></tr> |
203 | <td>Good if <span class="tt wims_code_words">ans1</span> is within the interval [0,1].</td></tr> |
212 | $table_tr<td class="tt wims_code_variable">ans1=1 or \ans1=3 or \ans1=5</td> |
204 | $table_tr<td class="tt wims_code_variable">ans1=1 or \ans1=3 or \ans1=5</td> |
Line 215... | Line 207... | ||
215 | <td>Good if <span class="tt wims_code_words">ans1</span> and <span class="tt wims_code_words">ans2</span> are the two |
207 | <td>Good if <span class="tt wims_code_words">ans1</span> and <span class="tt wims_code_words">ans2</span> are the two |
216 | roots of the polynomial x<sup>2</sup>-5x+6.</td></tr> |
208 | roots of the polynomial x<sup>2</sup>-5x+6.</td></tr> |
217 | $table_tr<td class="tt wims_code_words">sin(\ans1)=0</td> |
209 | $table_tr<td class="tt wims_code_words">sin(\ans1)=0</td> |
218 | <td>Good if <span class="tt wims_code_words">ans1</span> is a multiple of $m_pi.</td></tr> |
210 | <td>Good if <span class="tt wims_code_words">ans1</span> is a multiple of $m_pi.</td></tr> |
219 | $table_end |
211 | $table_end |
220 | See |
212 | <p>See |
221 | !href cmd=help&special_parm=oef help on oef format |
213 | !href cmd=help&special_parm=oef help on oef format |
222 | for the syntax for defining replies. |
214 | for the syntax for defining replies.</p> |
223 | 215 |