.. title: Systeme für Online-Aufgaben
.. slug: systeme-fur-online-aufgaben
.. date: 2021-02-12 17:29:57 UTC+01:00
.. tags: Numbas, Online-Lehre
.. category: Lehre
.. link:
.. description:
.. type: text
Im Wintersemester 2020/21 habe ich an der Universität Duisburg-Essen die
Anfängervorlesung
`Lineare Algebra 1 `_
gehalten. Da die Vorlesung "online" gehalten werden musste, erschien es mir
besonders wichtig, ein möglichst breites Angebot zu machen, wie die
Teilnehmer*innen der Vorlesung selbst aktiv werden können. Deswegen habe ich
von vorneherein neben den üblichen Hausaufgaben auch Online-Aufgaben eingeplant,
mit denen einerseits Rechenaufgaben geübt werden können, von denen es in der
Linearen Algebra ja viele gibt, und mit denen andererseits einfache
Verständnisaufgaben gestellt werden können - zum Beispiel als
Multiple-Choice-Aufgaben - die (hoffentlich) schnellere Erfolgserlebnisse als
die Hausaufgaben ermöglichen.
Diesen Teil der Vorlesung habe ich dann so umgesetzt, dass wöchentlich
freiwillige Online-Aufgaben angeboten wurden. Zusätzlich gab es dreimal im
Semester einen verpflichtenden "Online-Test", der aus 10 bis 12 der Aufgaben
bestand, die vorher schon bei den Online-Aufgaben dabeigewesen waren.
Die Beteiligung bei den Online-Aufgaben war mittelmäßig und hat auch übers
Semester etwas abgenommen. Allerdings wurden in der Umfrage zur Vorlesung die
Online-Aufgaben von mehreren Studierenden ganz ausdrücklich gelobt. Insofern bin
ich alles in allem damit zufrieden und würde es vermutlich beim nächsten Mal
(und werde es in der
`Linearen Algebra 2 `_)
ähnlich machen.
Die meisten der Aufgaben kann man `auf dieser Seite `_ ausprobieren.
Im Vorfeld hatte ich mir mehrere Systeme angeschaut. Ich sammele hier einige
Bemerkungen und Gründe, die zu meiner Entscheidung geführt haben.
.. TEASER_END
Numbas
=======================
Das System `Numbas `_ wird an der Newcastle
University unter der Federführung von Christian Lawson-Perfect entwickelt. Dies
ist das System, das ich benutzt habe, und ich bin mit meiner Entscheidung dafür
nach wie vor zufrieden.
Numbas ist Open source, man kann sich das `ganze System anschauen
`_. Falls erforderlich, könnte man auch selbst
Veränderungen machen, allerdings habe ich über das Semester die Erfahrung
gemacht, dass sämtliche Berichte über kleine Fehler und Bitten um Verbesserungen
sehr schnell bearbeitet wurden, teils in Rekordgeschwindigkeit. Auch im
`Benutzerforum `_ gestellte Fragen
werden zuverlässig und zügig beantwortet. Die Open-Source-Lizenz hat
den großen Vorteil der Zukunftssicherheit. Wenn alle Stricke reißen,
kann man immer noch selbst einen Numbas-Editor aufsetzen, die Aufgaben, die
man schon erstellt hat, weiter nutzen, und neue Aufgaben anlegen.
Für mich persönlich war ein zusätzlicher Pluspunkt, dass ich die
Programmiersprachen Python und Javascript, die in Numbas verwendet werden (für
den Editor und den LTI-Provider bzw. für das Benutzerinterface) schon kenne.
Die `Dokumentation `_ ist sehr
ausführlich und verständlich.
Im Unterschied zu mehreren anderen Systemen arbeitet bei Numbas kein
Computer-Algebra-Programm im Hintergrund. Das ist Vor- und Nachteil zugleich.
Der offensichtliche Nachteil ist, dass man keinen direkten "Zugriff" auf
kompliziertere Objekte wie etwa den Ganzheitsring eines Zahlkörpers hat. Für die
lineare Algebra ließ sich alles, was ich brauchte, mit erträglichem Aufwand
direkt durchführen (und die meisten "Basics" sind natürlich auch schon in Numbas
verfügbar). Der Vorteil ist, dass mit diesem System alle Berechnungen
(Zufallswerte für die Aufgaben wählen, daraus die Aufgabenstellung ermitteln,
die Antwort überprüfen und gegebenenfalls den Lösungsweg darstellen) auf den
Rechnern der Studierenden laufen können. Insbesondere muss kein Server mit einem
solchen Computer-Algebra-Programm laufen (und vorher eingerichtet und dann
gepflegt werden), und die Nutzer*innen brauchen für die Bearbeitung der Aufgaben
selbst keine Internetverbindung (allerdings natürlich schon, wenn die Punkte
zurückgemeldet werden sollen).
Zum Erstellen der Aufgaben benutze ich den öffentlichen `Numbas-Editor
`_, der ein komfortables Benutzerinterface
darstellt. Der Zeitaufwand bleibt natürlich beträchtlich, insbesondere, wenn
zusätzlich zu der Aufgabe selbst der Lösungsweg dokumentiert werden soll,
womöglich noch mit Zwischenergebnissen mit den Zahlenwerten aus der
Aufgabenstellung. Nach der Einarbeitungsphase habe ich jetzt aber das Gefühl,
mich dabei praktisch ausschließlich auf die inhaltlichen Aspekte konzentrieren
zu können.
Das System ist sehr flexibel und erlaubt an vielen Stellen das Einbinden von
Erweiterungen oder individuell erstellten "Bauteilen".
Im Numbas-Editor sind bereits viele Aufgaben von anderen Autor*innen
veröffentlicht worden. Gerade zu Beginn war es hilfreich, gelegentlich schauen
zu können, wie die eine oder andere Sache gemacht werden kann. In der zweiten
Hälfte des Semesters hatte ich mich dann aber soweit eingearbeitet, dass ich die
neuen Aufgaben alle selbst erstellt habe (und eher mal als Basis eine andere
Aufgabe von mir selbst hergenommen habe) - meistens ist es eben doch so, dass
Aufgaben, die für andere Vorlesungen/Zielgruppen gemacht wurden, noch angepasst
werden müssten, und man dann im Vergleich zum Neuschreiben kaum Zeit gewinnt.
Die Aufgabenpakete können "standalone" als statische Dateien auf jedem Webserver
gehostet werden, wenn es nur ums Ausprobieren geht, d.h. ohne dass die Antworten
auf dem Server abgespeichert und die Punkte irgendwohin zurückgemeldet werden.
`Das sieht dann so aus. `_ Für die Vorlesung, insbesondere für die
Online-Tests, war es natürlich wichtig, dass die erreichten Punkte an die
Moodle-Seite zurückgemeldet werden. Es ist im Prinzip möglich, im Numbas-Editor
SCORM-Pakete zu erstellen, die dann als Aktivität "Lernpaket" in eine
Moodle-Seite eingebunden werden können. Das funktioniert auch im Prinzip, hat
aber in Einzelfällen zu Problemen geführt; speziell dann, wenn Tests pausiert
und später fortgesetzt wurden. Viel besser ist es, separat den
Numbas-LTI-Provider zu installieren. Dafür braucht es zwar einen Server, der
aufgesetzt werden muss (bei mir läuft der LTI-Provider in einem
Docker-Container) und gewartet werden muss. Aber die genannten Probleme mit der
Lernpaket-Methode waren damit vollständig beseitigt. Ein weiterer Vorteil ist,
dass man dann die Fragen und Antworten der einzelnen Versuche anschauen und
gegebenenfalls neu bepunkten kann.
Für die lineare Algebra bin ich mit dem System nun rundum zufrieden. Was
fortgeschrittene Vorlesungen (Algebra, Kommutative Algebra, Algebraische
Zahlentheorie/Geometrie ...) angeht, könnte der Umstand, dass Numbas nicht mit
einem Computer-Algebra-Programm "verbunden" ist, ein Nachteil sein. Man könnte
Unterstützung für kompliziertere Objekte neu programmieren oder auch die
Anbindung an ein CAS als Erweiterung programmieren und einbinden, aber beides
würde einen gewissen Aufwand bedeuten. In den genannten Vorlesungen
ist aber der "Rechenanteil" ohnehin geringer, so dass man zunächst grundsätzlich
überlegen müsste, ob überhaupt und in welcher Form Online-Aufgaben eingesetzt
werden sollen.
SageCell
=======================
Eine "mathematisch" extrem mächtige Möglichkeit ist, mit `SageCell
`_ Eingabefelder in Webseiten einzubinden, die
direkt auf einen `SageMath `_-Server zugreifen können.
Damit hat man allerdings noch keine Infrastruktur, um Aufgaben zu stellen,
Punkte zu verwalten (und an Moodle zurückzumelden ...), usw. Ein anderes Problem
ist, dass es schwierig ist, einen SageMath-Server so abzusichern, dass der
Server nicht "gehackt" werden kann. Standardmäßig ist ja eine vollständige
Python-Instanz Teil von Sage, und damit hat jede*r Nutzer*in a priori auch
direkten Zugriff auf das zugrundeliegende Betriebssystem. Abgesehen davon kann
es bei größeren Veranstaltungen erhebliche Ressourcen auf der Server-Seite
erfordern, wenn viele Nutzer*innen gleichzeitig Rechnungen durchführen.
Es gibt öffentlich zugängliche SageCell-Server, aber wenn man diese nutzt, baut
man eine weitere Abhängigkeit ins System ein und muss unter anderem
"organisieren", dass die Studierenden jeweils den Nutzungsbedingungen zustimmen.
Einen Zwischenweg hat Christian Baer mit seinen
`Online-Aufgaben `_
gewählt, bei denen es keine Eingabemöglichkeit gibt. Die Nutzer*in bekommt eine
Aufgabe und kann sich dann in einem zweiten Schritt die Lösung anzeigen lassen.
STACK
=======================
Das System `STACK `_ ist ein Open-Source-System,
bei dem im Hintergrund das Computer-Algebra-Programm `Maxima
`_ benutzt wird. Damit sind auch aufwändige
Rechnungen möglich und kompliziertere mathematische Objekte zugänglich,
andererseits muss eben ein weiterer Server betreut werden und genügend Kapazität
für die erwarteten Nutzerzahlen bereitgestellt werden.
Wenn ich es richtig verstehe, ist der übliche (einzige?) Weg, Stack-Aufgaben
auszuliefern, Stack als Moodle-Plugin in eine Moodle-Seite einzubinden (was
bedeutet, dass für die Einbindung in die Uni-Vorlesungsseiten entsprechende
Unterstützung vom zentralen IT-Support erforderlich wäre oder eine weitere,
eigene Moodle-Instanz aufgesetzt werden müsste).
WeBWorK
=======================
Das System `WeBWorK `_ gibt es
wohl schon recht lange (und es gibt auch eine große Aufgabensammlung). Das
Programm basiert auf Perl (was für mich zusätzlichen Zeitaufwand bedeutet
hätte).
IMathAS
=======================
`IMathAS `_ ist ein weiteres Open-Source-System (auf
der Basis von PHP und MySQL), das aktiv weiterentwickelt wird, das ich mir aber
nicht genauer angeschaut habe.
JACK
=======================
Das System `JACK
`_
wird an der Universität Duisburg-Essen entwickelt und wird auch in einigen
Mathematikvorlesungen genutzt.