Thema: | Programming Tutor Assistance (ProTA), Semantische Quelltext-Analyse von Programmierübungen |
Note: | 1.0 |
Institut: | Institut für Angewandte Informatik und Formale Beschreibungsverfahren der Universität Karlsruhe |
Referent: | Prof. Dr. Detlef Seese |
Betreuer: | Dipl.Wi.-Ing. Roland Küstermann |
Eingereicht: | 12. Januar 2006 |
Das Institut für Angewandte Informatik und Formale Beschreibungsverfahren (AIFB) der Universität Karlsruhe setzt das Learning Management System ILIAS und WebEx ein, um die Vorlesungen "Grundkurs Programmieren I in Java" und "Programmieren kommerzieller Systeme" zu unterstützen.
Im Learning Management System werden die Vorlesungsinhalte angeboten. Zusätzlich bekommt der Student Übungsaufgaben gestellt, deren Quelltext in Form eines Lückentextes präsentiert wird. Der Student gibt die Lösungen seiner Übungsaufgaben über WebEx ab. WebEx compiliert die Lösungen. Erkennt der Compiler syntaktische Fehler, gibt WebEx die Fehlermeldungen an den Studenten zurück. Lösungen, die fehlerfrei compiliert werden konnten, werden für die manuelle Korrektur der Tutoren archiviert.
ILIAS und WebEx sollen um das System ProTA erweitert werden, um dem Studenten automatisch Rückmeldung und Hilfestellung zu semantischen Fehlern geben zu können. Zu diesem Zweck stellt ProTA den Tutoren eine Oberfläche zur Korrektur der Übungsaufgaben zur Verfügung. Die Korrekturen der Tutoren werden im System gespeichert, um auf deren Grundlage wiederkehrende semantisch äquivalente Lösungen automatisch verarbeiten zu können. Aufgrund der Annahme, dass sich semantisch äquivalente Lösungen häufig wiederholen, können die Tutoren in ihrer Korrekturarbeit entlastet werden.
Semantisch äquivalente Lösungen unterscheiden sich ausschließlich in syntaktischen Variationen. Bevor eine neu eingereichte Lösung mit einer dem System bereits bekannten Lösung verglichen werden kann, müssen syntaktische Variationen eliminiert werden. Deshalb wird der Quelltext einer Lösung normiert, indem semantisch äquivalente Elemente in ein zuvor festgelegtes Element transformiert werden.
Das in dieser Arbeit vorgestellte System wird mithilfe von 15573 Übungsaufgaben der Semester WS03/04, SS04, WS04/05 getestet. Es zeigt sich, dass semantisch äquivalente Lösungen häufig wiederkehren und diese von ProTA als solche erkannt werden. ProTA liefert die zur Lösung gespeicherte Korrektur und entlastet damit den Tutor, der diese Lösung nicht erneut korrigieren muss. Von den eingegebenen Lösungen konnten mehr als 30 Prozent automatisch korrigiert werden.