Stage (Jack2)
Zur Navigation springen
Zur Suche springen
Um die Inhalte einer Stufe zu definieren, wie z.B. Fragetext, Antwortoptionen, Feedback, etc. ist für jede Stufe eine weitere XML-Datei notwendig. Der Name dieser XML-Datei ist beliebig und muss nur an der entsprechenden Stelle in der ExerciseChain referenziert werden. Zur Zeit gibt es drei mögliche Fragetypen für eine Stufe: Multiple Choice, Fill In und SCList (eine Tabelle mit Checkboxen). Die XML-Dateien der jeweiligen Fragetypen sind unterschiedlich und werden in den folgenden Abschnitten detailliert erläutert. Das Grundgerüst einer solchen Stufendefinition ist jedoch immer ähnlich und weist für alle Fragetypen gemeinsame Tags auf. Es hat die folgende Form:
<?xml version="1.0" encoding="iso-8859-1"?>
<exercise type="" editor="">
<input condition="">
<inputvalue name="" type="" />
</input>
...
{Stufenspezifischer Bereich}
...
<advice>
<option> Hinweistext </option>
</advice>
<skipmessage> Nachricht zum Überspringen </skipmessage>
<output>
<outputvalue value="" type="" />
</output>
</exercise>
Die gemeinsamen Tags haben die folgende Bedeutung:
- exercise: Das Wurzeltag einer jeden Stufendefinition. Es besitzt das Attribut
type
, bei welchem der Fragetyp der jeweiligen Stufe einzutragen ist. Erlaubte Werte sind hiermc
,fillIn
undsclist
. Des weiteren kann man über das Attributeditor
steuern, ob die Stufe einen Formeleditor bei Fill-In-Kästchen besitzen soll. Mögliche Werte sindtrue
,false
und der Name des jeweiligen Editors. Statt dem Attribut den Wertfalse
zuzuordnen, kann es auch einfach weggelassen werden. - input: In diesem Tag werden die Variablen definiert, die von der ExerciseChain übergeben werden. Für jeden Tag
input
muss ein Taginputvalue
definiert werden. Gibt es keineinput
-Tags in der ExerciseChain, so bleibt dieses Tag leer, es muss jedoch zwingend vorhanden sein. Über das Attributcondition
kann außerdem eine Bedingung angegeben werden, die vom System geprüft werden soll. Will man bspw. eine Parabel <math>f(x) = ax^2 + bx + c</math> mit Variablen <math>a,b,c</math> definieren, so sollte <math>a \neq 0</math> gelten. Ist die Bedingung nicht erfüllt, so wird die Aufgabe dem Studierenden nicht angezeigt und er erhält eine Fehlermeldung. Dieses Attribut kann auch weggelassen werden. - inputvalue: Definiert eine Variable für die lokale Variablenliste. Über das Attribut
name
wird der Name für die lokale Variablenliste bestimmt. Der Name muss dabei nicht mit dem Namen der Variable in der globalen Variablenliste übereinstimmen, es ist jedoch meist sinnvoll diesen beizubehalten. Außerdem wird über das Attributtype
der Typ der Variable angegeben. Mögliche Werte bei diesem Attribut sindinteger
(für ganze Zahlen),double
(für Dezimalzahlen),string
(für sonstige Zeichenketten) undset
für Mengen. Die Defaulteinstellung dieses Attributs iststring
. - advice: Über das Tag
advice
können Hinweise gegeben werden. Für jeden Hinweis muss ein Tagoption
erzeugt werden. Der Studierende kann diese Hinweise über das Klicken des Hinweis-Buttons angezeigt bekommen. - output: Für jede Variable, die an die ExerciseChain zurückgegeben werden soll, muss in diesem Tag ein Tag vom Typ
outputvalue
erstellt werden. Sollen keine Variablen zurückgegeben werden, so bleibt dieses Tag leer. Es muss jedoch zwingend vorhanden sein. - outputvalue: Gibt eine Variable an die ExerciseChain zurück. Im Attribut
value
wird der Wert der Variable angegeben. Dieser Wert kann ein beliebiger String sein, den der Evaluator evaluieren kann. Möchte man eine studentische Eingabe bei einer Fill-In-Aufgabe zurückgeben, so kann man es mit[pos=...]
referenzieren. Dabei muss nach dem Gleichheitszeichen die Nummer des Fill-In-Kästchens eingetragen werden. JACK nummeriert die Fill-In-Kästchen beginnend mit 1. Das erste Fill-In-Kästchen wird also durch den Platzhalter[pos=1]
referenziert, usw. (s. auch die Erklärung zum Tagoption
beim Fragetyp Fill In). Möchte man das Ankreuzmuster einer Multiple-Choice-Aufgabe zurückgeben, so belegt man das Attribut mit dem Wertticked
. Über das Attributtype
wird zudem analog zum Taginputvalue
der Typ der Variable definiert.