Der Aufgabentyp R (Jack2)
Der Aufgabentyp R ist für Aufgaben der Programmiersprache R vorgesehen, die von den Lernenden direkt im Browser gelöst werden können. Die Bewertung geschieht durch sogenannte Checker, von denen mehrere einer Aufgaben zugewiesen und individuell konfiguriert werden können.
Derzeit besteht eine R-Aufgabe aus folgenden Komponenten:
- Exercise: Diese Datei bildet das Grundgerüst, hier werden notwendige Variablen definiert und Aufgabentext sowie (evtl.) Hinweise verfasst.
- StaticRChecker: Dieser Checker prüft Programmcode auf statische Eigenschaften. Checks werden für diesen Checker regelbasiert in einer textuellen Notation konfiguriert.
- DynamicRChecker: Dieser Checker prüft den Output eines vom Lernenden eingereichten Codes mit dem erwarteten Output.
- SourceCode (optional): In dieser Datei kann vordefinierter R-Code bereitgestellt werden.
Allgemeine Konfiguration eines Checkers
Die aufgabenspezifische Konfiguration eines Checkers umfasst sowohl allgemeine Angaben, die vom Typ des Checkers unabhängig sind und die Auswahl von einer oder mehrerer Dateien, die spezifisch für diesen Checker verwendet werden. Alle Dateien müssen als Ressourcen zur Aufgabe hinzugefügt werden, bevor sie verwendet werden können.
Ferner gibt das System einen "Variablennamen" für jeden Checker vor. Dieser ist für die Verwendung des Checker-Ergebnisses in Evaluierungsregeln von Aufgaben (siehe Aufgaben (Jack2)#Basiseinstellungen) vorgesehen. Der frei zu vergebende "Checker-Name" dient dagegen der Repräsentation des Checkers in der Detailansicht einer Aufgabe und das "Ergebnis-Label" wird zur Repräsentation des Checker-Ergebnisses in der Detailansicht einer Lösung verwendet. Die beiden Auswahlkästchen "Zeige..." legen fest, ob das Checker-Ergebnis in der Übersicht und in den Details einer Lösung angezeigt werden soll. Über das Kontrollkästchen "Checker ist aktiviert" kann für jede einzelne Checker-Instanz festgelegt werden, ob eine automatische Überprüfung mittels des Checkers vom System durchgeführt werden soll oder nicht.