Checker: Unterschied zwischen den Versionen
(13 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
==Dynamic R Checker== | ==Dynamic R Checker== | ||
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. <syntaxhighlight inline lang="xml">postprocessingFunction</syntaxhighlight> modifiziert werden.Genauere Informationen zum Checker finden Sie [[DynamicRChecker|hier]]. | 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. <syntaxhighlight inline lang="xml">postprocessingFunction</syntaxhighlight> modifiziert werden.Genauere Informationen zum Checker finden Sie [[DynamicRChecker (Jack2)|hier]]. | ||
===Aufbau der XML-Datei=== | ===Aufbau der XML-Datei=== | ||
Den Aufbau/alle von diesem Checker genutzten Tags finden Sie [[:DynamicRChecker/Aufbau|hier]]. | Den Aufbau/alle von diesem Checker genutzten Tags finden Sie [[:DynamicRChecker/Aufbau (Jack2)|hier]]. | ||
==Static R Checker== | ==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 [[StaticRChecker|hier]]. | 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 [[StaticRChecker|hier]]. | ||
==Java | ==Java Metric Checker== | ||
==Tracing Java Checker== | ==Tracing Java Checker== | ||
Dieser Checker prüft Java-Programme durch Ausführung von Testfällen und erstellt im Fehlerfall Traces des jeweiligen Programmlaufs. Dies ist der derzeitige primäre Checker für dynamische Tests auf Java-Code. Weitere Informationen finden Sie [[TracingChecker|hier]]. | |||
==Static Java Checker (AGG)== | ==Static Java Checker (AGG)== | ||
Zeile 20: | Zeile 21: | ||
==Java Visualizer== | ==Java Visualizer== | ||
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. Weitere Informationen finden Sie [[KovidaChecker (Jack2)|hier]]. | |||
==UML Checker== | ==UML Checker== | ||
Der UML Checker ermöglicht statische Checks für verschiedene Modelltypen der UML auf Basis von XMI-Dateien und verwendet dazu Abfragen auf dem Syntaxgraphen. Um einen statischen Check mit dem Checker durchzuführen, muss die zu untersuchende Datei in der Liste "XMI file" 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 [[UMLChecker|hier]]. | Der UML Checker ermöglicht statische Checks für verschiedene Modelltypen der UML auf Basis von XMI-Dateien und verwendet dazu Abfragen auf dem Syntaxgraphen. Um einen statischen Check mit dem Checker durchzuführen, muss die zu untersuchende Datei in der Liste "XMI file" 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 [[UMLChecker|hier]]. | ||
==Dynamic UML Checker== | |||
==EPML Checker== | |||
Der EPML Checker ermöglicht statische Checks für EPKs (ereignisgesteuerte Prozessketten) auf Basis von EPML-Dateien und verwendet dazu Abfragen auf dem Syntaxgraphen. Um einen statischen Check mit dem Checker durchzuführen, muss die zu untersuchende Datei 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 [[EPML_Checker|hier]]. | |||
==Static C++ Checker (GreQL)== | ==Static C++ Checker (GreQL)== | ||
Zeile 36: | Zeile 43: | ||
===Beispiel=== | ===Beispiel=== | ||
Ein kommentiertes Beispiel für den InstantMultipleChoiceChecker finden Sie [[:Beispiel(InstantMultipleChoiceChecker)|hier]]. | Ein kommentiertes Beispiel für den InstantMultipleChoiceChecker finden Sie [[:Beispiel(InstantMultipleChoiceChecker) (Jack2)|hier]]. | ||
== InstantFillInChecker== | == InstantFillInChecker== | ||
Zeile 47: | Zeile 54: | ||
Den Aufbau/alle in diesem Checker genutzten Tags finden Sie [[:InstantFillInChecker/Aufbau|hier]]. | Den Aufbau/alle in diesem Checker genutzten Tags finden Sie [[:InstantFillInChecker/Aufbau|hier]]. | ||
===Beispiel=== | ===Beispiel=== | ||
Ein kommentiertes Beispiel für den InstantFillInChecker finden Sie [[:Beispiel(InstantFillInChecker)|hier]]. | Ein kommentiertes Beispiel für den InstantFillInChecker finden Sie [[:Beispiel(InstantFillInChecker) (Jack2)|hier]]. | ||
== | == InstantOrbitalChecker== | ||
Der InstantOrbitalChecker muss an Aufgaben vom Typ [[FormBased (Jack2)|FormBased]] angehangen werden, wenn diese eine Teilaufgabe vom Typ [[InstantOrbitalChecker|Atomorbital]] enthalten. Im Checker sind keine weiteren Einstellungen nötig, da diese alle über die Stage-Datei der entsprechenden Teilaufgabe vorgenommen werden können. | |||
[[Category:Checker]] | [[Category:Checker]] |
Aktuelle Version vom 7. Juni 2023, 13:23 Uhr
In JACK gibt es viele verschiedene Checker für die unterschiedlichen Aufgabentypen. Aktuell stehen die folgenden Checker zur Verfügung:
Dynamic R Checker
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.
Aufbau der XML-Datei
Den Aufbau/alle von diesem Checker genutzten Tags finden Sie hier.
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
Dieser Checker prüft Java-Programme durch Ausführung von Testfällen und erstellt im Fehlerfall Traces des jeweiligen Programmlaufs. Dies ist der derzeitige primäre Checker für dynamische Tests auf Java-Code. Weitere Informationen finden Sie hier.
Static Java Checker (AGG)
Dieser Checker existiert nur noch auf einigen JACK-Instanzen aus historischen Gründen. Er ist nicht mehr für den Produktivbetrieb geeignet.
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
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. Weitere Informationen finden Sie hier.
UML Checker
Der UML Checker ermöglicht statische Checks für verschiedene Modelltypen der UML auf Basis von XMI-Dateien und verwendet dazu Abfragen auf dem Syntaxgraphen. Um einen statischen Check mit dem Checker durchzuführen, muss die zu untersuchende Datei in der Liste "XMI file" 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.
Dynamic UML Checker
EPML Checker
Der EPML Checker ermöglicht statische Checks für EPKs (ereignisgesteuerte Prozessketten) auf Basis von EPML-Dateien und verwendet dazu Abfragen auf dem Syntaxgraphen. Um einen statischen Check mit dem Checker durchzuführen, muss die zu untersuchende Datei 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.
Static C++ Checker (GreQL)
Dynamic C++ Checker
InstantMultipleChoiceChecker
Wird in MutlipleChoice-Aufgaben genutzt.
MultipleChoice-Aufgabe
Eine Multiple-Choice-Aufgabe ist eine Aufgabe mit Fragetext und vorgegebenen Antwortoptionen, von denen keine, eine oder mehrere (auch durchaus alle) richtig sein können. Der Lernende muss die richtigen Antworten finden und auswählen. Bei der Erstellung einer solchen Aufgabe ist darauf zu achten, dass die falschen Antworten den Eindruck erwecken richtig zu sein, damit der Lernende es nicht allzu leicht hat.
Aufbau der XML-Datei
Den Aufbau/alle in diesem Checker genutzten Tags finden Sie hier.
Beispiel
Ein kommentiertes Beispiel für den InstantMultipleChoiceChecker finden Sie hier.
InstantFillInChecker
Wird in FillIn-Aufgaben genutzt.
FillIn Aufgabe
Eine Fill-In-Aufgabe bezeichnet man auch als Lückentextaufgabe. Bei diesem Aufgabentyp muss der Studierende seine Lösungen in die dafür vorgesehenen Kästchen eintragen oder aus einer Auswahl von voreingestellten möglichen Antworten auswählen. Im zweiten Fall erscheint dem Lernenden bei der Anzeige der Aufgabe ein Drop-Down-Menü und er muss die richtige Antwort finden und auswählen. Die Besonderheiten hierbei können Sie hier nachlesen.
Aufbau
Den Aufbau/alle in diesem Checker genutzten Tags finden Sie hier.
Beispiel
Ein kommentiertes Beispiel für den InstantFillInChecker finden Sie hier.
InstantOrbitalChecker
Der InstantOrbitalChecker muss an Aufgaben vom Typ FormBased angehangen werden, wenn diese eine Teilaufgabe vom Typ Atomorbital enthalten. Im Checker sind keine weiteren Einstellungen nötig, da diese alle über die Stage-Datei der entsprechenden Teilaufgabe vorgenommen werden können.