ProFormA-Plugin für Moodle

Das ProFormA-Plugin für Moodle bietet die Möglichkeit, Programmieraufgaben in Moodle automatisiert zu bewerten. Es fungiert als Benutzerschnittstelle (Front End) zu dem externen Grading-System (Back End), das bereits in Verbindung mit LON-CAPA an der Ostfalia erfolgreich im Einsatz ist (Praktomat in Kombination mit Middleware).
Die gesamten Arbeiten entstanden im Rahmen des ProFormA-Projekts.

Im ProFormA-Standard ist eine Programmieraufgabe definiert als zip-Datei, die alle notwendigen Informationen der Aufgabe im ProFormA-Aufgabenformat speichert. Dies sind im Wesentlichen die Aufgabenbeschreibung für den Studierenden und die Testsuite, die vom Grading-System zur Bewertung der Einreichung durchlaufen wird. Der Anwender muss dieses Format nicht kennen.

Beim Generieren der zip-Datei ist Moodle nicht beteiligt. Hierfür gibt es teilweise Unterstützung von ProFormA-Werkzeugen. In Moodle wird beim Importieren eine Moodle-Frage (im weiteren ProFormA-Aufgabe genannt) in der Moodle-Datenbank erzeugt. Die zip-Datei wird zusätzlich im Filesystem gespeichert und im Rahmen der Programmbewertung an das Back End gesendet.

Erstellen

Derzeit werden folgende Programmiersprachen unterstützt:

Für die Testsuite werden gängige Standards genutzt. Im Fall von Java sind dies beispielsweise bei JUnit und CheckStyle. Dies hat den Vorteil, dass für die automatisierte Bewertung betriebsbewährte Software zum Einsatz kommt und der Einarbeitungsaufwand für Autoren überschaubar bleibt, wenn man mit den Standards und deren Werkzeugen bereits vertraut ist.

Ablauf zum Erzeugen einer ProFormA-Aufgabe in Moodle

Übersicht

Folgende Schritte müssen durchlaufen werden, um eine ProFormA-Aufgabe in Moodle anzulegen:

vorab:
  1. Erstellen einer Musterlösung und einer Testsuite
im ProFormA-Editor:
  1. Erfassen von Aufgabenstellung, Hochladen der Testsuite und der Musterlösung
  2. Erzeugen der zip-Datei
in Moodle:
  1. in den Kurs wechseln, in dem die Frage genutzt werden soll
  2. Import der zip-Datei in die Fragensammlung , (ggf. Ändern von Einstellungen der Aufgabe)
  3. Anlegen eines Tests (ggf. Einstellungen anpassen! )
  4. Einfügen der Aufgabe in einen Test
Das Anlegen des Tests in Moodle kann auch vor dem Import in die Fragensammlung erfolgen. Einstellungen von Aufgaben und Tests können auch später noch verändert werden.

Zu beachten ist bei dieser Auflistung, dass die sonst übliche Erstellung einer Aufgabe in Moodle mit 'Frage hinzufügen...' hier nicht zum Ziel führt. Stattdessen muss die Frage in die Fragensammlung importiert werden.

Es wird im Weiteren vorausgesetzt, dass der Umgang mit der Fragensammlung und Tests in Moodle vertraut ist.

Vorarbeiten

Nachdem in etwa klar ist, wie die Aufgabe aussehen soll, erstellt man dazu eine Musterlösung und die Testsuite. Sinnvollerweise testet man, dass die Testfälle mit der Musterlösung fehlerfrei durchlaufen.

Nun wird die Aufgabe in das ProFormA-Format umgesetzt. Hier kommt der ProFormA-Editor ins Spiel. Er dient als Benutzeroberfläche zum Erfassen der Aufgabenstellung sowie weiterer Daten und der Dateien. Daraus erzeugt er die zip-Datei.

Importieren der ProFormA-Aufgabe

Zum Erzeugen einer ProFormA-Aufgabe in Moodle muss die zip-Datei in die Fragensammlung des Kurses, in dem sie eingesetzt werden soll, importiert werden. Der sonst übliche Weg zum Erzeugen einer Frage ('Testinhalt bearbeiten', 'Hinzufügen' und 'Frage hinzufügen...') funktioniert hier nicht (auch wenn es erst so aussieht)!

Beim Import werden die wichtigesten Parameter der Aufgabe eingelesen und ein Frage-Objekt in Moodle angelegt. Dazu ruft man die Importfunktion der Fragensammlung auf und wählt das ProFormA-Format. Die zip-Datei muss ausgewählt oder in die Drop-Zone gezogen werden. Danach wird der Import gestartet.

Import

Aufgabe-Einstellungen

Nach dem Import lassen sich in Moodle einige Werte anpassen. Dies betrifft allerdings nur den Bereich, der dem Studierenden angezeigt wird (z.B. Aufgabenbeschreibung und Codeschablone). Außerdem kann man die maximal erreichbaren Punikte und den Punktabzug beim Frageverhalten 'Mehrfachbeantwortung (mit Abzügen)' einstellen (in Prozent).

Zusätzlich lässt sich einstellen, ob der Studierende seinen Versuch in einen Editor eintippen oder aber eine Datei hochladen soll.

Filepicker

Beim Filepicker (zum Hochladen der studentischen Einreichung) ist zu beachten, dass das Backend zur Zeit nur das Hochladen von einer Antwortdatei unterstützt!
Die akzeptierten Dateitypen können als Endung mit vorangestelltem Punkt (.java) oder als Mimetype angegeben werden.

Meistens kann man eine neue Frage aber auch unverändert einsetzen.

Anlegen eines Tests in Moodle

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 allerdings, diese in mehrere kleinere Teilaufgaben aufteilen. Dies bietet den Vorteil, dass der Studierende, die Aufgabe in kleineren Einheiten abarbeiten kann und die Bewertung detailierter festgelegt werden kann.

Des weiteren existieren eine Reihe von Einstellungen bei der Anzeige der Bewertung.

Letztlich lassen sich ProFormA-Aufgaben sehr vielfältig einsetzen lassen.

Zur Nutzung einer ProFormA-Frage muss also zunächst ein Test in einen Kurs eingefügt werden.

Test-Einstellungen

Besonderes Augenmerk sollte auf das Frageverhalten und die Berichtsoptionen gelegt werden. Hier wird festgelegt, ob, wann und wie der Studierende eine Rückmeldung zu seiner Einreichung erhält.

Beim Frageverhalten ist zu beachten, dass dies beim ProFormA-Plugin intern immer auf die Mehrfachbeantwortung (mit oder ohne Abzüge) hinausläuft. Selbsteinschätzung und Hinweise werden nicht unterstützt.

Standardeinstellung ist die 'Spätere Auswertung'. Diese Einstellung verhält sich 'zur sicheren Seite', d.h. wenn man vergisst, hier Änderungen vorzunehmen, dann bekommt man zu wenig angezeigt. Wäre die Mehrfachbeantwortung der Standard, so würde ohne Änderung u.U. mehr angezeigt als man beabsichtigt, so dass diese Voreinstellung durchaus Sinn macht.

Die 'Spätere Auswertung' ist bei Übungsaufgaben allerdings meistens nicht sinnvoll. Hier möchte man i.allg., dass der Studierende die Rückmeldung des Graders (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.

Berichtsoptionen

Der folgende Screenshot verdeutlicht, welche Anzeigefelder mit den einzelnen Berichtsoptionen verbunden sind. (Die Rückmeldung des Graders und die Musterlösung sind ausklappbar.)

Bedeutung der Berichtsoptionen

Einfügen der ProFormA-Aufgabe in den Test

Wenn die Frage in der Fragensammlung vorliegt, kann sie in den Test eingefügt werden ("Testinhalt bearbeiten", danach "hinzufügen" und "aus der Fragensammlung" auswählen) und ist einsatzbereit.