Bachelorarbeit
Webbasierte Programmieraufgaben in der digitalen Lehre
Completion
2022/10
Research Area
Students
Omar Al Masalma
Advisers
Description (German)
Durch die Digitalisierung der Lehre eröffnen sich für Lehrende neue Werkzeuge zur Vermittlung und Überprüfung des Wissensstands der Lernenden. Lehrende können durch Einsatz von automatisiert auswertbaren Aufgabentypen zumindest teilweise entlastet werden. Ein prominentes Beispiel ist die Verwendung von Multiple-Choice-Fragen zur Wissensüberprüfung, für die die korrekten Antworten, als auch wahlweise Lösungshinweise vorgegeben werden können.
Im Kontext des Informatikstudiums spielen Programmieraufgaben eine zentrale Rolle, welche jedoch nur selten automatisiert überprüft werden können. Einige Lernplattformen stellen Lehrenden unterstützende Werkzeuge für die Auswertung zur Verfügung, häufig Regular Expressions zum Ergebnisabgleich. Bei komplexeren Aufgaben reicht diese Form der Unterstützung jedoch nicht aus, sodass eine manuelle Korrektur erforderlich ist.
Im Rahmen dieser Bachelorarbeit soll ein konfigurierbarer web-basierter Baustein entwickelt werden. Dieser soll in Form einer Web Component realisiert werden, welche in bestehende Systeme integrierbar ist. Lernende sollen bei der Eingabe ihrer Lösung durch Syntax-Highlighting unterstützt werden und, falls durch den Lehrenden konfiguriert, auch Hinweise bei inkorrekter Syntax erhalten. Die Auswertung der eingereichten Lösungen soll durch mehrere Auswertungsarten erfolgen: 1) Ergebnisüberprüfung des Programms bzw. ausgewählter Funktionen, 2) Ausführen von vordefinierten oder durch den Lehrenden individuell erstellten Testfällen, sowie 3) eine kriterien-basierte Überprüfung.
Ziel dieser Bachelorarbeit ist die Entwicklung und Realisierung eines Konzepts zur automatisierten Auswertung von Programmieraufgaben als Web Component. Dazu muss der Stand der Technik bezüglich automatisiert auswertbarer Programmieraufgaben analysiert werden. Anschließend muss ein Konzept entwickelt werden, dass die zuvor genannten Auswertungsarten berücksichtigt. Um die Machbarkeit und Korrektheit zu demonstrieren, ist eine prototypische Implementierung und Evaluation mit realistischen Beispielaufgaben und -lösungen erforderlich.