FAQ
© 2015 Staats- und Universitätsbibliothek
Hamburg, Carl von Ossietzky

Öffnungszeiten heute09.00 bis 24.00 Uhr alle Öffnungszeiten

Eingang zum Volltext in OPUS

Hinweis zum Urheberrecht

Dissertation zugänglich unter
URN: urn:nbn:de:gbv:18-51417
URL: http://ediss.sub.uni-hamburg.de/volltexte/2011/5141/


USING WEIGHTED CONSTRAINTS TO BUILD A TUTORING SYSTEM FOR LOGIC PROGRAMMING

Gewichtete Constraints als Basis für Tutorensysteme für die Logikprogrammierung

Le, Nguyen-Thinh

pdf-Format:
 Dokument 1.pdf (3.405 KB) 


Freie Schlagwörter (Deutsch): Intelligente Tutorensysteme , Logikprogrammierung , kognitive Modellierung , gewichtete constraint-basierte Fehlerdiagnose
Freie Schlagwörter (Englisch): Intelligent tutoring systems , logic programming , cognitive modeling , weighted constraint-based error diagnosis
Basisklassifikation: 54.51 , 54.71 , 54.72
Institut: Informatik
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Menzel, Wolfgang (Prof. Dr.-Ing.)
Sprache: Englisch
Tag der mündlichen Prüfung: 30.03.2011
Erstellungsjahr: 2011
Publikationsdatum: 19.05.2011
Bemerkung: Fehlerhaftes Prüfungsdatum in der PDF-Datei. Korrektes Datum 30.03.2011
Kurzfassung auf Englisch: Programming problems constitute a significant challenge for the development of tutoring
systems, because they can be solved in many different ways. To help the student solve a programming problem effectively, the tutoring system must be able to cover a large space of possible solutions. If a student solution has shortcomings, the system must be able to identify the reason why that solution is not correct. In the state of the art, one of the most promising approaches to modelling knowledge for tutoring systems is the constraint-based technique. This approach uses constraints to model a space of correct solutions, rather than enumerating them. The goal of this thesis is to investigate the applicability of this approach to develop tutoring systems for programming with the focus on logic programming.

This thesis presents a two-stage coaching strategy as a tutoring model which is intended to support the student in analysing a programming task prior to the implementation itself. For both coaching stages, the solution space is modelled on the basis of constraints in combination with a semantic table which is used to represent semantic requirements for a specific programming problem. In addition, transformation rules are used to extend the space of possible implementations. To be able to provide qualitative feedback on the student solution, hypotheses about the student’s solution variant need to be evaluated with respect to their plausibility. For this purpose, this thesis proposes to enrich each constraint with a weight value indicating the importance of that constraint. Constraint weights serve three purposes. They are used to 1) control the process of error diagnosis, 2) to hypothesize the student’s intention in terms of the implemented solution strategy, and 3) to prioritize feedback messages according to the severity of diagnosed errors.

To explore the capability of weighted constraints and the usefulness of the twostage coaching model, a web-based tutoring system for logic programming has been implemented. Two evaluation studies have been conducted for this system. The first one showed that the system achieves a high diagnostic accuracy. In 90.8% of the student implementations the solution strategy could be hypothesized correctly and in 92.7% of cases, in which the solution strategy could be determined, errors were diagnosed correctly. The second study provided the evidence that the system did contribute to the improvement of the students’ programming skills. The students who used the system outperformed their peers of the control group by an effect size between 0.23 and 0.33 standard deviations.
Kurzfassung auf Deutsch: Programmierprobleme stellen eine große Herausforderung für die Entwicklung eines Tutorensystems dar, weil sie auf viele verschiedenen Art und Weise gelöst werden können. Um dem Studenten beim Lösen eines Programmierproblems effektiv helfen zu können, muss das Tutorensystem einen großen Raum von möglichen Lösungen abdecken und die Ursache eines Fehlers identifizieren können, wenn eine Lösung fehlerhaft ist. Die constraint-basierte Technik ist einer der viel versprechenden Ansätze zur Modellierung von Wissen für Tutorensysteme. Das Ziel dieser Arbeit ist, die Verwendbarkeit dieses Ansatzes in der Domäne der Programmierung zu untersuchen. Dabei fokussiert die Arbeit auf Logikprogrammierung.

Diese Arbeit stellt ein zweistufiges Tutorenmodell vor: Analysieren einer Aufgabenstellung vor der Implementierung. Für beide Schritte wird der Lösungsraum auf der Grundlage von Constraints im Zusammenspiel mit einer Semantiktabelle modelliert. Die Semantiktabelle dient dazu, die semantischen Anforderungen einer spezifischen Aufgabe zu repräsentieren. Außerdem wird von Transformationsregeln Gebrauch gemacht, um die Abdeckung des Lösungsraums zu vergrößern. Um hochwertige Rückmeldungen zu einer Studentenlösung liefern zu können, müssen Hypothesen über die Lösungsvariante des Studenten hinsichtlich ihrer Plausibilität bewertet werden. Zu diesem Zweck schlägt diese Arbeit vor, jedes Constraint mit einem Gewicht zu erweitern. Constraint-Gewichte werden eingesetzt, 1) um das Fehlerdiagnoseverfahren zu steuern; 2) um eine Entscheidung für die plausibelste Hypothese über die Intention des Studenten im Hinblick auf die implementierte Lösungstrategie zu treffen; und 3) um Prioritäten für die Fehlernachrichten zu setzen. Mit Hilfe von gewichteten Constraints und dem zweistufigen Tutorenmodell wurde ein Tutorensystem für die Logikprogrammierung entwickelt.

Im Rahmen einer Offline-Evaluation wurde es gezeigt, dass das System eine relative hohe Diagnosegenauigkeit erreichte. In 90,8% der Implementierungen konnte die Lösungsstrategie korrekt bestimmt werden, und in 92,7% dieser Fälle wurden auch die Fehler korrekt diagnostiziert. Eine Online-Evaluation mit Studenten einer Lehrveranstaltung zur Logikprogrammierung ergab, dass durch die Arbeit mit dem System eine Verbesserung der Fertigkeiten in der Logikprogrammierung mit einer Effektstärke von zwischen 0,23 und 0,33 Standardabweichungen erreicht werden konnte.

Zugriffsstatistik

keine Statistikdaten vorhanden
Legende