Wiki source code of Expertenbewertung

Last modified by Carina Enke on 11.11.2025

Show last authors
1 {{section}}
2 {{column width="60%"}}
3 In addition to the configurable assessment options in the Assessment tab, extensive analyses can be used to assess participant responses via expert functions. Their application allows, for example, the implementation of adaptive question formats with individual error analyses and, based on this, individualised user feedback.
4 {{/column}}
5
6 {{column width="30%"}}
7 {{panel title="Content"}}
8 {{toc start="2"/}}
9 {{/panel}}
10
11 {{panel title="Related Topics"}}
12 * [[Variables>>doc:ONYX.Erstellung von Testinhalten.Aufgaben.Variablen verwenden.WebHome]]
13 * [[Set feedback>>doc:ONYX.Erstellung von Testinhalten.Aufgaben.Feedback festlegen.WebHome]]
14 {{/panel}}
15
16 {{panel title="Example resources"}}
17 * [[attach:MAXIMA-functions_for_LR-Processing.zip]]
18 {{/panel}}
19 {{/column}}
20 {{/section}}
21
22
23 == Access to answer options ==
24
25 Access to the answer selected by the participant and the correct solution to the question can be realised, for example, through Maxima queries in the Variables tab. For more information on how to create and use variables, see the [[Variables>>doc:ONYX.Erstellung von Testinhalten.Aufgaben.Variablen verwenden.WebHome]] help page.
26
27 [[image:attach:Beispiel - LR und CR per MAXIMA_de.png||height="263" width="453"]]
28
29 === Return values of answer options ===
30
31 The return values type of the answer options and thus of the system variables LEARNERRESPONSE and CORRECTRESPONSE depends on the question type:
32
33 |=(((
34 Question type
35 )))|=(((
36 Type
37 )))|=(((
38 Example return value
39 )))|=(((
40 System variable
41 )))
42 |(((
43 * Choice interaction, hotspot interaction, hottext interaction – one answer can be selected (single choice)
44 )))|(% rowspan="2" %)(% rowspan="2" %)
45 (((
46 single ID
47 )))|(((
48 ID_1
49 )))|(((
50 LEARNERRESPONSE
51
52 CORRECTRESPONSE
53 )))
54 |(((
55 * Inline choice (one text box)
56 )))|(((
57 ID_1
58 )))|(((
59 LEARNERRESPONSE_GAP_1 CORRECTRESPONSE_GAP_1
60 )))
61 |(((
62 * Choice interaction, hotspot interaction, hottext interaction – more than one answer can be selected (multiple choice)
63 * Order interaction
64 )))|(((
65 list of IDs
66 )))|(((
67 ID_1, ID_2, ID_3
68 )))|(((
69 LEARNERRESPONSE
70
71 CORRECTRESPONSE
72 )))
73 |(((
74 * Match interaction, matrix interaction
75 )))|(((
76 ID value pairs in a list
77 )))|(((
78 [ID_1, IDT_1], [ID_2, IDT_2], [ID_3, IDT_3]
79 )))|(((
80 LEARNERRESPONSE
81
82 CORRECTRESPONSE
83 )))
84 |(% colspan="1" %)(% colspan="1" %)
85 (((
86 * Text entry interaction (all formats)
87 * Extended text interaction
88 * Programming interaction
89 )))|(% colspan="1" %)(% colspan="1" %)
90 (((
91 specific values
92 )))|(% colspan="1" %)(% colspan="1" %)
93 (((
94
95 )))|(% colspan="1" %)(% colspan="1" %)
96 (((
97
98 )))
99
100 == ID display in the editor ==
101
102 The **identifiers of the answers to a question** can be displayed in the editor. Activate this function in your [[user profile settings>>doc:ONYX.Anmeldung.Benutzerprofil.WebHome]].
103
104 [[image:attach:Editor - Anzeige der IDs_de.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
105
106 == Return value preparation with auxiliary functions ==
107
108 The functions shown below are used to prepare LEARNERRESPONSES and CORRECTRESPONSES in the MAXIMA backend if the identifiers are each present in the form of ID_x (or IDT_y) with a natural number x.
109
110 |=(((
111 SimpleLR({LEARNERRESPONSE})
112 )))|(((
113 * The ID_ and IDT_ strings are removed, i. e. each ID is reduced to the numerical values x,y.
114 * If LEARNERRESPONSE is a list of IDs (single/multiple choice, hotspot interaction, order interaction, etc.), the output is a corresponding list of numerical IDs, e. g. NumLR(ID_3,ID_4,ID_2) -> [3,4,2].
115 * If LEARNERRESPONSE is a list of ID pairs (matrix interaction, match interaction, etc.), the output consists of the list of source elements and the list of associated target elements, e. g. NumLR([ID_3,IDT_1],[ID_4,IDT_3],[ID_2,IDT_2]) -> ~[~[3,4,2], [1.3,2]].
116 )))
117 |=(((
118 SimpleLR(0,{LEARNERRESPONSE})
119 )))|(((
120 * Like SimpleLR({LEARNERRESPONSE}), but the output is sorted in ascending order by (source) IDs.
121 )))
122 |=(((
123 SimpleLR(n,{LEARNERRESPONSE})
124 )))|(((
125 * If LEARNERRESPONSE is a list of ID pairs: Output is sorted in ascending order by (source) IDs. Additionally, for missing source IDs 1<=x<=n, the pairs [x,0] are added, completing the list for 1<=x<=n.
126 )))
127 |=(((
128 Choices(LR)
129 )))|(((
130 * Input: LR – the LEARNERRESPONSE simplified by SimpleLR
131 * Output: LEARNERRESPONSE as a binary matrix, rows=source elements, columns=target elements
132 )))
133 |=(((
134 Choices(m,LR), Choices (0,n,LR), Choices(m,n,LR)
135 )))|(((
136 * Like Choices(LR), additionally filled up with or reduced to m rows or m columns if necessary.
137 )))
138
139 **Additional auxiliary functions:**
140
141 |=(((
142 List2Matrix(LR)
143 )))|(((
144 Converts the list simplified by NumLR into a one- or two-line matrix
145 )))
146 |=(((
147 Matrix2List(M)
148 )))|(((
149 Converts matrix to list
150 )))
151 |=(((
152 ransposeList(LR)
153 )))|(((
154 Switches between the list displays
155
156 * Two lists: ~[~[source elements], [target elements]]
157 * List of pairs: ~[~[source1, target1], [souce2, target2], …]
158 )))
159
160 == Function to assess a formula comparison ==
161
162 The following standard comparison is used when assessing formula gaps:
163
164 {{code}}
165 is(equal(ev({LEARNERRESPONSE}),ev({CORRECTRESPONSE})))
166 {{/code}}
167
168 However, it has several disadvantages:
169
170 * mandatory use of decimal point instead of comma
171 * rounding/tolerance cannot be adjusted
172 * mandatory use of MAXIMA syntax, especially %e, %pi, %i and log instead of ln
173
174 The comparison can be extended using the function
175
176 {{code}}
177 CompareLR(”{LEARNERRESPONSE}“,“{CORRECTRESPONSE}“)
178 {{/code}}
179
180 (% class="auto-cursor-target" %)
181 or
182
183 {{code}}
184 CompareLR(”{LEARNERRESPONSE}“,“{CORRECTRESPONSE}“,tol)
185 {{/code}}
186
187 This offers the following advantages:
188
189 * also accepts e, pi, i, j, ln
190 * accepts both decimal point and comma
191 * performs the comparison "abs(LR-CR)<=tol" if tol>0 is specified
192 * otherwise performs the comparison "is(equal(ev(LR),ev(CR~)~)~)" and if necessary (i. e. if the result is //unknown//) additionally the checks/formula comparisons using radcan and trigsimp
193
194 {{info}}
195 Note: {LEARNERRESPONSE} and {CORRECTRESPONSE} must be committed in quotation marks (""), i. e. as strings!
196 {{/info}}
197
198 [[image:attach:Testdurchführung - Beispiel Formelvergleich_de.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
199
200 == Example using the auxiliary functions ==
201
202 All described auxiliary functions are shown in the attached (% class="sv-ti-title-text" %)[[attach:MAXIMA-functions_for_LR-Processing.zip]] example test. Download the file and import it into your question bank to reproduce the examples.
203
204 In the example test, you will find the auxiliary functions in the Variables tab under "Post-processed variables".
205
206 [[image:attach:Variablen - Maxima ID Beispiele_de.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
207
208 The variables created in this way can be used in the question feedback (among others).
209
210 [[image:attach:Feedback - Übergabe der Maxima ID Beispiele_de.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
211
212 The feedback can be displayed directly in the test run or the assessment documents.
213
214 [[image:attach:Testdurchführung - Beispiel_de.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]