Nemo: Antwortspeicherung und Kodieren
Kodierung bedeutet, den Antwortwert einer Kategorie zuzuordnen. Im einfachsten Fall sind dies die Kategorien “Richtig” und “Falsch”, für eine genauere Antwortanalyse können aber auch differenzierte Kategorien entwickelt werden. Da für Nemo die Antwort im Standard-Datenformat des IQB gespeichert wird, muss der Antwort ein Code (Zahl als neutrale Kategorie) und ein Score (Zahl 1/0 im Sinne von “Richtig”/“Falsch”) bekommen.
Grundsätzlich ist die Kodierung in Nemo optional. Da die Architektur des StarS-Projektes jedoch eine durchgängig automatische Antwortverarbeitung und Datenanalyse vorsieht (keine manuelle Kodierung), soll die Unitdefinition stets Kodiervorschriften enthalten.
Alle Variablen einer Unit werden auf einheitliche Art kodiert. Dazu gibt es eine Datenstruktur coding
außerhalb der Interaktionsparameter.
{
"coding": [
{
"variableId": "MK02",
"source": "SUM",
"codes": [
{
"rule": {
"equalsNumber": 4
},
"code": 1,
"score": 1
}
]
}
]
}
Das obige Beispiel definiert für die Variable “MK02”, dass der Code 1 und der Score 1 vergeben werden soll, wenn die Summe des Antwortwertes genau 4 beträgt. Ansonsten wird Code 0 und Score 0 vergeben.
Parameter
variableId
Das Kodierschema erlaubt die Kodierung mehrerer Variablen. Allerdings enthält eine Unitdefinition für Nemo meist nur ein Item und damit eine Variable. Daher kann die Angabe der variableId auch wegfallen und Nemo wird die variableId aus dem Interaktionstyp bzw. den Interaktionsparametern ableiten. Erst wenn mehrere Variablen zu kodieren sind, muss die variableId angegeben werden.
source
Der Antwortwert kann verschieden je nach Interaktionstyp sein. Es kann sich um eine Zahl handeln (Position des gewählten Buttons), ein String in der Form “01101” oder eine offene Eingabe. Zunächst muss festgelegt werden, welche Information aus der Variablen verarbeitet werden soll:
VALUE
: Es wird direkt der Antwortwert genommen (Standard).VALUE_TO_UPPER
: Es handelt sich beim Antwortwert um einen String, und zur besseren Vergleichbarkeit wird dieser in Großbuchstaben umgewandelt.SUM
: Der Antwortwert ist ein String in der Form “01101”, und es wird die Summe der “1”-Zeichen berechnet.LENGTH
: Es handelt sich beim Antwortwert um einen String und es wird die Länge ermittelt.
codes
Hier können mehrere Codes definiert werden. Wenn beispielsweise ein differenziertes Feedback gegeben werden soll (siehe Übungsaufgaben/Rückmeldung), kann die Unterscheidung von Falsch-Antworten wichtig sein.
Es wird stets der erste Code genommen, dessen Regel zutrifft. Die anderen Regeln werden ignoriert. Daher spielt die Reihenfolge der Codes eine Rolle.
Wenn keine Regel zutrifft, dann wird der Code 0 und der Score 0 vergeben. Code 0 sollte daher nicht explizit in der Code-Liste verwendet werden, sondern ab 1 ansteigend. Sollte dennoch 0 gegeben sein, sucht Nemo den nächsten freien Code-Wert.
rule
, code
, score
Eine Regel besteht stets aus einer Vergleichsmethode und einem Vergleichswert. Als Vergleichsmethoden stehen equalsString
, equalsNumber
, greaterThan
und lessThan
zur Verfügung. equalsString
erwartet als Vergleichswert einen String, die anderen eine Zahl.
Antwort-Status
Die Variable(n), die in der Unitdefinition angelegt wurden, sind stets in den Antwortdaten zu finden. Folgende Werte für den Antwort-Status sind möglich:
DISPLAYED
: Es erfolgte noch keine Interaktion, sondern das Item wurde nur angezeigt.VALUE_CHANGED
: Nach einer Interaktion hat die Variable einen Wert erhalten. Dieser Status ist nur dann in den Daten zu finden, wenn keine Kodieranweisungen gefunden wurden.CODING_COMPLETE
: Der Antwortwert wurde erfolgreich kodiert.CODING_ERROR
: Während der Kodierung ist ein Fehler aufgetreten. Dies kann an durch eine fehlerhafte Regel eintreten (Antwortwert ist Zahl, aber Regel vergleicht Strings).