R (JACK3)

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Der R-Aufgabenteil ist ein asynchron geprüfter Aufgabenteil, der es ermöglicht R-Code dynamisch und statisch zu prüfen. Bei mehrstufigen Aufgaben können vom Lernenden nach dem Einreichen schon weitere Aufgabenteile bearbeitet werden, während die asynchronen Checks im Hintergrund noch laufen.

Aufgabeninhalt

  • Titel: An dieser Stelle kann optional ein Name für die Stufe eingegeben werden.
  • Aufgabentext: In das Feld kommt die Aufgabenstellung. Mithilfe des Editors lässt sich diese leicht formatieren. Über den Button lassen sich auch Bilder in den Text einfügen.
  • Vorausgefüllter Code: Bei den R Aufgaben gibt es die Möglichkeit den Lernenden bereits einen vorausgefüllten Code zur Verfügung zu stellen. Diesen müssen sie dann nur noch vervollständigen. An allen Stellen lässt sich hier auch mit Variablen arbeiten. Die werden wie bei den anderen Aufgaben entsprechend ersetzt.

Feedback

  • Gewichtung des Aufgabenteils: Gewichtung der Punktzahl dieser Stufe innerhalb der ganzen Aufgabe
  • Evaluierungsregel: In dem Eingabefeld gibt man die Regel an wie die Punkte aus den verschiedenen Checkern zusammengesetzt werden. Jeder der Checker kann dabei unterschiedlich gewichtet sein. Unter dem Eingabefeld sind die konfigurierten Variablen aufgelistet. Sind für die Variablen Namen konfiguriert worden, so werden diese dort mit aufgeführt. Variablen werden mit den Symbolen #{} eingeschlossen. Wird das Feld leer gelassen werden alle Testfallgruppen gleich gewichtet gewertet.
  • Feedback beim Überspringen: Wenn der Haken gesetzt wurde kann der Lernende die Aufgabe überspringen. Dazu gibt es die Möglichkeit einen Text dem Lernenden anzuzeigen, wenn dieser die Stufe übersprungen hat. Den Text kann man wieder über die Icons Schlüssel oder Stuft hinzufügen.

Hinweise

Jede Stufe kann beliebig viele Hinweise anbieten. Alle weiteren Informationen 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 gehen soll, wenn der Lernende eine Lösung eingereicht hat. Es gibt die folgenden Möglichkeiten:
    • Ende der Aufgabe: Die Aufgabe ist mit der Aktion des Lernenden beendet.
    • Aufgabenteil wiederholen: Dieser Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion lässt sich gut bei Übungsaufgaben einsetzen.
    • #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.

Checker

Der R-Aufgabenteil hat ein sehr flexibles Konzept, wie asynchrone Checks zusammengestellt werden:

  • Zunächst können beliebig viele Gruppen von Testfällen angelegt werden.
  • Jede Gruppe kann aus beliebig vielen statischen und dynamischen Checks bestehen.
  • Jeder Gruppe wird eine Punktzahl zugewiesen, indem die Punkte jedes individuellen Checks aufaddiert (Gain) bzw. abgezogen (Deduction) werden.
  • Die Punktzahl jeder Gruppe kann in der Evaluierungsregel im Feedback referenziert werden (siehe oben).

Dynamische Testfälle 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:
  • 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.
  • 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.
  • Toleranz (e^{...}): Der Vergleich mit dem Testthat-Framework wird mit Toleranz vorgenommen. -4 bedeutet hier, dass auf |erwartung-eingabe| <^-4 geprüft wird.
  • Regelart: Hier kann man zwischen Absence und Presence wählen.
  • 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.

Statische Testfälle

Testfallgruppen Konfiguration