Python (JACK3): Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(15 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Aufgabeninhalt===
===Aufgabeninhalt===
* '''Titel:''' Hier kann optional der Name der Stufe eingetragen werden.
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.
* '''Aufgabentext:''' Im Aufgabentext steht die Aufgabenstellung. Mithilfe des Editors lässt sich die Aufgabenstellung einfach darstellen.
[[File:Aufgabentext.jpg|center|thumb|800px|Editor für den Aufgabentext]]
* '''Titel:''' Hier kann optional der Name des Aufgabenteils eingetragen werden.
* '''Aufgabentext:''' Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button ''source code'' [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button '''Ressource Einfügen''' lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.


===Feedback===
===Feedback===
* '''Gewichtung des Aufgabenteils:''' Gewichtung der Punktzahl einer Stufe innerhalb der Aufgabe.
* '''Gewichtung des Aufgabenteils:''' Gewichtung der Punktzahl eines Aufgabenteils innerhalb der Aufgabe.
* '''Verhalten bei internen Fehlern während der Überprüfung:''' Während der Überprüfung der studentischen Lösung können schon mal interne Fehler auftreten. Hier muss angegeben werden ob die '''Bearbeitung markiert und abgebrochen''' wird oder ob eine '''Nachricht ausgegeben und Bearbeitung fortgesetzt''' wird.
* '''Verhalten bei internen Fehlern während der Überprüfung:''' Während der Überprüfung der studentischen Lösung können Fehler auftreten. Hier muss angegeben werden ob die '''Bearbeitung markiert und abgebrochen''' wird oder ob eine '''Nachricht ausgegeben und Bearbeitung fortgesetzt''' wird.
* '''dynamischer Checker:''' Über den Button '''dynamischen Check hinzufügen''' wird ein weiterer Checker der Aufgabe hinzugefügt.
* '''Bewertungsverfahren:''' Hier lassen sich Checks definieren, die den eingereichten Code automatisch prüfen. Aktuell ist nur der [[Dynamischer Python Checker (JACK3)|'''dynamische Python Checker''']] verfügbar. Dieser führt Testfälle aus und zeichnet Traces auf.
** '''Gewichtung dieses Checks:''' Jede Python Aufgabe kann mehrere dynamische Checker haben. Die Bewertung dieser Checker kann unterschiedlich stark in der Gesamtbewertung einfließen.
** '''Gewichtung dieses Checks:''' Ein Python-Aufgabenteil kann mehrere Checks haben. Die Ergebnisse der Checks können unterschiedlich stark in der Gesamtbewertung einfließen.
** '''Timeout (Sekunden):''' Hier wird angegeben nach wievielen Sekunden der Checker abbrechen soll.
** '''Timeout:''' Nach wie vielen Sekunden ein Check abbrechen soll.
** '''Module-Pfad für den studentischen Code:''' Der Module-Pfad für studentischen Code teilt dem Checker mit, wohin er die studentische Einreichung legen soll. Diese Information muss beim Schreiben der Tests berücksichtigt werden, um den passenden Import zu machen. Dieses Feld muss ausgefüllt werden.
** '''Module-Pfad für den studentischen Code:''' Name des Python-Moduls, das den eingereichten Code enthält. Diese Information muss beim Schreiben des Testtreibers berücksichtigt werden, um den passenden Import zu wählen. Dieses Feld muss ausgefüllt werden.
** '''Testcode:''' Hier wird der Testtreiber für den dynamischen Test eingefügt.
** Unter dem Modul-Pfad wird der '''Testtreiber''' für den dynamischen Test geschrieben. Siehe [[Dynamischer Python Checker (JACK3)]] für weitere Informationen.
* '''Feedback beim Ü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.
* '''Feedback beim Überspringen:''' Der Lehrende kann jeden Python Aufgabenteil 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 diesen Aufgabenteil übersprungen hat. Den Text kann man durch Klicken in das Textfeld oder über das Icon [[File:Icon-Pencil.jpg|22px]] hinzufügen.
[[Datei:Python_Checker.JPG|center]]
[[File:Python_Checker.JPG|center|thumb|800px|Einstellungen eines dynamischen Python-Checks]]


===Hinweise===
{{JACK3:Hinweise}}
Jede Stufe kann beliebig viele Hinweise anbieten. Alle weiteren Information wie man Hinweise angibt sind [[Hinweise (JACK3)|hier]] zu finden.


===Verknüpfungen===
===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:  
* '''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:  
** '''Nächster oder Ende:''' Dies ist die default Einstellung. Nach der studentischen Einreichung dieses Aufgabenteils wird der nächste Aufgabenteil in der Reihe angezeigt. Wenn dies der letzte Aufgabenteil dieser Aufgabe ist, ist die Aufgabe beendet.
** '''Ende der Aufgabe:''' Die Aufgabe ist mit der Aktion des Lernenden beendet.
** '''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.
** '''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.
** '''#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):''' Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil 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.
* '''Nicht auf Feedback warten und sofort zum nächsten Aufgabenteil weiterschalten:''' Da Python-Checks je nach Anzahl der Testfälle und ihrer Komplexität länger dauern können, besteht die Möglichkeit, das Warten auf die Ergebnisse zu überspringen.
[[Datei:Verknuepfung_Java.JPG|center]]
[[File:Verknuepfung_Java.JPG|center|thumb|800px|Verknüpfung mit anderen Aufgabenteilen]]
* '''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.
* '''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.
* '''Nächster Aufgabenteil beim Überspringen (optional):''' Hier wird eingestellt welcher nächste Aufgabenteil angezeigt werden soll, wenn der Lernende den Aufgabenteil übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.


===Variablenupdates===
{{JACK3:Variablenupdates}}
Die Variablenupdates stehen nur zur Verfügung, wenn die Aufgabe auch Variablen hat. Es gelten die [[Variablenupdates (JACK3)|allgemeinen Informationen zum Anlegen von Variablenupdates]].


Die folgenden Variablen stehen speziell im Aufgabentyp "Python" zur Verfügung:
{{JACK3:Dateien für Studierende}}
 
=== Variablen ===
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen für diesen Aufgabentyp zur Verfügung:


{| class="wikitable"
{| class="wikitable"

Aktuelle Version vom 5. November 2024, 11:21 Uhr

Aufgabeninhalt

In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.

Editor für den Aufgabentext
  • Titel: Hier kann optional der Name des Aufgabenteils eingetragen werden.
  • Aufgabentext: Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button source code Icon-source code.jpg verwendet kann man HTML-Code nutzen. Über den Button Ressource Einfügen lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.

Feedback

  • Gewichtung des Aufgabenteils: Gewichtung der Punktzahl eines Aufgabenteils innerhalb der Aufgabe.
  • Verhalten bei internen Fehlern während der Überprüfung: Während der Überprüfung der studentischen Lösung können Fehler auftreten. Hier muss angegeben werden ob die Bearbeitung markiert und abgebrochen wird oder ob eine Nachricht ausgegeben und Bearbeitung fortgesetzt wird.
  • Bewertungsverfahren: Hier lassen sich Checks definieren, die den eingereichten Code automatisch prüfen. Aktuell ist nur der dynamische Python Checker verfügbar. Dieser führt Testfälle aus und zeichnet Traces auf.
    • Gewichtung dieses Checks: Ein Python-Aufgabenteil kann mehrere Checks haben. Die Ergebnisse der Checks können unterschiedlich stark in der Gesamtbewertung einfließen.
    • Timeout: Nach wie vielen Sekunden ein Check abbrechen soll.
    • Module-Pfad für den studentischen Code: Name des Python-Moduls, das den eingereichten Code enthält. Diese Information muss beim Schreiben des Testtreibers berücksichtigt werden, um den passenden Import zu wählen. Dieses Feld muss ausgefüllt werden.
    • Unter dem Modul-Pfad wird der Testtreiber für den dynamischen Test geschrieben. Siehe Dynamischer Python Checker (JACK3) für weitere Informationen.
  • Feedback beim Überspringen: Der Lehrende kann jeden Python Aufgabenteil 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 diesen Aufgabenteil übersprungen hat. Den Text kann man durch Klicken in das Textfeld oder über das Icon Icon-Pencil.jpg hinzufügen.
Einstellungen eines dynamischen Python-Checks

Hinweise

Jeder Aufgabenteil kann beliebig viele Hinweise anbieten. Weitere Informationen zu Hinweisen siehe hier.

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:
    • Nächster oder Ende: Dies ist die default Einstellung. Nach der studentischen Einreichung dieses Aufgabenteils wird der nächste Aufgabenteil in der Reihe angezeigt. Wenn dies der letzte Aufgabenteil dieser Aufgabe ist, ist die Aufgabe beendet.
    • 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 ein beliebiger Aufgabenteil dieser Aufgabe): Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.
  • Nicht auf Feedback warten und sofort zum nächsten Aufgabenteil weiterschalten: Da Python-Checks je nach Anzahl der Testfälle und ihrer Komplexität länger dauern können, besteht die Möglichkeit, das Warten auf die Ergebnisse zu überspringen.
Verknüpfung mit anderen Aufgabenteilen
  • 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, wenn der Lernende den Aufgabenteil übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.

Variablenupdates

Mithilfe von Variablenupdates lassen sich Aufgaben-Variablen bei bestimmten Events ändern, z.B. können diese die Eingabe zur späteren Verwendung zwischenspeichern oder Zufallsvariablen neu auswürfeln. Diese Funktion ist für alle Aufgabenteile, unabhängig von ihrem Typ verfügbar, wenn Variablen definiert sind. Es gelten die allgemeinen Informationen zum Anlegen von Variablenupdates.

Dateien

Im Reiter Dateien können Dateien Studierenden zum Download zur Verfügung gestellt werden. Diese Funktion ist für alle Aufgabenteile, unabhängig von ihrem Typ, verfügbar, wenn Dateien in dieser Aufgabe hochgeladen wurden. Hier können Lehrende einzelne Dateien auswählen, die Lernende während der Bearbeitung herunterladen können.

Datei, die zum Aufgabenteil hinzugefügt werden kann
Hinzugefügte Datei aus Studierendensicht mit einer zusätzlichen Beschreibung

Über den Icon Plus.PNG-Button wird eine Datei der oberen Liste hinzugefügt, über "-" wird die Datei wieder entfernt. Es kann zusätzlich eine benutzerdefinierte Beschreibung eingegeben werden, die Studierenden angezeigt wird.

Variablen

Die folgenden JACK-Variablen stehen für diesen Aufgabentyp zur Verfügung:

Name Beschreibung
[input=code] Der eingereichte Python-Code