Variablen verwenden

Version 501.3 von Carina Enke am 20.12.2023


Der Einsatz von Variablen ermöglicht die Erstellung von dynamischen Aufgabentexten. Der Aufgabeninhalt kann dabei zufällig oder angepasst an den Nutzer, seine bisherigen Antworten und Bewertungen generiert werden. Zur Umsetzung werden zwei verschiedene Typen von Variablen im gleichnamigen Tab angeboten:

  • Vor Anzeige verarbeitete Variablen
    Die Pre-Variablen werden vor Anzeige der Aufgabe belegt und ermöglichen somit den Aufgabentext sowie die vorgegebenen und korrekten Antworten dynamisch anzupassen. Auf diese Weise können mithilfe von Platzhaltern Aufgabenschablonen definiert werden. Die Platzhalter werden pro Testdurchlauf auf Basis definierter Intervalle, Wertauswahllisten oder Berechnungsvorschriften durch konkrete Zufallswerte ersetzt. Für unterschiedliche Teilnehmer und Testdurchläufe entstehen somit verschiedene aber gleichartige Testaufgaben.
  • Nach Abgabe verarbeitete Variablen
    Die Post-Variablen werden nach Beantwortung, Abgabe und automatischer Bewertung der Aufgabe belegt und ermöglichen somit Zugriff auf antwortspezifische Werte wie die Lernerantwort oder Punkteinformationen. Auf diese Weise können adaptive Feedbackinhalte, Folgeversuche und Aufgabenserien erreicht werden. Mithilfe von Bedingungen und MAXIMA-Anweisungen können Lernerantworten analysiert und typische Fehler identifiziert werden. Auf diese kann durch entsprechendes Feedback oder angepasste Übungsaufgaben in Folge reagiert werden.

Editor - Tab Variablen_de.png

Vor Anzeige verarbeitete Variablen

Definieren Sie Variablen, welche vor der Anzeige der Aufgabe ermittelt werden, um in Ihren Aufgaben Zufallsparameter zu nutzen. Variablen werden in ONYX für alle Aufgabentypen unterstützt und bieten insbesondere für Berechnungsaufgaben vielfältige Möglichkeiten. Durch Variablen können Aufgabenschablonen erstellt werden, welche automatisch zur Testlaufzeit unbegrenzt viele, unterschiedliche Test- und Prüfungsdurchläufe ermöglichen.

Testrun - Beispielaufgaben_de.png

Information

Ein typisches Anwendungsbeispiel zum Einsatz von Variablen als Zufallsparameter wird im Beispiel Transport - Einsatz von Zufallsparametern vorgestellt.

Nach Abgabe verarbeitete Variablen

Definieren Sie Variablen, welche nach Abgabe der Aufgabe ermittelt werden, um adaptive Aufgaben- und Testszenarien zu erstellen. Nach Abgabe verarbeitete Variablen (kurz: Post-Variablen) ermöglichen Ihnen den Zugriff auf die gegebenen Lernerantworten und erreichten Punkte. Sie können nachfolgende Inhalte wie Feedbacktexte oder den Aufgabentext von Folgeversuchen auf dieser Basis anpassen. Darüber hinaus ist es möglich in die Bewertung einzugreifen und diese individuell nachträglich zu ändern.

Testrun - Nutzerlösung einer Beispielaufgabe_de.pngTestrun - Post-Variable im Feedback_de.pngTestrun - Post-Variable Lösungshinweis_de.png

Information

Definition einer Variable

Klicken Sie im Tab Variablen auf den Button Neue Variable hinzufügen, um eine neue Variable zu definieren. Die neue Variable wird direkt hinzugefügt und in der Übersichtstabelle angezeigt. Unterhalb öffnet sich für die neue Variable ein Bearbeitungsfenster. Die Reihenfolge von Variablen oder Bedingungen innerhalb einer Variablen-Tabelle kann einfach per Drag-and-Drop geändert werden.

Editor - Definition einer Variable_de.png

Vergeben Sie einen eindeutigen Variablen-Namen für ihre Variable. Der Variablen-Name dient als Identifier und ermöglicht Ihnen die Nutzung der Variable im Aufgabentext. Bitte beachten Sie, dass im Variablen-Namen keine Umlaute, Sonder- und Leerzeichen verwendet werden dürfen. Die Groß- und Kleinschreibung muss beachtet werden. Wird eine Variable mit dem Namen "a" definiert, kann mit dem Platzhalter {a} darauf zugegriffen werden.

Wählen Sie den Variablen-Typ. Folgende Variablen-Typen werden bereitgestellt:

Abhängig vom gewählten Variablen-Typ stehen Ihnen unterschiedliche Möglichkeiten zur Wert-Ermittlung bereit:

  • Wert
  • Wertebereich
  • Zufällige Auswahl
  • Berechnung (MAXIMA)

Variablen können auch ohne Wert-Setzung angelegt werden, um den Wert beispielsweise später in Abhängigkeit anderer Variablen zu setzen (vgl. Bedingungen).

Verwendung von Variablen

Definierte Variablen können durch Angabe des Variablen-Namens in die Aufgabenstellung und in Antworttexte eingefügt werden. Ebenfalls ist die direkte Integration in LaTeX-Formeln möglich. Der definierte Variablenname muss in geschweiften Klammern stehen. ONYX erkennt automatisch, ob eine Variablen-Deklaration mit entsprechendem Namen vorliegt. Wird ein Bezeichner verwendet, der nicht definiert ist, wird dieser ignoriert und als Text ausgegeben.

Im Beispiel wurden die Variablen {VAR1}, {VAR2} und {VAR3} deklariert:

Beispiel zur Verwendung von Variablen_de.png

Definition einer Bedingung

Im Tab Variablen können Sie zudem Bedingungen verwenden. Eine Bedingung ermöglicht das Setzen eines Variablen-Wertes, abhängig von anderen Variablen-Werten.

Klicken Sie auf den Button Neue Bedingung hinzufügen, um eine neue Bedingung zu definieren. Die neue Bedingung wird direkt hinzugefügt und in der Übersichtstabelle angezeigt. Unterhalb öffnet sich für die Bedingung ein Bearbeitungsfenster. Die Reihenfolge von Variablen oder Bedingungen innerhalb der Variablen-Tabelle kann einfach per Drag-and-Drop geändert werden.

Editor - Neue Bedinung anlegen_de.png

Variablen können mit anderen Variablen gleichen Typs oder mit festen Werten verglichen werden. Die Vergleichsoperatoren richten sich nach dem Variablentyp. So können Sie beispielsweise prüfen, ob Werte gleich (=) oder ungleich (!=) zu einem anderen Wert sind.

Editor - Vergleichsoperatoren_de.png

Bitte beachten Sie: Eine Variable die innerhalb einer Bedingung verwendet wird, muss vor der Bedingung initialisiert werden. Die in der Bedingung oder in der Anweisung verwendete Variable muss als einzelne Variable vor der Bedingung hinzugefügt werden. Wird der Wert einer Variablen innerhalb einer oder mehrerer Bedingungen gesetzt, ist eine Wertsetzung für die Variable selbst nicht notwendig. Wählen Sie den leeren Eintrag in der Wert-Auswahlliste.

Verknüpfung der Bedingungen: Haben Sie mehrere Bedingungen für einen IF-Abschnitt erstellt, können Sie konfigurieren wie diese Einträge verknüpft werden. Legen Sie fest, ob alle Bedingungen (UND) oder mindestens eine Bedingung (ODER) erfüllt sein muss, damit die Bedingung ausgeführt wird.

Editor - Verknüpfung von Bedingungen_de.png

Alternative Bedingungen (ELSE IF):  Sie können beliebig viele alternative Bedingungen (ELSE IF - Zweige) hinzufügen. In den Bedingungen können unterschiedliche Variablen gesetzt werden. Pro Bedingung kann im einfachen Modus nur eine Variable gesetzt werden. Für komplexere Regeln können Sie in den Expertenmodus wechseln. Eine detaillierte Beschreibung erhalten Sie in der Hilfe-Beschreibung zum Expertenmodus.

Expertenmodus (IMS QTI)

Die Variablen-Abbildung in den Test- und Aufgabeninhalten basiert auf dem Prinzip der Template-Declaration und dem Template-Processing der IMS QTI 2.1 Spezifikation. Das Template-Processing von IMS QTI 2.1 bietet weitaus mehr Möglichkeiten zum Setzen von Variablen, insbesondere durch die Verschachtelung logischer Ausdrücke und Bedingungen. Die im Expertenmodus eingegebene Beschreibung wird direkt in das XML der Aufgabe, als einzelner Template-Processing-Ausdruck, übernommen.

Editor - Variable im Expertenmodus_de.jpg

Bitte beachten Sie, dass nach einer Änderung der eingegebenen Beschreibung im Expertenmodus, keine Möglichkeit besteht, in den einfachen Modus zurückzuwechseln.

Weitere Hinweise zur XML-Definition des Template-Processing erhalten Sie in der IMS QTI 2.1 Spezifikation. Aktuell unterstützt die ONYX Testsuite bereits ein weites Set der IMS QTI Expressions und Möglichkeiten. Bei Nutzung des Expertenmodus empfehlen wir dennoch eine genaue Prüfung zur korrekten Funktionsweise der Aufgabenvorlage.


Variablen-Belegung einsehen

Bei der Erprobung Ihrer Testinhalte können Sie die Variablen-Belegung in der Vorschau jederzeit einsehen. Ebenso stehen dem Betreuer oder Bewerter diese Detailinformationen in den Ergebniseinsichten zu Verfügung. Neben der Variablen-Belegung werden Ihnen auch Informationen zu den MAXIMA-Aufgaben und möglichen Systemfehlern angezeigt.

Detaillierte Informationen finden Sie in den jeweiligen Hilfeabschnitten zur Ergebniseinsicht für den Betreuer:


Verarbeitungsreihenfolge von Variablen in der Testdurchführung

Die Verarbeitung der durch den Autor definierten Einträge der Abschnitte Vor Anzeige verarbeitete Variablen und Nach Abgabe verarbeitete Variablen ordnet sich in eine definierte Reihenfolge ein. Das bedeutet, alle vom Autor festgelegten Befehle (Variablensetzung, Bedingung) werden in diesen Ablauf integriert. Die Reihenfolge wird immer schrittweise im nachfolgenden Ablaufschema, von "oben nach unten" abgearbeitet. Schritte, die im Text mit grauer Schriftfarbe erscheinen, können vom Autor nicht beeinflusst werden.

Variablenauswertung2.png

Testaufruf bzw. Teststart

  • Vor Anzeige aller Aufgaben erfolgt das Pre-Processing der Testvariablen.

image-2023-11-3_14-25-6.png

Aufgabenaufruf innerhalb des Tests

  • Existieren Verknüpfungen von Test- oder Aufgabenvariablen, mit dieser Aufgabe, werden sie als erstes ausgewertet und die entsprechenden Werte an die Aufgabe übergeben.
  • Wird die Aufgabe zum ersten Mal aufgerufen, erfolgt vor Anzeige der Aufgabe das Pre-Processing der Aufgabenvariablen. Bei weiteren Aufgabenversuchen, kann der Autor mit einer optionalen  Testeinstellung selbst entscheiden, ob bei Start eines neuen Lösungsversuchs eine erneute Durchführung des Pre-Processings erfolgen soll.
  • Wird eine korrekte Antwort dynamisch erzeugt (bspw. bei Formelvergleichs- oder Berechnungsaufgaben), erfolgt nun die Generierung der konkreten Antwort.

image-2023-11-3_14-25-52.pngimage-2023-11-3_14-41-6.png

image-2023-11-3_14-42-52.png

Abgabe einer Aufgabe

Eine Aufgabe gilt als abgegeben, wenn der Nutzer den Button Antwort abgeben an einer Aufgabe klickt oder im linearen Testverlauf auf den Button Weiter klickt, um zur nächsten Aufgabe zu navigieren oder wenn der Test beendet wird.

image-2023-11-3_15-15-2.png

  • Mit Abgabe einer Aufgabenantwort erfolgt erst das Aufgaben-Post-Processing, anschließend das Test-Post-Processing, bevor der Zyklus mit dem Öffnen der nächsten Aufgabe erneut durchlaufen wird oder mit Testabgabe endet.

Reihenfolge Aufgaben Post-Processing:


    • Auswertung der Einzelantworten (setzen von SCORE_GAP_ID)
    • Auswertung der Gesamtaufgabe (setzen von SCORE)
    • Variablen Post-Processing durchführen (Autor)
    • Setzen der MINSCORE / MAXSCORE Grenzen
    • Setzen der allgemeinen Feedback-Bedingungen (FEEDBACKBASIC)
    • Setzen der individuellen Feedback-Bedingungen

Reihenfolge Test Post-Processing:


    • Auswertung der Sektionen (setzen von SCORE_SECTION_ID)
    • Auswertung des Tests (setzen von SCORE)
    • Auswertung des Tests (setzen von PASS)
    • Variablen Post-Processing
    • Setzen der allgemeinen Feedback-Bedingungen (FEEDBACKBASIC)
    • Setzen der individuellen Feedback-Bedingungen

image-2023-11-3_14-46-47.pngimage-2023-11-3_14-54-46.png

Abgabe eines Tests

  • Mit Abgabe Tests erfolgt das beschriebene Test Post-Processing ein letztes Mal.


The use of variables allows the creation of dynamic task text. Task content can be generated randomly or adapted to the user, previously given answers, or assessments. For implementation, two different types of variables are provided in the tab of the same name:

  • Pre-processed variables
    Pre-variables are assigned before the task is displayed and therefore make it possible to adapt the task text as well as the predefined and correct answers dynamically. In this way, task templates can be defined with the help of placeholders. These are replaced by specific random values per test run on the basis of defined intervals, value drop-down lists, or calculation rules. As a result, test tasks will be different but similar for each participant and test run. 
  • Post-processed variables
    Post-variables are only assigned after the task has been answered, submitted, and automatically assessed, thus allowing access to response-specific values such as the learner's response or the points for correct answers. In this way, adaptive feedback content, follow-up tests, and task series can be enabled. The use of conditions and MAXIMA statements allows responses from learners to be analysed and typical errors identified. Based on these insights, teachers will then be able to provide appropriate feedback or customised exercises.

Editor - Tab Variablen_de.png

Pre-processed variables

Define variables that are determined before the task is displayed in order to use random parameters in your tasks. Variables are supported in ONYX for all types of tasks and offer various possibilities, especially for calculation interactions. With the help of variables, it is possible to create task templates which automatically allow an unlimited number of different test and exam attempts.

Testrun - Beispielaufgaben_de.png

Information

For a typical application example for the use of variables as random parameters, see Example "Transport" - Use of random parameters.

Post-processed variables

Define variables that are determined after the submission of the task in order to create adaptive task and test scenarios. Post-processed variables (in short: post-variables) allow you to access the learners' answers and points achieved. You can use this information to enhance following content such as feedback or task descriptions of follow-up attempts. In addition, it is possible to intervene in the assessment and make subsequent changes to it.

Testrun - Nutzerlösung einer Beispielaufgabe_de.pngTestrun - Post-Variable im Feedback_de.pngTestrun - Post-Variable Lösungshinweis_de.png


Information

Definition of a variable

Click on Add new variable in the tab Variables to define a new variable. The new variable is immediately added and displayed in the overview table. Below the table, an edit window opens for the new variable. The order of the variables and conditions within the variables table can be easily changed using drag-and-drop.

Editor - Definition einer Variable_de.png

Assign a unique variable name for your variable. The variable name serves as an identifier and allows you to use the variable in the task text. Please make sure that the variable name does not contain any umlauts, special characters, and spaces. The input is case sensitive. If a variable is defined with the name "a", it can be accessed via the placeholder {a}.

Select the variable type. The following variable types are available:

Depending on the selected variable type, you have various options for the determination of the value:

  • Value
  • Value range
  • Random selection
  • Calculation (MAXIMA)

Variables can also be created without immediately setting a value. If the value is set at a later point in time, it can for example be set in dependence of other variables (cf. conditions).

Use of variables

Defined variables can be inserted into task and answer text by specifying the variable name. Direct integration into LaTeX-formulas is also possible. The defined variable name must be enclosed in braces. ONYX automatically detects if there is a variable declaration with the appropriate name. If an identifier is used which is not defined, it will be ignored and output as text.

In the example, the variables {VAR1}, {VAR2}, and {VAR3} were declared:

Beispiel zur Verwendung von Variablen_de.png

Definition of a condition

In the tab Variables, you can also use conditions. A condition allows you to set the value of a variable, depending on other variable values.

Click on Add new condition to define a new condition. The new condition is immediately added and displayed in the overview table. Below the table, an edit window opens for the new condition. The order of the variables and conditions within the variables table can be easily changed using drag-and-drop.

Editor - Neue Bedinung anlegen_de.png

Variables can be compared with other variables of the same type or with fixed values. The comparison operators depend on the type of the variable. You can, for example, check whether values are equal to (=) or not equal to (!=) another value.

Editor - Vergleichsoperatoren_de.png

Please note: A variable that is used within a condition must be initialised before the condition. The variable which is used in the condition or statement must be added as a single variable before the condition can be added. If the value of a variable is set within one or more conditions, it will be unnecessary to set a value for the variable itself. Select the empty entry from the value selection list.

Link conditions: If you have created several conditions for an IF section, you can configure how these entries will be linked. Determine whether all conditions (AND) or at least one condition (OR) must be met for the condition to be executed. 

Editor - Verknüpfung von Bedingungen_de.png

Alternative conditions (ELSE IF): You can add any number of alternative conditions (ELSE IF branches). Different variables can be set in the conditions. In the simple mode, only one variable can be set per condition. For more complex rules, you can switch to the expert mode. A more detailed description can be found in the help pages for the expert mode.

Expert mode (IMS QTI)

The variable representation in the test and task content is based on the principle of template declaration and the template processing of the IMS QTI 2.1 specification. The template processing of IMS QTI 2.1 offers far more possibilities for setting variables, in particular by the nesting of logical expressions and conditions. The description entered in the expert mode is directly transferred into the XML of the task as a single template processing expression.

Editor - Variable im Expertenmodus_de.jpg

Please note that after changing the description in the expert mode, there is no way to return to the simple mode.

For further information on the XML definition of the template processing, please refer to the section IMS QTI 2.1 specification. The ONYX Testsuite already supports a wide set of IMS QTI expressions and possibilities. A detailed check to ensure correct functioning of the task template is nevertheless recommended when using the expert mode.

View variable assignment

When testing your test content, you can view the variable assignment in the preview at any time. These details are also available to the supervisor or assessor in the results views. In addition to the variable assignment, information on the MAXIMA tasks as well as possible system errors are displayed.

For more detailed information, please refer to the following help sections: