Systeme für Online-Aufgaben

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.

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.

Comments