Zusammenfassung
Eine wesentliche Komponente aller Tutorsysteme, insbesondere jener, die in der Vermittlung von Programmierkenntnissen eingesetzt werden, ist ein Debugger, der die Korrektheit der Schülerlösung überprüft. SHERLOCK (Mehmanesch & Krems, 1988) erweitert die herkömmlichen algorithmischen Methoden um Prozeduren, die Lehrer- oder Expertenverhalten in der Suche von in Anfängerprogrammen häufig zu beobachtenden semantischen oder algorithmischen Fehlern emulieren.
SHERLOCK ist ein wissensbasiertes System mit Blackboard-Architektur. Als Komponente eines Tutors für CommonLisp werden AI-Techniken (Blackboard, Truth main- tenance) verwendet, um sowohl das domänenspezifische, deklarative Experten wissen als auch die Debuggingheuristiken und -Strategien zu implementieren. Diese betreffen in erster Linie die Auswahl fehlerverdächtiger Codesegmente (z.B. Rekursionsaufruf) und ‘mentaler Aktivitäten’ (z.B. Evaluation von Code, syntaktische Überprüfung). In einer mehrstufigen Diagnose kann SHERLOCK in der Analyse von Schülerlösungen verwendet werden, die fehlerhaft sind und in denen die Fehler nicht durch eine ‘algorithmische’ Komponente (z.B. TALUS) identifiziert werden können.
Abstract
One essential part of cooparative systems — especially for those systems which teach programming languages — is a debugger, which analyzes the learners’ Solutions in order to determine whether they are correct. SHERLOCK (Mehmanesh & Krems, 1988) erweitert the Standard methods by procedures which emulate teacher or expert heuristics in identifying semantic and algorithmic bugs often ocurring in novice programs.
SHERLOCK (= System for Humanlike Elimination of Recursive LISP-bugs with Object-oriented and Clustered Knowledge) is a knowledge-based system with blackboard-architecture. As a component of a tutor for CommomLISP the system uses techniques from AI (black-board architecture, TMS) to implemefit debugging heuristics and strategies. These mainly guide the selection of error-suspicious code segments (e.g. the recursive case) and of bug-relevant subgoals (e.g. evaluation of code, syntactic check). In a multi-stage diagnosis SHERLOCK is used if it is known that the Student program is erranous and that the bug cannot be identified by an algorithmic debugging component (TALUS).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Literatur
Gilmore, D. J. (1990). Expert Programming Knowledge: A Strategie Approach. In Hoc, J.M., Green, T.R.G., Samurcay,R. & Gilmore, D.J., Psychology of Programming(pp. 223–234 ). London: Academic Press.
Gould, J. D. (1975). Some psychological evidence on how people debug Computer programs. International Journal of Man-Machine Studies, 7 (2), 151–182.
Gould, J. D. & Drongowski, P. (1974). An exploratory study of Computer program debugging. Human Factors, 16 (3), 258–277.
Gugerty, L. & Olson, G. M. (1986). Comprehension DifFerences in Debugging by Skilied and Novice Programmers. In E. Soloway & S. Iyengar (eds.), Empirical Studies of Programmers (pp. 13–27 ). Norwood: Ablex.
Johnson, W. L. (1986): Intention-Based Diagnosis of Novice Programming Errors. London: Pitman.
Katz, I. R. & Anderson, J. R. (1988). Debugging: An analysis of bug-location strategies. Human- Computer Interaction, 3, 351–399.
Kessler, C. M. & Anderson, J. R. (1986): A Model of Novice Debugging in LISP. In: E. Soloway & S. Iyengar (eds.): Empirical Studies of Programmers. Norwood: Ablex. 198–212.
Krems, J. (1988): Kognitionspsychologie und Wissensverarbeitung. In: G. Heyer, J. Krems amp; G. Görz: Wissensarten und ihre Darstellung. Heidelberg: Springer. 124–129.
Krems, J. (1991a). Zur Psychologie der Expertenschaft Habilitationsschrift, im Druck.
Krems, J. (1991b). Opportunistic Planning in Debugging. In Schmalhofer, F. & Wender, K.F. Cognition and Computer Programming. Norwood: Ablex. Im Druck.
Lang, T., Lang, K. & Auld, R. (1981). A longitudinal study of computer-user behaviour in a batch environment. Int. J. Man-Machine Studies, 14, 251–268.
Mehmanesh, H. (1987). Fehlersuche in einfachen rekursiven LISP-Funktionen. Diplomarbeit. Universität Regensburg.
Mehmanesh, H. & Krems, J. (1988). Sherlock.O - Kognitive Modellierung von Debuggingstrategien. In W. Hoeppner (ed.), German Workshop of AI-88 (pp. 215–225). Berlin: Springer.
Möbus, C. (1990). The Relevance of Computational Models of Knowledge Acquisition for the Design of Helps in the Prooblem Solving Monitor ABSYNT. Proceedings of the Int. Conf. on Adv. Res. on Computers in Education, 57–64.
Möbus, K., Schröder, O., Thole, H.-J. & Frank, K.D. (1990). Modeling Help-Based Knowledge Acquisition. In Schmalhofer, F. & Wender, K.F. Cognition and Computer Programming. Norwood: Ablex. Im Druck.
Murray, W.R. (1988). Automatic Program Debugging for Intelligent Tutoring Systems. San Mateo: M. Kaufmann.
Nanja, M. & Cook, C. R. (1987). An Analysis of the On-Line Debugging Process. In Olson, Gary, Sheppard, Sylvia & Soloway, Elliot, Empirical Studies of Programmers: Second Workshop (S. 172–184 ). Norwood: Ablex.
Schießl, M. (1991). Hypothesengeleitete Suche von Fehlern in Computerprogrammen. Diplomarbeit. Universität Regensburg.
Slatter, Ph. E. (1987): Building expert systems: cognitive emulation. Chichester: Ellis Horwood. Vessey, I. (1985). Expertise in Debugging Computer Programs: A process analysis. J. of Man-Machine Studies, 23. 459–494.
vanLehn, K. (1988). Towards a Theory of Impasse-Driven Learning. In H. Mandl & A. Lesgold (eds). Learning Issues for Intelligent Tutoring Systems S. 19–41. Berlin: Springer.
Vessey,I. (1989). Toward a theory of Computer program bugs: An empirical test. Int. J. of Man- Machine Studies, 30, 23–46.
Weber, G., Wender,. K.F. & Bögelsack, A. (1990). Representation of Programming Episodes in the ELM Model. In Schmalhofer, F. & Wender, K.F. Cognition and Computer Programming. Norwood: Ablex. Im Druck.
Youngs, E. A. (1974). Human errors in programming. Int. J. Man-Machine Studies, 6, 361–376.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Krems, J. (1991). Fehlersuche in einfachen LISP-Programmen: Emulation von Expertenstrategien in der Analyse von Schülerlösungen. In: Gorny, P. (eds) Informatik und Schule 1991. Informatik-Fachberichte, vol 292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-76982-5_39
Download citation
DOI: https://doi.org/10.1007/978-3-642-76982-5_39
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54619-1
Online ISBN: 978-3-642-76982-5
eBook Packages: Springer Book Archive