Hinweise zur Benutzung der Programmieraufgaben für Lehrende

Falls Sie eigene Aufgaben erstellen möchten, wenden Sie sich bitte an das E-Learning-Team. Der Praktomat überprüft studentische Einreichungen von Source-Code anhand von Tests (JUnit, Checkstyle, Compiler), die vom Dozenten eingerichtet werden.

Beispiel-Aufgaben in LON-CAPA

  • /res/fhwf/ecult/Java - ca. 20 einfache Java-Programmieraufgaben, z.B. Hello World, Fibonacci-Rekursion, richtiges Formatieren,  Berechnung der Fakultät, arithmetisches Mittel
  • /res/fhwf/ecult/PythonMath - Berechnung der Fakultät in Python, Kurvenlänge und Riemannsche Trapezregel
  • /res/fhwf/ecult/setlx - ca 25 Mathematikaufgaben in der SetlX-Programmiersprache, z.B. Aufgaben zur Mengenlehre, Logik, Funktionen, Relationen, Graphentheorie und Gruppentheorie

 

Anlegen einer Programmieraufgabe in LON-CAPA

Zunächst sollte die Aufgabe mit dem Editor erstellt werden. Dann kann die Aufgabe im Autorenbereich in LON-CAPA wie folgt angelegt werden:

  • Eine neue Aufgabe vom Typ "eCULT-Programmieraufgabe mit Textfeld" erstellen. Alternativ kann auch eine leere Aufgabe erstellt werden.
  • Die Zip-Datei und die Problemdatei dem Editor entnehmen und nach LON-CAPA kopieren/hochladen. Die Zip-Datei muss veröffentlicht werden, um die Aufgabe zu testen. Der Pfad der Zip-Datei muss mit dem Pfad übereinstimmen, welcher in der LON-CAPA-Problemdatei steht.
  • Die Aufgabe speichern und ansehen. Durch Hochladen mindestens jeweils einer falschen und einer richtigen Lösung sollte die Aufgabe getestet werden.
  • Danach kann die Aufgabe veröffentlicht werden (bitte Metadaten eintragen).

 

Tipps für Aufgabentexte bei Aufgaben mit JUnit-Tests

Bei automatisch bewerteten Programmieraufgaben mit JUnit-Tests muss die Aufgabenbeschreibung genau mit dem übereinstimmen, was auch getestet wird. Insbesondere müssen folgende Angaben gemacht werden:

  • Name der Klasse
  • Name der Methode
  • Ein- und Ausgabeparameter der Methode (in Worten beschrieben oder per Signatur angegeben)
  • Falls die Tests Fehlerfälle überprüfen, muss angegeben werden, was die jeweiligen Ausgaben der Methode sind. Zum Beispiel: "Im Fall von negativen Zahlen soll die Methode 0 zurückgeben."

Beispiel eines Aufgabentexts:

Schreiben Sie eine Klasse "Fakultaet", die die Fakultät (n!) einer Zahl n berechnet. Diese Klasse soll eine Methode "fakultaet" enthalten, welche eine ganze Zahl übergeben bekommt und für diese die Fakultät berechnet und zurück gibt. Im Fall von negativen Zahlen soll die Methode 0 zurückgeben.

 

FAQ bezüglich Programmieraufgaben in LON-CAPA

  • Wie erstellt man solche Aufgaben? Bitte kontaktieren Sie uns. Wir haben einen Editor für die Erstellung der Aufgaben. In den Editor eingebunden sind auch ein Hilfedokument und eine weitere FAQ-Liste.
  • Wie viele Versuche sollte eine Programmieraufgabe erhalten? Am besten nicht mehr als drei. Die Studierenden sollten die Aufgabe erst in einer normalen Programmierumgebung lösen, bevor sie sie hochladen. LON-CAPA soll nicht als Compiler-Ersatz dienen, sondern die fertigen Lösungen entgegennehmen und bewerten.
  • Wie kann es zu Fehlern bei der Erstellung der Aufgabe kommen? Verwenden Sie keine Umlaute im Dateinamen der Aufgabendatei. Zulässige und empfohlene Zeichen sind: a-z, A-Z, 0-9, -, _ Beim Veröffentlichen können Sie im "Titel" beliebige Zeichen verwenden. Dieser Titel wird später den Studierenden im Kurs angezeigt.
  • Wie kann man ein Code-Template erstellen, das von den Studenten ergänzt werden soll? Im XML Editor kann das Code-Template in das <textfield> eingetragen werden.
  • Folgende Anleitung in Englisch für den Praktomat ist nicht mehr relevant. Aber die Tipps für Checkstyle, JUnit und DejaGnu sind noch aktuell.
  • Codemirror in LON-CAPA Aufgaben