Variablen verwenden

Version 454.1 von Carina Enke am 29.05.2018
Warnung: Aus Sicherheitsgründen wird das Dokument in einem eingeschränkten Modus angezeigt, da es sich nicht um die aktuelle Version handelt. Dadurch kann es zu Abweichungen und Fehlern kommen.

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 mit Hilfe von Platzhaltern Aufgabenschablonen definiert werden. Die Platzhalter werden pro Testdurchlauf auf Basis definierter Intervalle, Wertauswahllisten oder Berechnungsvorschriften durch konkrete Zufallswerten 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. Mit Hilfe 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

Unbekanntes Makro: scroll-ignore. Klicke auf diese Nachricht, um Details zu erfahren.

 

 

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

Beispiel "Transport" - Einsatz von Zufallsparametern

Als Beispiel wird eine typische Anwendungsaufgabe erstellt. Es soll der zurückgelegte Weg eines beliebigen Fahrzeugs auf Grundlage der Geschwindigkeit und der Zeit berechnet werden. Die Geschwindigkeit ist dabei abhängig vom Fahrzeugtyp.

Editor - Tab Variablen zur Beispielaufgabe_de.png

Im Beispiel wird die Text-Variable {transport} zufällig mit einem der Werte "bike", "bus", "car" oder "train" initialisiert. Die Numerische Variable {speed} soll aus einem Wertebereich zufällig gesetzt werden. Dabei soll der Wertebereich für die Geschwindigkeit {speed} in Abhängigkeit von dem gewählten Fahrzeug {transport} gesetzt werden. Schließlich fährt im Allgemeinen ein "bike" langsamer, als ein "train".

 

Editor - Beispiel einer Bedingung_de.pngEditor - weiteres Beispiel einer Bedingung_de.png

Zur abhängigen Wertsetzung nutzen wir die Variablen-Bedingung. In der Bedingung können wir in Abhängigkeit von dem gewählten Wert der Variable {transport} den Wertebereich für die Variable {speed} definieren. Für das Fahrrad ({transport}="bike") wird auf diese Weise ein Wertebereich von 10 bis 30 (km/h) gesetzt.

Editor - Nutzung von Variablen in der Aufgabenstellung_de.png

Die gegebenen Werte der Aufgabe werden in den Aufgabentext durch Angabe des Variablen-Namens ({transport}, {speed} und {hours}) eingebunden. Im Beispiel wird die Variable in eine Aufgabe von Typ Berechnung (Lückentext) eingebunden.

An die Lücke wird die Variable mit der korrekten Lösung {distance} gebunden.

 

Testrun - Beispielaufgabe im Testrun_de.png

Für den Testdurchlauf wird für jeden Teilnehmer und jeden Versuch zufällig einer der definierten Werte ausgewählt. Im Beispiel wurde zufällig der Wert "bike" eingesetzt und damit eine Geschwindigkeit im Wertebereich von 10 bis 30 (km/h) gewählt.

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

Beispiel "Transport" - Adaptives Aufgabenfeedback

Das oben beschriebene Beispiel wird folgend um ein adaptives Feedback ergänzt. Das Feedback soll dem Nutzer einen Hinweis geben, ob seine Antwort kleiner oder größer als die korrekte Lösung war und bei einer falschen Antwort einen Hinweis geben, wie die korrekte Lösung berechnet wird.

Editor - Angabe von POST-Variablen_de.png

Im ersten Schritt wird im Tab Variablen die Text-Variable {div} in einer Bedingung, abhängig davon ob die eingegebene Lerneranwort kleiner oder größer als die korrekte Antwort ist, auf den Wert "less" oder "more" gesetzt.

Zusätzlich wird sich die Lernerantwort in einer Numerische Variable {answer} gespeichert, um auf diese im Feedback auf einfache Weise zugreifen zu können.

 

Editor - Post-Variablen im Feedback_de.png

Im zweiten Schritt werden die konkreten Feedbacktexte für die Aufgabe hinterlegt. Dem Teilnehmer soll das Feedback nur angezeigt werden, wenn er die Aufgabe falsch beantwortet hat. Hierfür wird im Tab Feedback das allgemeine Feedback "Aufgabe falsch beanwortet" genutzt. Weitere Informationen zum Aufgabenfeedback erhalten Sie auf der Seite Feedback festlegen.

Die individuellen Feedbacktexte und -werte, welche in den Variablen gespeichert wurden, werden durch Angabe des Variablen-Namens ({div}, {answer}) in den Feedbacktext eingebunden.

Weitere Feedbackblöcke können beispielsweise als individuelles Feedback hinzugefügt werden. Für das Beispiel wurde zusätzlich noch ein Lösungshinweis als Feedback hinterlegt, welcher unabhängig von der Lernerantwort immer angezeigt wird. Im Feedback können ebenso detaillierte Musterlösungen und -rechnungen angezeigt werden. Für Aufgaben mit Zufallsparameter können in das Feedback hierfür die vor Anzeige berechneten Variablen eingebunden werden.

Testrun - Feedback mit Post-Variablen_de.png

Da die Aufgabe Zufallsparameter enthält werden für jeden Testdurchlauf und Teilnehmer andere Aufgabenwerte angezeigt. Entsprechend der definierten Inhalte wird dem Teilnehmer nun zusätzlich ein individuelles Feedback auf Basis seiner gegebenen Antwort angezeigt.

Sie können die Zufallsparameter einer Aufgabe für weitere Aufgaben-Lösungsversuch beibehalten oder neu ermitteln. Weitere Informationen finden Sie im Abschnitt "Variablen zurücksetzen" auf der Seite Test-Optionen festlegen.

Beispiel "Transport" - Punktabzug pro Lösungsversuch

Folgend soll das Beispiel "Transport", um einen Punktabzug pro Lösungsversuch erweitert werden. Die maximale Punktzahl der Aufgabe wurde dafür auf 10 Punkte erhöht. Pro benötigten Lösungsversuch soll die erreichte Punktzahl, um einen Punkt reduziert werden. Der Punktabzug erfolgt pro Aufgaben-Lösungsversuch innerhalb eines Testdurchlaufs. Die Anzahl der Testversuche wird nicht berücksichtigt.
Es wird unbedingt empfohlen dem Teilnehmer den Punktabzug anzuzeigen. Hierzu werden entsprechende Textbausteine in die Aufgabenstellung und das Feedback eingebaut.

Editor - Variablen zur Beispielaufgabe_de.png

Zur Umsetzung werden folgende Variablen definiert:

  • Die Numerische Variable  {deduction_attempt} speichert der Punktabzug pro Versuch.
    Im Beispiel soll die Gesamtpunktzahl um einen Punkt reduziert werden. Daher wird {deduction_attempt} auf den statischen Wert 1 gesetzt.
    Da es sich um einen statischen Wert handelt, kann dieser als Pre-Variable (Vor Anzeige verarbeitete Variable) angelegt werden.
  • Die Numerische Variable  {deduction} speichert den aktuellen Punktabzug in Abhängigkeit vom Lösungsversuch.
    Der Punktabzug {deduction} berechnet sich als Produkt aus der Anzahl der bisherigen Lösungsversuche (Systemvariable NUMATTEMPTS) und dem Punktabzug pro Versuch {deduction_attempt}.
    Da es sich um einen pro Lösungsversuch berechneten Wert handelt, muss dieser als Post-Variable (Nach Abgabe verarbeitet Variable) berechnet werden.

Zusätzlich muss die Punktzahl der Aufgabe entsprechend des Punktabzugs durch Setzen der Systemvariable SCORE neu berechnet und durch den Autor explizit werden. Hierzu wird eine neue Bedingung definiert: Wenn der Punktabzug größer 0 ist, wird die Punktzahl der Aufgabe um den aktuellen Punktabzug minimiert.

Hinweis: Zur Vereinfachung wurden im abgebildeten Screenshot alle Variablen zur Generierung der allgemeinen Aufgaben- und Feedbackinhalte ausgeblendet.

Hinweis in der Aufgabenstellung:

Editor - Hinweis in der Aufgabenstellung_de.png

Hinweis als individuelles Feedback:

Editor - Hinweis als individuelles Feedback_de.png


Um dem Lerner den Punktabzug kenntlich zu machen, wird zum einen in die Aufgabenstellung ein genereller Hinweis zum Punktabzug eingefügt und zum anderen wird als Feedback ein individueller Hinweis eingebunden, wenn ein Punktabzug erfolgt ist.

Hinweis: Bitte beachten Sie, dass ein Punktabzug im Folgeversuch dazu führt, dass die Aufgabe nicht mehr als vollständig richtig gewertet wird, da die maximale Punktzahl nicht erreicht wurde. Dies hat Auswirkungen auf die Anzeige der erreichten Punkte (farbliche Kennzeichnung), sowie die Symbolik der Richtig/Falsch-Auswertung. Ebenso betroffen ist das allgemeine Aufgaben-Feedback, welches auf Basis der Bedingung ob der Teilnehmer die maximale Punktzahl der Aufgabe erreicht hat, gesteuert wird. Durch Nutzung des individuellen Feedbacks kann die Logik zur Anzeige der Feedbackinhalte individuell an die Aufgabe angepasst werden.

Testrun - Beispielaufgabe in unterschiedlichen Versuchen_de.png

Entsprechend der Anzahl der notwendigen Lösungsversuche werden nun Punkte abgezogen.

Teilnehmer, welche im ersten Lösungsversuch die richtige Antwort eingeben, erhalten die volle Punktzahl.
Teilnehmer, welche in einem der Folgeversuche die richtige Antwort eingeben, erhalten Teilpunkte. Durch entsprechendes Feedback können diesen Teilnehmern individuelle Lösungshinweise und damit Unterstützung zur eigenständigen Weiterbearbeitung der Aufgabe gegeben werden.

Beispiel "Transport" - Wertung der maximal erreichten Punktzahl

Werden mehrere Lösungsversuche pro Aufgabe angeboten, kann es dazu kommen, dass ein Teilnehmer in Folgeversuchen weniger Punkte erreicht, als er bereits für einen vorangegangenen Versuch erhalten hat. Wenn gewünscht, kann sich die maximal erreichte Punktzahl über alle Antwortversuche gemerkt und für die Wertung genutzt werden.
Der Teilnehmer sollte durch Hinweise entsprechend informiert werden und sowohl die Wertung des aktuellen Versuchs, als auch die maximale Wertung über alle Versuche angezeigt bekommen

Editor - Beispiel mehrere Versuche_de.png

Zur Umsetzung werden zunächst folgende Variablen definiert:

  • Die Numerische Variable  {best_score} speichert die maximal erreichte Punktzahl über alle Aufgabenversuche.
    Die Variable {best_score} wird einmalig mit dem Wert 0 initialisiert und später durch eine Bedingung gesteuert.
  • Die Numerische Variable  {current_score} speichert die aktuell erreichte Punktzahl für den aktuellen Aufgabenversuch.
    Die Variable {current_score} wird mit jedem Versuch auf den Wert der Systemvariable SCORE gesetzt.

Durch Bedingungen wird folgend die maximale Punktzahl über alle Aufgabenversuche aktualisiert und die Aufgabenpunktzahl ggf. angepasst:

  • Bedingung zur Ermittlung der maximal erreichten Punktzahl 
    Wenn die aktuell erreichte Punktzahl {current_score} größer als die maximal erreichte Punktzahl {best_score} ist, soll  {best_score} auf den Wert von  {current_score}   gesetzt werden.
  • Bedingung zur Wertung der maximal erreichten Punktzahl 
    Wenn die  maximal erreichte Punktzahl {best_score} größer als die aktuell erreichte Punktzahl {current_score}   ist, soll die Aufgabenpunktzahl (Systemvariable SCORE) auf den Wert von  {best_score}   gesetzt werden.

Hinweis: Zur Vereinfachung wurden im abgebildeten Screenshot alle anderen Variablen zur Generierung der Aufgaben- und Feedbackinhalte ausgeblendet.

Hinweis in der Aufgabenstellung:

Editor - Hinweis zur Wertung in Aufgabenstellung_de.png


Um dem Lerner das aktuelle Wertungsverfahren zu erläutern, wird zum einen in die Aufgabenstellung ein genereller Hinweis zur Bewertung eingefügt.
 Um darüber hinaus die aktuelle, als auch die beste Bewertung anzuzeigen, wird ein entsprechendes Feedback definiert.

Hinweis als individuelles Feedback:

Editor - Variablen für Hinweis zur Wertung_de.png

 Editor - Hinweis zur Wertung als individuelles Feedback_de.png

Für das Beispiel soll der Hinweis in Form eines Feedback-Textes nur angezeigt werden, wenn die aktuell erreichte Punktzahl {current_score}   kleiner der maximal erreichten Punktzahl {best_score} ist. Nur wenn die aktuellen Punkte kleiner der bisher maximal erreichten Punkte sind, wird die Aufgabenwertung so geändert, dass statt der aktuellen, die maximale Punktzahl gesetzt wird.

Zur Feedback-Steuerung wird eine zusätzliche Steuer-Variable eingeführt:

  • Die Numerische Variable {diff_score} speichert ob die aktuelle Punktzahl kleiner der maximalen Punktzahl ist
    Die Variable {diff_score} wird zunächst ohne Wert initialisiert und später durch eine Bedingung gesteuert.
  • Bedingung zum Setzen von {diff_score}
    Wenn d ie aktuell erreichte Punktzahl {current_score } kleiner als die maximal erreichte Punktzahl {best_score} ist, soll {diff_score} auf 1 gesetzt werden, ansonsten auf den Wert 0.

Für das individuelle Feedback kann nun auf die Steuer-Variable {diff_score} zugegriffen werden und in Abhängigkeit von deren Wert (0 oder 1) ein individuelles Feedback für den Teilnehmer angezeigt werden. Für das Beispiel soll ein Hinweis zur Bewertung angezeigt werden, wenn {diff_score} den Wert 1 hat und damit statt der erreichten Punktzahl {current_score} des aktuelle n Versuchs die maximal erreichte Punktzahl {best_score} gewertet wird.  


Testrun - Beispielaufgabe Wertung in unterschiedlichen Versuchen_de.png

Entsprechend der Anzahl der notwendigen Lösungsversuche werden nun Punkte abgezogen.

Ein Teilnehmer, welcher zuvor aufgrund falscher Antworten, Hinweise im Feedback erhalten hat, kann somit in einem Folgeversuch nicht mehr die volle Punktzahl für die Aufgabe erreichen.

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.

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.

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.

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ück zu wechseln.

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: