Dynamischer R Checker (JACK3)

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Der dynamische Checker vergleicht den Output eines vom Lernenden eingereichten Codes mit dem erwarteten Output. Dazu wird innerhalb des Checkers ein Testfall definiert (Erwartete Ausgabe), in dem der Code hinterlegt wird, der den zu erwarteten richtigen Output generiert. Dieser wird dann nach der Einreichung des Lernenden mit dem vom Code des Lernenden generierten Output verglichen. Durch das Klicken auf den Button Dynamischer Testfall wird ein dynamischer Test erzeugt und ein Fenster öffnet sich. Dort lassen sich folgende Einstellungen vornehmen:

  • Name: Name des Testfalls.
  • Postcode: Es ist möglich benutzerdefinierten Postcode in Aufgaben zu hinterlegen.
  • Nachverarbeitungsfunktion: Muss nur gesetzt sein, falls spezielle R-Funktionen zur Nachbearbeitung des studentischen Codes nötig sind. Dies kann nötig sein, um verschiedene richtige Antworten auf ein gleiches Format zu bringen, dann könnte in dem Feld erwartete Ausgabe auf die Ausgabe dieser Nachbearbeitungsfunktion getestet werden. Für einfache Aufgaben können diese Felder zunächst leer gelassen werden. Beispiel: Wird hier der Wert "myParser" angegeben, so wird nicht mit der intern generierten Funktion "studentInputAsFunc()" verglichen, sondern mit "myParser(studentInputAsFunc())". In diesem Fall muss die Funktion im Feld postCode definiert werden!
  • Erwartete Ausgabe: Hier sollte der Ausdruck stehen, der mit dem Testthat-Framework auf Gleichheit getestet werden soll. Hier ist zu beachten, dass es nötig sein kann Variablenersetzungen wie im Vorausgefüllten Code vorzunehmen. Wichtig: Variablen, die Text enthalten, müssen mit ' umgeben werden, damit sie korrekt in den R-Ausdruck eingebettet werden. Bsp.: '[var=text]'=='Text' wird zu 'Text'=='Text'
  • Toleranz (e^{...}): Der Vergleich mit dem Testthat-Framework wird mit Toleranz vorgenommen. -4 bedeutet hier, dass auf |erwartung-eingabe| <e^-4 geprüft wird.
  • Regelart: Hier kann man zwischen Absence und Presence wählen. Bei Absence darf die erwartete Ausgabe nicht vorhanden sein und bei Presence muss die erwartete Ausgabe vorhanden sein.
  • Punktemodus: Hier kann man zwischen Deduction und Gain wählen, d.h. ob die Punkte bei erfolgreichem Test abgezogen werden oder aufaddiert werden.
  • Punkte: Die Punkte, die je nach Punktemodus abgezogen oder aufaddiert werden. Am Ende werden die Punkte auf 0-100 Punkte eingeschränkt, d.h. es gibt keine negativen Punkte)
  • Feedback (im Fehlerfall): Wird dem Lernenden angezeigt, wenn dieser Test fehlschlägt.
Beispiel für einen dynamischen Test einer R Aufgabe

In dem Beispiel soll der Mittelwert berechnet werden. Der dynamische Checker schaut, ob das Ergebnis übereinstimmt. Wenn das Ergebnis der Mittelwert der angegebenen Zahlen ist, dann gibt dieser Checker 60 Punkte zurück.