Das ProFormA-Plugin für Moodle bietet die Möglichkeit, Programmieraufgaben in Moodle automatisiert zu bewerten. Eingereichte Lösungen werden dabei gegen eine Testsuite laufen gelassen. Aus den Ergebnissen des Testlaufs wird dann anhand zuvor festgelegter Kriterien automatisch die Bewertung ermittelt. Die Tests laufen auf einem externen System (Praktomat) jeweils in einer gesicherten Umgebung (Sandbox).
Es wird im Weiteren vorausgesetzt, dass der Umgang mit der Fragensammlung und den Tests in Moodle vertraut ist.Die gesamten Arbeiten entstanden im Rahmen des eCULT-ProFormA-Projekts.
Der ProFormA-Standard, der Namensgeber des Moodle-Plugins war, definiert eine Programmieraufgabe als XML-Datei, die alle notwendigen Informationen zur Aufgabe im ProFormA-Aufgabenformat enthält. Dies ist neben der Aufgabenbeschreibung vor allem die Testsuite, die vom Praktomat zur Bewertung der Einreichung durchlaufen wird. Das eigentliche Format ist für die Anwender (Lehrende und Studierende) irrelevant, so dass sie sich damit nicht beschäftigen müssen.
ProFormA-Aufgaben können direkt in Moodle oder aber extern erzeugt und anschließend in Moodle importiert werden. In Moodle besteht allerdings lediglich die Möglichkeit, einfache Java-Aufgaben zu erstellen. Für andere Programmiersprachen und komplexere Java-Aufgaben kann der ProFormA-Aufgaben-Editor genutzt werden.
Egal, wie eine Aufgabe erstellt wurde, Moodle speichert intern die ProFormA-XML-Datei ab und sendet diese im Rahmen einer studentischen Einreichung zum Praktomat.
Derzeit unterstützt das System folgende Programmiersprachen mit folgenden Test-Frameworks:
Für die Testsuite werden gängige Standards genutzt. Im Fall von Java sind dies JUnit und CheckStyle. Dies hat den Vorteil, dass für die automatisierte Bewertung betriebsbewährte Software zum Einsatz kommt. Zudem bleibt der Einarbeitungsaufwand für die Autoren überschaubar, da sie mit den Standards vertraut sind und meist existiert eine Vielzahl von Werkzeugen, die beim Erstellen der Tests genutzt werden können (z.B. IDE).
Das ProFormA-Plugin unterstützt den Einsatz der ProFormA-Fragen im Rahmen von Moodle-Tests. Ein Test kann natürlich neben ProFormA-Aufgaben auch noch andere Aufgabentypen enthalten, so dass man die Tests abwechslungsreicher gestalten kann. Außerdem kann man Tests mit nur einer (eher umfangreichen) Aufgabe erzeugen oder aus mehreren (kleineren) Aufgaben zusammensetzen.
Bei größeren Aufgaben empfiehlt es sich tatsächlich, diese in mehrere kleinere Teilaufgaben aufteilen. Dies bietet den Vorteil, dass die Studierenden, die Aufgabe in kleineren Einheiten abarbeiten können und die Kriterien für die Bewertung detailierter festgelegt werden können.
Letztlich lassen sich ProFormA-Aufgaben sehr vielfältig sowohl für Anfängeraufgaben als auch für komplexe Laborübungen einsetzen.
Den prinzipiellen Ablauf beschreibt die folgende Tabelle:
Vorgang | Umgebung | A. Frage in Moodle erstellen | B. Frage extern erstellen und importieren |
---|---|---|---|
Voraussetzungen schaffen | extern (z.B. Eclipse) | Musterlösung und Testsuite erstellen | |
ProFormA-Aufgaben-Editor |
|
||
Frage in Fragesammlung erstellen | Moodle |
|
|
Frage in Test nutzen | Moodle |
Das Anlegen des Tests in Moodle kann auch erfolgen, bevor die Frage erstellt wird. Einstellungen von Aufgaben und Tests können auch später noch verändert werden.
Einige Besonderheiten werden im Nachfolgenden erläutert.
Weitere Informationen zu den Einstellungen finden sich weiter unten.
Dazu ruft man die Importfunktion der Fragensammlung auf und wählt das ProFormA-Format. Die ProFormA-Datei muss ausgewählt oder in die Drop-Zone gezogen werden. Danach wird der Import gestartet.
Während des Imports werden verschiedene Daten der ProFormA-Datei ausgelesen und in ein Frage-Objekt von Moodle übernommen (z.B. Aufgabenbeschreibung). Es handelt sich dabei i.W. um Angaben, die vom Praktomat nicht verwendet werden (z.B. die Aufgabenbeschreibung). Diese Werte können in Moodle beliebig geändert werden.
In Moodle lassen sich verschiedene Daten einer Aufgabe einstellen. Dabei handelt es sich
Es werden folgende Eingabeformen unterstützt:
Es wird unterschieden in die 'all-or-nothing'-Bewertung, bei der eine Einreichung entweder mit 0 oder mit voller Punktzahl (z.B. 1) bewertet wird und der gewichteten Summe. Bei letzterer wird aus den Teiltests eine Punktzahl ermittelt, wobei jeder Teiltest mit einem Gewicht versehen ist. Die Gewichte sind frei wählbar. Allerdings muss die Summe größer als 0 sein.
Neben der Bewertung können auch die Titel und Beschreibungen der Tests geändert werden.Zur Nutzung einer ProFormA-Frage muss ein Test in einem Kurs angelegt werden. Auch für diesen Test gibt es bei den Einstellungen einiges zu beachten.
Beim Frageverhalten ist zu beachten, dass dies beim ProFormA-Plugin intern immer auf die Mehrfachbeantwortung (mit oder ohne Abzüge) hinausläuft - unabhängig davon, was eingestellt wurde. Selbsteinschätzung und Hinweise werden nicht unterstützt.
Die 'Spätere Auswertung' ist bei Übungsaufgaben allerdings meistens nicht sinnvoll. Hier möchte man i.allg., dass der Studierende die Rückmeldung des Systems (das Spezifische Feedback) direkt nach einem Versuch (nach Drücken von 'Prüfen') angezeigt bekommt, was bei der 'späteren Auswertung' nicht möglich ist.
In den Berichtsoptionen sollte sorgfältig ausgewählt werden, was der Studierende wann als Fedback erhält. Insbesondere sollte überlegt werden, ob der Studierende die 'Richtige Lösung' (Musterlösung) überhaupt zu Gesicht bekommen soll.
Der folgende Screenshot verdeutlicht, welche Anzeigefelder mit den einzelnen Berichtsoptionen verbunden sind. (Die Rückmeldung des Graders und die Musterlösung sind ausklappbar.)