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
http://stack.bham.ac.uk/moodle/question/type/stack/doc/doc.php/CAS/
http://michel.gosse.free.fr/documentation/fichiers/maxima.pdf
http://stack.bham.ac.uk/moodle/question/type/stack/doc/doc.php/CAS/CAS.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 {@...@}

FIXME

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:

  1. Klicken Sie dazu auf das Icon „mehr Symbole anzeigen“
  2. Ö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

  • Art der Eingabe - Auswirkung, Beschreibung, Screenshots (Matrix, Wahr/Falsch, Textfeld…)
  • Syntax Hint oder Syntax-Hinweise sind Platzhalter, innerhalb der Eingabefelder, die Ihren Studenten eine Vorlage liefert, wie ein Term eingeben werden soll. (z.B. sqrt, [x=..,x=..]).

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

Tests (i) whether the student's answer is equivalent to the teacher's and is written to opt decimal places. The option, which must be a positive integer, dictates the number of digits following the decimal separator .. Note that trailing zeros are required, i.e. to two decimal placed you must write 12.30 not just 12.3. The test rounds the numbers to the specified number of decimal places before trying to establish equivalence.

z.B: we want an answer of the question to have 3 decimal places, it means that the option is 3 and the answer is 15.3468. This test rounds the number 15.3468 to 15.347 because 3 decimal places are wanted.

NumRelative & Numabsolute

The option to these tests is a tolerance. The default tolerance is 0.05.

  Relative: Tests whether abs(sa-ta) <= opt * abs(ta)
  Absolute: Tests whether abs(sa-ta) < opt

NumRelative and NumAbsolute can also accept lists and sets. Elements are automatically converted to floats and simplified (i.e. ev(float(ex),simp)) and are compared to the teacher's answer using the appropriate numerical test and accuracy. A uniform accuracy must be used. With lists the order is important, but with sets it is not. Checking whether two sets are approximately equal is an interesting mathematical problem….

noch im Aufbau

FIXME This test

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 wird so erstellt :  [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!

  1. 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
  2. Erstellen Sie nun Ihre Fragestellung
    Berechnen Sie @A@ \( \cdot \) @B@
    // Zwischen den @-Symbolen werden Aufgabenvariablen verarbeitet, aufbereitet und ausgegeben
    // Zwischen \( ... \) kann LaTeX-Code untergebracht werden


  3. Im nächsten Schritt wird das Matrix-Eingabefeld einer Aufgaben ermöglicht indem als Eingabetyp „Matrix“ verwendet wird. Wenn Sie diesen Schritt nicht durchführen, sehen Ihre Studenten, nur ein einfaches Eingabefeld!

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])
Man sollte dabei auf die Grenzen achten! Hier z.B. muss „d“ kleiner „e“ sein.

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)

Stack-Plot

Videos zur Hilfe für Erstellung der bestimmten Aufgabentypen

Matrixaufgabe

Matrixaufgabe mit randomisierten Werten

Lineare Gleichungen mit randomisierten Werten

Lineare Differentialgleichung mit konstanten Koeffizienten

multimedia/moodle/stack_maxima.txt · Zuletzt geändert: 00:57 19. June 2018 von Yusuf Emin Cansiz
Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0