Skip to main content

Fehlersuche in einfachen LISP-Programmen: Emulation von Expertenstrategien in der Analyse von Schülerlösungen

  • Conference paper
  • 86 Accesses

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 292))

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).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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.

    Google Scholar 

  • Gould, J. D. (1975). Some psychological evidence on how people debug Computer programs. International Journal of Man-Machine Studies, 7 (2), 151–182.

    Article  MATH  Google Scholar 

  • Gould, J. D. & Drongowski, P. (1974). An exploratory study of Computer program debugging. Human Factors, 16 (3), 258–277.

    Google Scholar 

  • 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.

    Google Scholar 

  • Johnson, W. L. (1986): Intention-Based Diagnosis of Novice Programming Errors. London: Pitman.

    MATH  Google Scholar 

  • Katz, I. R. & Anderson, J. R. (1988). Debugging: An analysis of bug-location strategies. Human- Computer Interaction, 3, 351–399.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Krems, J. (1988): Kognitionspsychologie und Wissensverarbeitung. In: G. Heyer, J. Krems amp; G. Görz: Wissensarten und ihre Darstellung. Heidelberg: Springer. 124–129.

    Google Scholar 

  • Krems, J. (1991a). Zur Psychologie der Expertenschaft Habilitationsschrift, im Druck.

    Google Scholar 

  • Krems, J. (1991b). Opportunistic Planning in Debugging. In Schmalhofer, F. & Wender, K.F. Cognition and Computer Programming. Norwood: Ablex. Im Druck.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Mehmanesh, H. (1987). Fehlersuche in einfachen rekursiven LISP-Funktionen. Diplomarbeit. Universität Regensburg.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Murray, W.R. (1988). Automatic Program Debugging for Intelligent Tutoring Systems. San Mateo: M. Kaufmann.

    MATH  Google Scholar 

  • 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.

    Google Scholar 

  • Schießl, M. (1991). Hypothesengeleitete Suche von Fehlern in Computerprogrammen. Diplomarbeit. Universität Regensburg.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Vessey,I. (1989). Toward a theory of Computer program bugs: An empirical test. Int. J. of Man- Machine Studies, 30, 23–46.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Youngs, E. A. (1974). Human errors in programming. Int. J. Man-Machine Studies, 6, 361–376.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics