Java (JACK3)

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Aufgabeninhalt

  • Titel: Hier kann optional der Name der Stufe eingetragen werden.
  • Aufgabentext: Im Aufgabentext steht die Aufgabenstellung. Mithilfe des Editors lässt sich die Aufgabenstellung einfach darstellen.
  • Einstellungen für den Dateiupload: Hier werden die Einstellungen gemacht über die Dateien, die die Lernenden als Lösung bei dieser Aufgabe hochladen.
    • Erforderliche Dateinamen: Zuerst wird festgelegt, wie die Dateien heißen sollen. Alle Dateinamen, die unter Erforderliche Dateinamen aufgeführt werden müssen auch von dem Lernenden hochgeladen werden. Ist das Feld leer haben die Lernenden die freie Wahl bei der Benennung ihrer Klassen.
    • Erlaubte Dateinamen: Hier werden die Dateinamen aufgelistet, die alle erlaubt sind. Dadruch können auch Varianten erlaubt werden.
    • Mindestzahl hochgeladener Dateien: Hier wird angegeben wie viele Dateien mindestens die Lernenden hochladen sollen.
    • Höchstzahl hochgeladener Dateien: Hier wird angegeben wie viele Dateien höchsten die Lernenden hochladen dürfen. Wenn die Anzahl festgelegt ist, wie viele Dateien hochgeladen werden sollen, dann muss bei beiden dieselbe Zahl angegeben werden.
Java Einstellungen.JPG

Feedback

  • Gewichtung des Aufgabenteils: Gewichtung der Punktzahl einer Stufe innerhalb der Aufgabe.
  • Reaktion bei fehlenden oder falschen Dateianhängen: Wie soll Jack reagieren, wenn ein Lernender falsche Dateien angehängt hat oder Dateien fehlen. Es gibt die Möglichkeit die Stufe wiederholen lassen oder die Einreichung mit 0 Punkten bewerten.
  • Verhalten bei internen Fehlern während der Überprüfung: Während der Überprüfung studentischer Lösungen können schon mal interne Fehler auftreten. Hier muss angegeben werden ob die Bearbeitung markiert und abgebrochen wird oder ob eine Nachricht ausgeben und Bearbeitung fortgesetzt wird.
  • Bewertungsverfahren: Über die jeweiligen Button können statische Checker, dynamische Checker und Metrikberechnung hinzugefügt werden.
    • Gewichtung dieses Checks: Die verschiedenen dynamischen und statischen Checker einer Aufgabe können unterschiedlich stark gewichtet werden. Dadurch lässt sich die unterschiedlichen Aufgaben der Checker berücksichtigen.
    • Diesen Check löschen: Über den Button lässt sich dieser Checker von der Aufgabe entfernen.
    • Berücksichtigte Dateien in diesem Check: Hier werden die Dateien eingetragen, die dieser Checker checken soll.
    • Weitere Quellcode-Dateien aus der Aufgabe:
    • Checker:
      • GReQL-Regelsatz zur statischen Überprüfung: Hier wird der Regelsatz eingetragen. Weitere Informationen über den GReQL Java Checker und welche Regeln zur Verfügung stehen finden sich hier.
      • dynamische Tests: Hier wird der Testtreiber für die dynamischen Tests eingefügt. Weitere Informationen über den Tracing Java Checker sind hier zu finden.
      • Metrikberechnung: Hier werden einige Softwaremetriken auf den eingereichten Lösung berechnet (z.B. Lines of Code, Zyklomatische Komplexität). Die Ergebnisse werden in Meta Variablen gespeichert und können als Extra-Feedback ausgegeben werden.
Java GReQL Checker.JPG
  • Überspringen: Der Lehrende kann jede Java Stufe zum Überspringen anbieten. Dazu muss zunächst der Haken gesetzt werden. Danach gibt es noch die Möglichkeit einen Text den Lernenden anzuzeigen, wenn dieser diese Stufe übersprungen hat. Den Text kann man wieder über die Icons Schlüssel oder Stift hinzufügen.
Java Tracing Checker.JPG

Hinweise

Jede Stufe kann beliebig viele Hinweise anbieten. Alle weiteren Information wie man Hinweise angibt sind hier zu finden.

Verknüpfungen

  • Nächster Aufgabenteil (Standard): In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe sein soll, wenn der Lernende eine Lösung eingereicht hat. Dieses wird immer dann durchgeführt, wenn keine andere Aktion zutrifft. Es gibt die folgenden Möglichkeiten:
    • Ende der Aufgabe: Die Aufgabe ist mit der Aktion des Lernenden beendet.
    • Aufgabenteil wiederholen: Der Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion kann man z.B. bei Übungsaufgaben benutzen, wenn der Lernende eine Aufgabe solange wiederholen soll, bis das richtige Ergebnis eingereicht wurde.
    • #x (x ist dabei eine beliebige Stufe dieser Aufgabe): Die entsprechende Stufe wird als nächstes angezeigt. Wenn man die Stufennummer der aktuellen Stufe wählt wird diese Stufe neu aufgerufen.
    • Nicht auf Feedback warten und sofort zum nächsten Aufgabenteil weiterschalten: Da bei dieser Aufgabe es teilweise länger dauern kann bis die Checker ein Feedback zurück geben, besteht die Möglichkeit den Haken hier zu setzen. Dann wird nicht auf das Checker Ergebnis gewartet, bevor der nächste Aufgabenteil angezeigt wird.
Verknuepfung Java.JPG
  • Weitere nächste Aufgabenteile (optional): Hier kann die nächste Aktion dynamisch eingestellt werden, d.h. sie kann abhängig von der Variablen Konstelation sein oder von der Eingabe des Lernenden.
  • Nächster Aufgabenteil beim Überspringen (optional): Hier wird eingestellt welcher nächste Aufgabenteil angezeigt werden soll, wennn der Lernende die Stufe übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.

Variablenupdates

Die Variablenupdates stehen nur zur Verfügung, wenn die Aufgabe auch Variablen hat. Es gelten die allgemeinen Informationen zum Anlegen von Variablenupdates.

Wenn in einem statischen Check ein Regelsatz verwendet wurde, der Regeln vom Typ "report" enthält, stehen die Ergebnisse als Variablen der Form [check=<Name_der_Report-Variablen>] zur Verfügung.

Wenn für das Feedback die Metrikberechnung aktiviert wird, stehen außerdem die folgenden Variablen zur Verfügung:

Name Beschreibung
[check=complexity] Zyklomatische Komplexität des untersuchten, studentischen Codes
[check=depth] Maximale Tiefe des AST des untersuchten, studentischen Codes
[check=fields] Anzahl der im untersuchten, studentischen Code deklarierten Felder
[check=methods] Anzahl der im untersuchten, studentischen Code deklarierten Methoden
[check=loops] Anzahl der im untersuchten, studentischen Code vorkommenden Schleifen-Konstrukte
[check=statements] Anzahl der im untersuchten, studentischen Code vorkommenden Statements
[check=expressions] Anzahl der im untersuchten, studentischen Code vorkommenden Ausdrücke
[check=refs] Anzahl der im untersuchten, studentischen Code vorkommenden Referenzen (Feld- und Variablenzugriffe, Methoden- und Konstruktoraufrufe)

Dateien

Die Verwaltung der Dateien in einer Stufe steht nur zur Verfügung, wenn Dateien in dieser Aufgabe hochgeladen wurden.

Datein zum Download Java.JPG

Hier kann der Lehrende einzelne Dateien auswählen, die der Lernenden in der Aufgabe downloaden kann. Der Lehrende kann dabei nur aus der Liste an Dateien wählen, die in dem Abschnitt Dateien an der Aufgabe hochgeladen wurden. Um eine Datei dem Studierenden zum Download anzubieten muss der Button mit dem + geklickt werden. Die Datei kann durch das Klicken auf den Button mit - aus der Liste der Dateien zum Downloaden wieder entfernt werden.