Constraint-basierte Diagnose für interaktive Lernsysteme
Final Report Abstract
Softwareentwicklungsaufgaben stellen eine große Herausforderung für den Einsatz von comu putergestützten Lernsystemen dar, da sie dem Programmierer immer einen sehr großen Spielraum für individuelle Lösungen eröffnen. Dieser Spielraum ergibt sich vor allem dadurch, dass typischerweise zwischen mehreren alternativen Lösungsstrategien gewählt werden kann, für die es dann wiederum zahlreiche Implementierungsvarianten gibt. Möchte man diesen Spielraum nicht durch entsprechende Vorgaben künstlich einengen, muss das Lehrsystem in die Lage versetzt werden, den Raum korrekter Lösungen möglichst vollständig abzubilden. Hierfür eignen sich constraint-basierte Modellierungsansätze besonders gut. Constraint-Verletzungen können dann als diagnostische Information über Mängel in der Lösung interpretiert werden. Damit das System in einem solchen Fall hilfreiche Hinweise zur Fehlerkorrektur geben kann, müssen Fehlererklärungen und Korrekturhinweise immer sehr genau auf die jeweils vom Nutzer gewählte Lösungsstrategie zugeschnitten sein. Andernfalls besteht die Gefahr gravierender Missverständnisse. Die im Rahmen des Projektes entwickelte und evaluierte Diagnosestrategie ist die erste, die sich dieser Probleme in systematischer Weise annimmt. Die prototypische Systemrealisierung, die nunmehr vorliegt, konzentriert sich auf Aufgabenstellungen aus der Logikprogrammierung, die sich wegen ihres deklarativen Charakters besonders gut für eine statische Diagnose am Programmtext eignet, gleichzeitig aber auch prozedurale Elemente einschließt. Große Lösungsräume lassen sich nicht mehr allein durch die Aufzählung von Musterlösungen beschreiben. An deren Stelle treten in dem hier realisierten Ansatz generalisierte Programmschemata, die jeweils einer Lösungsstrategie entsprechen. Deren obligatorische Elemente lassen sich unter Verwendung von Constraints auf die gegebene Schülerlösung abbilden. Constraint-Verletzungen geben Hinweise auf das Fehlen bzw. die fehlerhafte Verwendung bestimmter Lösungselemente. Es hat sich gezeigt, dass sich durch die explizite Modellierung von Lösungsstrategien fehlerhafte Diagnosen weitgehend vermeiden lassen. Gleichzeitig bietet die Verwendung generalisierter Programmschemata eine gute Grundlage zur Erweiterung der Aufgabenbasis auch durch Nichtspezialisten. Durch die explizite Behandlung alternativer Lösungsstrategien ergibt sich jedoch eine neue Quelle für diagnostische Mehrdeutigkeit: Zusätzlich zur Auswahl zwischen konkurrierenden Interpretationsvarianten besteht nunmehr auch die Notwendigkeit zur Identifizierung der durch den Studierenden jeweils intendierten Lösungsstrategie. Ohne geeignete Kompensationsmaßnahmen würde dies zu einer Vielzahl von alternativen, allerdings überwiegend irrelevanten und damit irreführenden Fehlerbeschreibungen führen. Um dennoch präzise Diagnoseergebo nisse bereitstellen zu können, wurde der constraint-basierte Ansatz um eine heuristische Komponente in Form von Constraint-Gewichten erweitert. Diese Gewichte dienen nicht nur zur Auswahl einer plausiblen Lösungsstrategie, sondern auch zur Sortierung der Fehlerhinweise nach ihrer Relevanz. Der Prototyp wurde sowohl off-line unter Verwendung von Klausurlösungen aus vergangenen Jahren, als auch on-line im Rahmen der Präsenzlehre evaluiert. Dabei konnte die jeweils gewählte Lösungsstrategie in 87.9% aller Fälle korrekt ermittelt werden. 92.7% der Fehler wurden richtig diagnostiziert. Im Vergleich zu einer Kontrollgruppe, die die gleichen Aufgaben bearbeitet haben, konnten die Nutzer des Lernsystems ihre Programmierfertigkeiten bereits nach einer ca. einstündigen Nutzung signifikant verbessern. Dabei lag der Leistungszuwachs mit einer Effektstärke (Cohen’s d) von ca. 0.3 Standardabweichungen höher als in der Kontrollgruppe. Durch die Ergebnisse das Projekts konnte gezeigt werden, dass auf der Basis eines Constraintbasierten Diagnoseansatzes auch in strukturell sehr anspruchsvollen Aufgabengebieten wie der Programmierung, für die eine Vielzahl von Lösungsalternativen charakteristisch ist, qualitativ hochwertige und für den Schüler hilfreiche Fehlererklärungen ermittelt werden können. Als Grundlage der Fehlerdiagnose kommen dabei ausschließlich Bedingungen für die Korrektheit einer Lösung zur Anwendung, so dass sich eine Antizipation der möglichen Fehler vollständig erübrigt. Damit wird ein wesentlicher Nachteil alternativer Diagnosetechniken überwunden, der darin besteht, dass selbst bei einer Beschränkung auf typische Fehlerfälle eine hinreichend vollständige Erfassung der erforderlichen Fehlerinformation für jede einzelne Aufgabenstellung mit einem extrem hohen Erarbeitungsaufwand verbunden ist. Das derzeitige Prototypsystem verwendet generalisierte Programmschemata als zentrales Mittel zur Modellierung der Korrektheitsforderungen. Die Abbildung auf die Lösung des Schülers erfolgt dann mit Hilfe von gewichteten Constraints und unter Zuhilfenahme von Regeln für Aquivalenztransformationen. Dadurch, dass das System von den Komponenten der generalisierten Programmschemata auf die notwendigen Elemente der Schülerlösung schließt, beschränkt sich seine Erklärungsfähigkeit im wesentlichen auf syntaktische Abweichungen von den Modellforderungen, z.B. zur Existenz bestimmter Programmierkonstrukte. Eine Begründung zu deren Notwendigkeit kann derzeit jedoch noch nicht gegeben werden. Hierzu wäre eine entsprechende Anreicherung der generalisierten Programmschemata oder aber eine (fehlersensitive) semantische Modellierung der abstrakten Maschine erforderlich. Die hierfür benötigten wissenschaftlich-technischen Grundlagen, sowie das Zusammenspiel mit einer eher form-basierten Diagnose sollten daher Gegenstand künftiger Forschungsarbeiten sein.
Publications
- (2006) Problem solving process oriented diagnosis in logic programming. In: Proceedings of the 14th International Conference on Computers in Education, pages 63 - 70. IOS Press
Nguyen-Thinh Le and Wolfgang Menzel
- (2006) Using Prolog design patterns to support constraint-based error diagnosis in logic programming. In: K. Ashley, V. Aleven, N. Pinkwart, and C. Lynch, editors, Proceedings of the Workshop on Intelligent Tutoring Systems for Ill-Defined Domains, the 8th Conference on ITS, pages 38 - 46
Nguyen-Thinh Le
- (2007) Diagnosing errors in logic programming - The case of an illdefined domain. Technical Report, University of Hamburg, Department of Informatics, FBI-HH-B-280/07
Nguyen-Thinh Le
- (2007) Using constraint-based modelling to describe the solution space of ill-defined problems in logic programming. In: Howard Leung, Frederick Li, Rynson Lau and Qing Li, editors, Advances in Web Based Learning - ICWL 2007, Revised Papers. Lecture Notes in Computer Science, volume 4823, pages 367 - 379, Springer-Verlag, Berlin, Heidelberg, New York
Nguyen-Thinh Le and Wolfgang Menzel
- (2008) The coverage of error diagnosis in logic programming using weighted constraints - the case of an ill-defined domain. In: Proceedings of the 21st International Florida Artificial Intelligence Research Society Conference, pages 421 - 426
Nguyen-Thinh Le and Wolfgang Menzel
- (2008) Towards an evaluation methodology of diagnostic accuracy for ill-defined domains. In: Proceedings of the 16th International Conference on Computers in Education, pages 117 - 124
Nguyen-Thinh Le and Wolfgang Menzel
- (2009) Evaluation of a constraint-based homework assistance system for logic programming. In: Proceedings of the 17th International Conference on Computers in Education, pages 51 - 58
Nguyen-Thinh Le, Wolfgang Menzel, and Niels Pinkwart
- (2009) Using weighted constraints to diagnose errors in logic programming - The case of an ill-defined domain. International Journal on Artificial Intelligence in Education, vol. 19, no. 4, pages 381 - 400
Nguyen-Thinh Le and Wolfgang Menzel
- (2010) Considering Ill-Definedness of Problems From The Aspect Of Solution Space. In: Hans W. Guesgen und R. Charles Murray (Hrsg.) Proc. 23rd International Florida Artificial Intelligence Conference, FLAIRS-2010
Nguyen-Thinh Le, Wolfgang Menzel und Niels Pinkwart