Fragetyp „STACK“
Der Fragetyp STACK verwendet das Computeralgebrasystem (CAS) Maxima, mit dem Sie Fragen erstellen können, die in der Lage sind mathematische Ausdrücke und Funktionen auszuwerten.
Hinweis: Alle im Artikel genannten Screenshots sind im Abschnitt „Beispiel für eine STACK-Frage“ zu finden.
Um eine „STACK“-Frage in einem Test verwenden zu können, muss diese zunächst erstellt werden. Eine „STACK“-Frage können Sie wie jeden anderen Fragetyp über die Fragensammlung in Ihrem Kurs erstellen: Mehr (in obiger Navigationsleiste) > Fragensammlung > Neue Frage erstellen….
Als Fragetyp wählen Sie nun STACK aus und klicken auf Hinzufügen. Dadurch gelangen Sie zu den Einstellungen der Frage. Hier tragen Sie zunächst den Fragetitel ein.
Alternativ kann eine „STACK“-Frage auch innerhalb eines Tests erstellt werden.
Fragetext: Im Fragetext wird die Aufgabenstellung formuliert. Der Fragetext wird den Studierenden innerhalb des Tests angezeigt. Mathematische Ausdrücke können direkt in LaTeX oder über den Gleichungseditor (Einfügen > Gleichungseditor) eingefügt werden. Des Weiteren können innerhalb des Fragetextes Aufgabenvariablen verwendet werden, die im oberen Aufgabenvariablen-Feld definiert wurden. Auf die Aufgabenvariablen kann dann mittels des Tags {@Name_der_Variable@} zugegriffen werden (siehe Screenshot „Fragetext mit Aufgabenvariablen“). Im Fragetext sind standardmäßig bereits zwei Platzhalter definiert. Der Platzhalter [[input:ans1]] stellt die Eingabe der Studierenden und [[validation:ans1]] den Button zur Überprüfung der Eingabe dar. Der Standard-Bezeichner ist ans1. Es können auch weitere Eingabefelder nach dem gleichen Muster angelegt werden. Ändern Sie bei diesen aber zur Unterscheidung den Bezeichner.
Hinweis: Nach jedem Hinzufügen eines neuen Eingabefelds sollte die Frage aktualisiert werden, um die Abschnitte der einzelnen Eingabefelder zu generieren.
Aufgabenvariablen: Das Aufgabenvariablen-Feld befindet sich etwas über dem Fragetext. Dieses ist optional, aber dennoch hilfreich, um die Aufgabe variabel zu gestalten. Damit können Studierenden beispielsweise dieselben Aufgaben, aber mit verschiedenen Zahlen oder Gleichungen vorgelegt werden. In diesem Feld können Sie Aufgabenvariablen definieren, um diese in den weiteren Einstellungen zu benutzen. Dabei wird folgende Syntax verwendet Variablenname : Wert ; . Bei der Definition von Variablen können auch Funktionen, wie beispielsweise Zufallsfunktionen verwendet werden. Einen kleinen Überblick über solche Funktionen finden Sie im Abschnitt „Hilfreiche Maxima-Funktionen/Befehle. Sobald Aufgabenvariablen definiert und benutzt werden, sollte auch ein Aufgabenhinweis hinzugefügt werden. Dieser ermöglicht im Nachhinein (zur Analyse) das Unterscheiden zwischen verschiedenen Versionen einer Frage. Dabei sind zwei Fragen genau dann gleich, wenn die Aufgabenhinweise gleich sind.
Erreichbare Punkte: Im Feld Erreichbare Punkte geben Sie die insgesamt erreichbaren Punkte für die Aufgabe an.
Eingaben: Nachdem die Eingabefelder im Fragetext festgelegt und gespeichert wurden, erscheinen für diese weiter unten einzelne Abschnitte (Eingabe: ans1 usw.). Hier sollten Sie mindestens den Eingabetyp und die Musterlösung festlegen. Als Standard ist die Algebraische Eingabe gegeben. Weitere Informationen zu den verschiedenen Eingabetypen erhalten Sie über das Fragezeichen neben “Eingabetyp". Die Musterlösung dient hier nur zur Darstellung der korrekten Lösung innerhalb des späteren Tests und nicht zum Vergleich mit der Studierendeneingabe. Dieser erfolgt erst im Rückmeldebaum. Innerhalb der Musterlösung können Sie ebenfalls definierte Aufgabenvariablen verwenden.
Hinweis: Die Verwendung von Aufgabenvariablen erfolgt hier ohne die Tag-Syntax {@…@}.
Rückmeldebaum (PRT): Der Rückmeldebaum entscheidet über die Rückgabe nach einer studierenden Eingabe. Dafür besitzt der Rückmeldebaum Knoten, in denen jeweils ein Vergleich der Eingabe stattfindet und aufgrund dessen entschieden wird, welchem Pfad, also welcher Rückgabe, gefolgt wird. Im Abschnitt Rückmeldebaum (PRT) können Sie den Rückmeldebaum konfigurieren. Dabei sind insbesondere die Konfigurationen der Knoten wichtig. Innerhalb eines Knotens steht SAns (Student answer) für die Antwort der Studierenden. In dieses Feld tragen Sie den gewünschten Platzhalter für die studierenden Eingabe ein, per Standard ist dies ans1. Diese Eingabe wird innerhalb des Knotens mit TAns (Teachers answer) gemäß der gewählten Form der Antwortüberprüfung verglichen und überprüft. Tragen Sie dementsprechend in das Feld TAns die korrekte Lösung ein, nach der Sie prüfen möchten. Auch hier können Sie wieder vorher definierte Aufgabenvariablen (ohne Tag-Syntax) verwenden. Anschließend bearbeiten Sie die Verzweigung des Knotens. Dabei steht der grüne Kasten für den Pfad, der ausgeführt wird, wenn der Vergleich „Wahr“ und der rote Kasten für den Pfad, der ausgeführt wird, wenn der Vergleich „Falsch“ ergibt. In beiden Kästen kann zum einen eine Punktesetzung gesteuert, eine Knotenverbindung eingerichtet und ein spezifisches Feedback angegeben werden. Die Punktesetzung hat hierbei drei Möglichkeiten: Gleichsetzen, addieren, oder subtrahieren. Der Score beschreibt dabei den Punktewert der neu gesetzt oder zum aktuellen addiert/subtrahiert werden soll. Dieser wird als Anteil der erreichbaren Punkte angegeben, wobei 1 gleich 100% entspricht. Zur Trennung muss ein Punkt und kein Komma verwendet werden. Zur Knotenverbindung gibt es im nächsten Abschnitt weitere Informationen.
Hinweis: Da das Feedback-Feld den Texteditor nutzt, müssen Aufgabenvariablen hier wieder mit Tag-Syntax aufgerufen werden.
Knotenverbindungen: Innerhalb des Abschnitts Rückmeldebaum (PRT) können unten über den Button Weiteren Knoten hinzufügen neue Knoten hinzugefügt und in den Rückmeldebaum eingepflegt werden. Die Struktur des Baums wird dabei durch das Bestimmen des nächsten Knotens innerhalb einer Knoteneinstellung festgelegt. Wählen Sie dazu innerhalb eines Pfades (Wahr/Falsch) eines Knotens unter Nächster den gewünschten nächsten Knoten aus. Dadurch lassen sich verschiedene Prüfungen in gewünschter Reihenfolge kombinieren.
Hinweis: Die Struktur des Baums und damit die Reihenfolge der Knoten wird ausschließlich über das Feld Nächster gesteuert und nicht über die Knotennamen: Knoten 1, Knoten 2, usw. Die Nummerierung der Knotennamen ergibt sich lediglich aus der Reihenfolge der Erstellung der Knoten.
Im Folgenden wird eine konkrete Stack-Frage schrittweise erstellt. Ziel ist es eine Bruchaddition mit Variablen zu erstellen, so dass die Studierenden verschiedene Brüche zur Berechnung erhalten.
Zunächst erstellen wir eine Frage in der Fragensammlung und wählen den STACK-Fragetyp aus.
Nach der Eingabe des Fragetitels definieren wir unsere Aufgabenvariablen. Hier werden Variablen für jeden Zähler, Nenner und Bruch definiert. Zusätzlich wird eine Variable für die richtige sowie für eine spezielle falsche Lösung definiert. Wir sehen später wieso. Zur Definition der Bestandteile der Brüche werden Funktionen verwendet, um eine Randomisierung zu erhalten.
Als nächstes legen wir den Fragetext an. Wir möchten, dass die Studierenden eine Addition von zwei Brüchen berechnen. Um Gleichungen darzustellen, können wir diese im Texteditor direkt in LaTex eingeben oder den Gleichungseditor in der ausgeklappten Symbolleiste benutzen. Die Gleichung „\frac{{@z1@}}{{@n1@}}+{@b2@}“ entspricht folgendem: z1/n1 + b2. Wobei auf die Aufgabenvariablen z1, n1 und b2 per Tag-Syntax {@…@} zugegriffen wird – Anstatt „\frac{{@z1@}}{{@n1@}}“ hätten wir auch „{@b1@}“ verwenden können. Es kann zur Übersichtlichkeit also sinnvoll sein, mehrere Variablen in einer zusätzlichen Variable zusammen zu fassen, wie beispielsweise einen Bruch.
Um die verschiedenen Fragevarianten unterscheiden zu können, muss hier ein Aufgabenhinweis eingegeben werden. Dieser kann zum Beispiel so aussehen, dass er einfach die verwendeten Variablen anzeigt.
Als nächstes werden die erreichbaren Punkte und die Abzüge eingetragen. Die Abzüge beziehen sich dabei auf den Standardabzug für jeden nicht vollständig korrekten Versuch (Rückmeldung des Baums). Der Standardwert ist auf 0,1 gesetzt. Das heißt beim ersten nicht vollständig korrekten Versuch wird vom erreichten Score noch einmal 0,1 abgezogen, beim zweiten nicht vollständig korrekten Versuch werden 2 * 0,1 abgezogen usw. Sollte allerdings ein Versuch vollständig korrekt durchlaufen sein, findet kein Abzug mehr statt und der Teilnehmende erhält den maximalen Score.
Den Abschnitt Eingabe: ans1 klappen wir aus und tragen in das Feld der Musterlösung unsere definierte Variable LSG ein. Als Eingabetyp lassen wir die Algebraische Eingabe stehen. Als nächstes klappen wir den Abschnitt Rückmeldebaum (PRT): prt1 auf, um die Rückmeldung zu konfigurieren. Standardmäßig wird der erste Knoten angezeigt. In das Feld SAns tragen wir den Input der Studierenden ein (ans1). In das Feld TAns tragen wir dagegen die korrekte Lösung, nach der geprüft werden soll, ein (LSG). Als Antwortüberprüfung tragen wir EqualComAss ein, da bei AlgEquiv das einfache Abschreiben der Aufgabe (Bruch1 + Bruch2) zum korrekten Ergebnis führen würde. Als Score setzen wir für WAHR 1 und für FALSCH 0. Falls das Ergebnis wahr ist, soll nichts weiter geprüft werden, daher ist der nächste Knoten [stop]. Ist das Ergebnis allerdings falsch, möchten wir noch einen weiteren Fall prüfen und fügen daher einen weiteren Knoten hinzu und setzen das Feld Nächster auf den Knoten 2. Mit Knoten 2 möchten wir einen (möglicherweise) oft vorkommenden Fehler abgreifen. Nämlich den Fall, dass der/die Studierende lediglich die beiden Zähler und die beiden Nenner miteinander addiert hat. Hier reicht uns als Antwortüberprüfung AlgEquiv. Die Studierendenantwort (SAns) bleibt weiterhin der Input ans1, die Lösung nach der geprüft werden soll ist nun aber unsere vorher definierte Variable wrongLSG. Zusätzlich fügen wir ein Feedback mit einem Hinweis hinzu, falls dieser Knoten als wahr ausgewertet wird. Sowohl die WAHR als auch FALSCH Rückgabe soll den Score auf 0 setzen. Nach dem Knoten soll es keine weitere Prüfung geben, daher ist der nächste Knoten in beiden Fällen [stop].
Nach dem Speichern können Sie Ihre Konfiguration über die Vorschau testen und überprüfen, ob die Aufgabe die Eingaben wie gewünscht auswertet.
| Zufallsfunktionen: Mit Zufallsfunktionen können Variablen randomisierte Werte zugewiesen werden |
|
| Konstanten |
|
| Trigonometrische Funktionen und deren Inverse | sin(x), asin(x), cos(x), acos(x), tan(x), atan(x), cot(x), acot(x) |
| Matrizen |
|
| Funktionen |
|
| Plotten (Graphen anzeigen) | plot([f1, f2,…], [x, min_x, max_x], [y, min_y, max_y]): Erstellt einen Plot der Funktionen f1, f2, …, welcher zwischen min_x und max_x bzw. min_y und max_y dargestellt wird. Hier kann auch eine der beiden Beschränkungen weggelassen werden |
STACK wurde im Zuge des Projekts „TU-WAS“ an der TU eingeführt. Beispiele und weiterführende Links sind auf der Projekt-Website zu finden.
Weitreichendere Informationen und Maxima-Befehle sind beispielsweise unter folgenden Links zu finden: Einführung STACK Universität zu Köln (PDF-Datei) (wird in neuem Tab geöffnet) und Stack (Maxima) TU Clausthal.