Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Stack (Maxima)
Mathematische Aufgaben mit Moodle/Stack
STACK (System for Teaching and Assessment using a Computer algebra Kernel) ermöglicht es Ihnen, mathematische Fragestellungenin Moodle-Tests zu realisieren. Das Plugin nutzt das Computeralgebrasystem „Maxima“ um mathematische Eigenschaften der eingegebenen Antworten bzw. Ausdrücke zu ermitteln und diese zu bewerten.
Um Ihnen den Einstieg zu diesem Fragetyp zu erleichtern, können Sie sich in dem folgenden Video einen Überblick verschaffen:
Im Folgenen wird zu Einführung eine Teilmenge der Möglichkeiten dieses Aufgabentyps beschrieben. Ergänzende Informationen können Sie den entsprechenden Dokumentationen entnehmen:
http://maxima.sourceforge.net/docs/manual/de/maxima.html
https://moodle.org/plugins/qtype_stack
http://michel.gosse.free.fr/documentation/fichiers/maxima.pdf
https://stack2.maths.ed.ac.uk/demo/question/type/stack/doc/doc.php/Authoring/Authoring_quick_start.md
Grundlagen zum Stack Fragetyp
Im Folgenden wird die grundlegende Struktur einer Stack-Frage beschreiben. Im ersten Bereich werden die Aufgabenvariablen (ans1,ans2,…,ansn)
definiert, die konkrete Frage/Aufgabe formuliert, die Art und die Anzahl der Eingabe/Input-Felder (Textfelder, Matrizen, …) festgelegt und das allgemeine Feedback (z.B. Lösungshinweise) vorbereitet. Im zweiten Bereich werden die spezifischen Eigenschaften der Eingabefelder (Platzhalter, Typ des Feldes, Musterantwort etc.) festgelegt. Dabei können bzw. sollten Sie in dem jeweiligen Feld für die Musterlösung, die im ersten Bereich definierten Aufgabenvariablen (tans1,tans2,…,tansn)
verwenden. Im dritte Bereich wird zum Schluss die Auswertungslogik erstellt. Dazu werden sogenannte „Potential-Response-Trees“ (PRT, Rückmeldebäume) erstellt (siehe Potential-Response-Trees).
Aufbau der Stack Fragen
Fragetitel
Geben Sie hier einen aussagekräftigen Titel z.B „Nullstellenbestimmung - 1“ ein.
Aufgabenvariablen
Im Bereich „Aufgabenvariablen“ können Variablen und entsprechnde Wertzuweisungen und mathematische Ausrücke vorbereitet werden.
variablenname : Ausdruck
t : 2 // der Variable t wird der Wert 2 zugewiesen a : f(x)=x^2 // Abbildung einer Funktion b : diff(x^2,x) // differenziere x^2 nach x c : diff(a,x) // alternativ: differenziere a nach x d : rand(15) // Zufallszahlen von 0 bis 14
Siehe dazu auch: Arbeiten mit Zufallszahlen, Maxima Dokumentation ,Arbeiten mit Funktionen
Fragetext
In diesen Abschnitt erfolgt die konkrete Aufbereitung bzw. Formulierung der Frage/Aufgabe. Bitte Beachten Sie, dass die Syntax der Stackausdrücke sich verändert hat! @...@ wird zu {@...@}
Mit Hilfe von Medieninhalten (Bilder, Videos) und LaTeX stehen Ihnen einige Möglichkeiten zur Formulierung von komplexen Aufgaben zur Verfügung. Sie können die erweiterte Features in im Menü des WYSIWYG-Editors nutzen, um ihre Aufgaben z.B. mit LaTeX-Ausdrücken zu formulieren:
- Klicken Sie dazu auf das Icon „mehr Symbole anzeigen“
- Öffnen Sie den Gleichungseditor
Eingabefelder verwenden / erweitern
Im Aufgabentyp Moodle Stack wird das erste „Eingabefeld“ automatisch beim Anlegen einer Aufgabe erstellt. Wenn zusätzliche Eingabefelder benötigt werden, können Sie beliebig viele Eingabefelder nach dem folgenden Muster
[[input:ans2]] [[validation: ans2]] [[input:ans3]] [[validation: ans3]] ... [[input:ansx]] [[validation: ansx]]
in einer Aufgabe hinzufügen (nach jedem Hinzufügen eines neuen Eingabefelds muss die Frage aktualisiert werden). Für jedes Eingabefeld muss eine Musterlösung (z.B. Aufgabenvariable oder Ausdruck) festgelegt werden.
Allgemeines Feedback
Beim allgemeinen Feedback handelt es sich um eine Ergänzung der Musterlösung oder einen Hinweis zur Lösung einer Aufgabe. Dieses Feedback wird ihren Studenten nach oder (optional) während der Bearbeitung der Aufgabe angezeigt.
Optionen / Einstellungen zu den Eingabefeldern
Rückmeldebaum (PRT)
Die Potential Response Trees (PRT) sind binäre Baumstrukturen und werden zum Aufbau einer Auswertungslogik der Aufgabe verwendet. Dabei werden Antworten bwz. die Eingaben eines Clienten mit einem math. Ausdruck (z.B. der „Musterlösung“) verglichen.
ResponseTrees können flexibel aufgebaut werden. Die Knoten können (nach dem Sie angelegt wurden) miteinander verknüpft werden (z.B. Folgefehler-Szenarien). Um Knoten hinzuzufügen, müssen Sie lediglich auf den Button „weitere Knoten hinzufügen“ klicken.
- wie werden Knoten und Punkte verarbeitet (Score, Abzüge):
Die maximal erreichbare Punkte (Score) ist 1,00. Wenn die Teilnehmenden falsche Antwort haben, wird 0.25 Punkte abgezogen.
- wie funktioniert die Anwortüberprüfung
Eine Antwortüberprüfung(Answer test) wird verwendet zwei Ausdrücke zu vergleichen, festzustellen ob sie einige kriterien erfüllen.
Hinweise zur Antwortüberprüfung
NumDecPlaces
NumDecPlaces prüft, ob die Antwort des Schülers dem Lehrer entspricht und auf Dezimalstellen geschrieben wird. Die Option, die eine positive ganze Zahl sein muss, gibt die Anzahl der Stellen an, die auf das Dezimaltrennzeichen folgen. Beachten Sie, dass nachfolgende Nullen erforderlich
sind, d.h., Um zwei Dezimalstellen zu setzen, müssen Sie 12.30 und nicht nur 12.3 schreiben. Der Test rundet die Zahlen auf die angegebene Anzahl von Dezimalstellen, bevor versucht wird, eine Äquivalenz herzustellen.
z.B: Wir möchten, dass eine Antwort auf die Frage 3 Dezimalstellen hat. Dies bedeutet, dass die Option 3 und die Antwort 15.3468 ist. Dieser Test rundet die Zahl 15.3468 auf 15.347, da 3 Dezimalstellen gewünscht werden.
NumRelative & Numabsolute
Die Option für diese Tests ist eine Toleranz. Die Standardtoleranz beträgt 0,05.
Relative: Tests whether abs(sa-ta) <= opt * abs(ta) Absolute: Tests whether abs(sa-ta) < opt
NumRelative und NumAbsolute können auch Listen und Sets akzeptieren. Elemente werden automatisch in Floats umgewandelt und vereinfacht (z.B Ev(Float(ex),simp)) und mit der Antwort des Lehrers unter Verwendung des entsprechenden numerischen Tests und der entsprechenden Genauigkeit verglichen. Es muss eine einheitliche Genauigkeit verwendet werden. Bei Listen ist die Reihenfolge wichtig, bei Sets jedoch nicht. Die Prüfung, ob zwei Sätze ungefähr gleich sind, ist ein interessantes mathematisches Problem…
Grundlagen
Zufallszahlen
Zufallszahlen von 0 - 98 oder Zufallszahlen aus einer Menge von Zahlen {1,2,3,4}
f1 : rand(99) f2 : rand([1,2,3,4])
Eine Liste kann wie folgt erstellt werden : [a,b,c]
Konstanten
e // Eulerische Zahl pi // π Kreiszahl infinity // ∞ Komlex unendlich inf // positive Unendlich minf // negative Unendlich i // imaginäre Einheit i(in der Elektrotechnik bezeichnet es mit j) phi // Goldener Schnitt φ=(1+√5)/2
Für mehrere Informationen bitte klicken Sie auf den folgenden Link: Mathematische Konstanten
Matrizen
Beachten Sie bei der Realisierung von Aufgaben mit Matrizen unbedingt die entsprechenden Rechenregeln!
- Definieren Sie Ihre Aufgabenvariablen
A : rand(matrix([1,2,4,3],[4,5,3,5],[4,5,3,5])) // Matrix A B : rand(matrix([1,3,5],[1,2,1],[7,1,2],[1,5,9])) // Matrix B tans : A.B // Matrixmultiplikation
Funktionen und Funktionstypen
Ausdrücke automatisch auswerten
Die Informationen zu den möglichen Funktionen →http://maxima.sourceforge.net/docs/manual/maxima.html
solve / linsolve
Beispiel 1
f: x^2-2*x+1=0 tans1:solve([f],[x])
Beispiel 2 (Lineargleichungen)
f1: x+3*y+z=9 f2: x-8*y+6*z=17 f3: 2*x+7*y-9*z=22 tans1:linsolve([f1,f2,f3],[x,y,z])
Für mehrere Informationen sehen Sie auch Maxima-Equations
limit
s: (1+1/x)^x tans1:limit(s,x,infinity)
ode2 (Differentialgleichungen)
Beispiel:
dg1 : 'diff(y,x,2)-3*'diff(y,x)-4*y=0
Dabei bedeutet das Symbol < ' > lediglich, dass Maxima den Ausdruck „berechnet“. Das ist z.B. dann praktisch, wenn man in diesem Beispiel die Funktion nicht tatsächlich differenzieren, aber eben entsprechend in diesem Kontext $ \frac{dy}{dx}$ ausgeben möchte.
Befehle zur Lösung dieser Differentialgleichung:
tans1:ode2(dg1,y,x)
Siehe auch: Differential Equations
plot
Beispiel
plot2d(x^2-x-6,[x,-3,3])
Bei der Randomisierung der Werte in diesem Diagramm:
a: 1+rand(5) b: 3+rand(25) d: -1*rand(5) e: 1+rand(5) t: x^2-a*x+b tans1: plot([t],[x,d,e])
Ein Diagramm mit mehrere Plot-Optionen (grid, color, labels, usw.):
a: 1+rand(5) b: 3+rand(25) d: -1*rand(5) e: 1+rand(5) t1: x^2-a*x+b t2: x^2 + b*x-12*a tans1: plot([t1,t2],[x,d,e],[xlabel,"x-Axis"],[ylabel,"y-Axis"],[color,blue,red],[axes,true],[box,false],grid2d)
Videos zur Hilfe für Erstellung der bestimmten Aufgabentypen
Matrixaufgabe
Matrixaufgabe mit randomisierten Werten
Lineare Gleichungen mit randomisierten Werten
Lineare Differentialgleichung mit konstanten Koeffizienten