Aufgabentyp JAVA (Jack2)

Aus JACK Wiki
Version vom 23. Oktober 2018, 13:02 Uhr von Swolff (Diskussion | Beiträge) (Kategorie Aufgabentyp hinzugefügt)
Zur Navigation springen Zur Suche springen

Der Aufgabentyp JAVA ist für Programmieraufgaben (nicht nur in der Programmiersprache Java) vorgesehen, die von den Lernenden nicht direkt im Browser gelöst werden sollen, sondern bei denen Programmcodevorlagen von heruntergeladen werden, um sie in einem beliebigen Editor zu bearbeiten. Die bearbeiteten Dateien werden dann von dern Lernenden wieder hochgeladen und können von JACK bewertet werden. Die Bewertung geschieht durch sogenannte Checker, von denen mehrere einer Aufgaben zugewiesen und individuell konfiguriert werden können.

Derzeit stehen folgende Checker speziell für die Programmiersprache Java zur Verfügung:

  • GReQLJavaChecker: Dieser Checker prüft ebenfalls Programmcode der Programmiersprache Java auf statische Eigenschaften. Checks werden für diesen Checker regelbasiert in einer textuellen Notation konfiguriert.
  • TracingChecker: Dieser Checker prüft Java-Programme durch Ausführung von Testfällen und erstellt im Fehlerfall Traces des jeweiligen Programmlaufs.
  • KovidaChecker: Dieser Checker führt keine Checks im eigentlichen Sinne durch, sondern stellt eine Komponente zur Visualisierung von Datenstrukturen bereit, mit der die Ergebnisse eines Programmlaufs veranschaulicht werden können.
  • JavaMetricsChecker: Dieser CHecker führt ebenfalls keine Checks im eigentlichen Sinne durch, sondern berechnet einige Metriken zum eingereichen Programmcode.

Weitere Checker zum statischen und dynamischen Test anderer Programmiersprachen (C++, .NET-Sprachen, Python) stehen als experimentelle Prototypen zur Verfügung.

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 Allgemeines#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.