Checker: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 29: Zeile 29:
Wird in MutlipleChoice-Aufgaben genutzt.
Wird in MutlipleChoice-Aufgaben genutzt.
===Aufbau===
===Aufbau===
===Beispiel===
[[:Beispiel(InstantMultipleChoiceChecker)]]
[[:Beispiel(InstantMultipleChoiceChecker)]]


Zeile 34: Zeile 36:
Wird in FillIn-Aufgaben genutzt.
Wird in FillIn-Aufgaben genutzt.
===Aufbau===
===Aufbau===
[[:Beispiel(InstantFillInChecker)]]
Den Aufbau/alle in diesem Checker genutzten Tags finden Sie [[:InstantFillInChecker/Aufbau|hier]].
===Beispiel===
Ein kommentiertes Beispiel für den InstantFillInChecker finden Sie [[:Beispiel(InstantFillInChecker)|hier]].
 


== ExerciseChain ==
== ExerciseChain ==
Zeile 40: Zeile 45:


=== Aufbau ===
=== Aufbau ===
===Beispiel===
[[:Beispiel(exerciseChain)]]
[[:Beispiel(exerciseChain)]]
[[Category:Checker]]
[[Category:Checker]]

Version vom 20. November 2018, 14:05 Uhr

In JACK gibt es viele verschiedene Checker für die unterschiedlichen Aufgabentypen. Aktuell stehen die folgenden Checker zur Verfügung:

Dynamic R Checker

Wird in R-Aufgaben genutzt. Der DynamicRChecker dient dazu, den vom Studierenden erzeugten Output mit dem erwarteten Output zu vergleichen. Dazu wird innerhalb des Checkers ein Testfall definiert, in dem der Code hinterlegt wird, der den zu erwarteten richtigen Output generiert. Dieser wird dann nach der Einreichung des Studierenden mit dem, vom Code des Studierenden, generierten Output verglichen. Optional kann je nach Bedarf der vom Studierenden übergebene Output über eine sog. postprocessingFunction modifiziert werden. Genauere Informationen zum Checker finden Sie hier.

Genutzte Tags in der Stagedatei

Static R Checker

Der StaticRChecker ermöglicht statische Checks auf Programmcode und verwendet dazu Abfragen auf dem Syntaxgraphen. Um einen statischen Check mit dem Checker durchzuführen, muss eine einzelne Datei mit Prüfregeln ("Rule File") angegeben werden. Die Regeln werden in dieser Datei im XML-Format organisiert und verwenden die Sprache GReQL für Abfragen auf dem Syntaxbaum. Der zu prüfende Programmcode entstammt dem Editor aus dem Browserfenster. Weitere Informationen finden Sie hier.

Java metric Checker

Tracing Java Checker

Static Java Checker(AGG)

Static Java Checker (GreQL)

Der GReQLJavaChecker ermöglicht statische Checks auf Programmcode und verwendet dazu Abfragen auf dem Syntaxgraphen. Um einen statischen Check mit dem Checker durchzuführen, müssen die zu untersuchenden Dateien in der Liste "Source Files" ausgewählt werden und eine einzelne Datei mit Prüfregeln ("Rule File") angegeben werden. Die Regeln werden in dieser Datei im XML-Format organisiert und verwenden die Sprache GReQL für Abfragen auf dem Syntaxbaum. Weitere Informationen finden Sie hier.

Java Visualizer

UML Checker

Static C++ Checker (GreQL)

Dynamic C++ Checker

InstantMultipleChoiceChecker

Wird in MutlipleChoice-Aufgaben genutzt.

Aufbau

Beispiel

Beispiel(InstantMultipleChoiceChecker)

InstantFillInChecker

Wird in FillIn-Aufgaben genutzt.

Aufbau

Den Aufbau/alle in diesem Checker genutzten Tags finden Sie hier.

Beispiel

Ein kommentiertes Beispiel für den InstantFillInChecker finden Sie hier.


ExerciseChain

In der ExerciseChain werden allgemeine Informationen zur Aufgabe gespeichert: Möchte man bspw. eine Aufgabe mit Variablen definieren, so muss man dies in dieser Datei tun. Für jede einzelne Stufe der Aufgabe muss außerdem ein Abschnitt definiert werden. Dort teilt man der Aufgabe mit, welche Variablen sie dieser Stufe übergeben soll und welche Stufe bei welcher Einreichung als nächstes angezeigt werden soll.

Aufbau

Beispiel

Beispiel(exerciseChain)