Skip to main content

Knowledge base compilation and the language design game

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 608))

Abstract

The ProgramCritic is a system designed to analyze and critique students' computer programs. After analyzing a program, the ProgramCritic provides the student with a list of Englishlanguage comments detailing the strengths and weaknesses of the student's program. The foundation of the ProgramCritic's analytic abilities is a set of “knowledge bases” which describe a range of programming problems and the ways in which parts of the problem can be solved. Several other systems have been built by other researchers with a functionality similar to the ProgramCritic's; notable among them is PROUST [Johnson 1986], Differences between the ProgramCritic and PROUST are described through a detailed explanation of how one might build a compiler for PROUST's knowledge base language. Shortcomings with PROUST's knowledge base language are pointed out one-by-one and for each shortcoming a fix is proposed. Integrating the proposed fixes together serves to explain the knowledge base language used in the ProgramCritic.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anderson, John R. (1983) The Architecture of Cognition, Harvard University Press, Cambridge, MA.

    Google Scholar 

  2. Brown, J.S. and Burton, R. (1978) Diagnostic models for procedural bugs in basic mathematics skills, Cognitive Science, 2, 155–192.

    Google Scholar 

  3. Brown, John Seely and VanLehn, Kurt (1980) Repair theory: a generative theory of bugs in procedural skills, Cognitive Science, 2.

    Google Scholar 

  4. Chapman, David et al. (1987) How to be a graduate student at the MIT AI Lab, MIT AI Lab Memo, Cambridge, MA.

    Google Scholar 

  5. Charniak, Eugene, Riesbeck, Christopher, McDermott, Drew and Meehan, James (1986) Artificial Intelligence Programming, 2nd Edition, Lawrence Erlbaum associates.

    Google Scholar 

  6. Johnson, W. Lewis (1985) Intention-Based Diagnosis of Errors in Novice Programs, Yale University Computer Science Department Research Report #395, New Haven, CT.

    Google Scholar 

  7. Johnson, W. Lewis (1986) Intention-Based Diagnosis of Novice Programming Errors, Morgan Kaufmann, Los Altos, CA.

    Google Scholar 

  8. Johnson, W. Lewis and Soloway, Elliot (1985a) Micro-PROUST, Yale University Computer Science Department Research Report #402, New Haven, CT.

    Google Scholar 

  9. Johnson, W. Lewis and Soloway, Elliot (1985b) PROUST: An automatic debugger for Pascal programs, BYTE, April 1985, 179–190.

    Google Scholar 

  10. Kuhn, Thomas S. (1962) The Structure of Scientific Revolutions, 2nd Edition, U of Chicago Press, Chicago.

    Google Scholar 

  11. Latour, Bruno (1987) Science in Action: How to follow scientists and engineers through society, Harvard U. Press, Cambridge, MA.

    Google Scholar 

  12. Minton, S., Carbonell, J.G., Knoblock, CA., Kuokka, D.R., Etzioni, O., and Gil, Y. (1989) Explanation-based Learning: A Problem Solving Perspective, Artificial Intelligence 40, 63–118.

    Google Scholar 

  13. Sack, Warren (1990) Technical Description of the Analytic Component: A Pattern Matcher for Analyzing Computer Programs. (Unpublished Working Paper) Princeton, NJ: Educational Testing Service.

    Google Scholar 

  14. Sack, Warren (1991) Knowledge Engineer's Manual: How to Build KBs for the ProgramCritic. (Unpublished Working Paper) Princeton, NJ: Educational Testing Service.

    Google Scholar 

  15. Sack, Warren, Soloway, Elliot and Bennett, Randy (in preparation) The Advanced Placement Computer Science Practice and Feedback System.

    Google Scholar 

  16. Sack, Warren and Bennett, Randy (patent pending) United States Patent Application: Method and System for Interactive Computer Science Testing, Analysis and Feedback.

    Google Scholar 

  17. Schank, Roger and Abelson, Robert (1977) Scripts Plans Goals and Understanding: An Inquiry into Human Knowledge Structures, Lawrence Erlbaum Associates, Hillsdale, NJ.

    Google Scholar 

  18. Soloway, Elliot and Ehrlich, Kathrine (1984) Empirical Investigations of Programming Knowledge, IEEE Transactions on Software Engineering SE-10(5).

    Google Scholar 

  19. Steele, Guy Lewis and Sussman, Gerald Jay (1975) Scheme: An interpreter for the extended lambda calculus, MIT Artificial Intelligence Laboratory Memo 349, Cambridge, MA.

    Google Scholar 

  20. Sterling, Leon and Shapiro, Ehud (1986) The Art of Prolog, MIT Press, Cambridge, MA.

    Google Scholar 

  21. Sussman, Gerald Jay and Abelson, Harald (1985) Structure and Interpretation of Computer Programs, MIT Press, Cambridge, MA.

    Google Scholar 

  22. van Harmelen, F, and Bundy, A. (1988) Explanation-based generalization = Partial evaluation, Artificial Intelligence 36401–412.

    Google Scholar 

  23. Warren, D.H.D. (1977) Implementing Prolog: Compiling Predicate Logic Programs, DAI Report Nos. 39 & 40, U. of Edinburgh.

    Google Scholar 

  24. Wenger, Etienne (1986) Artificial Intelligence and Tutoring Systems, Morgan Kaufmann Publishers, Los Altos, CA.

    Google Scholar 

  25. Wittgenstein, Ludwig (1960) The Blue and Brown Books: Preliminary Studies for the “Philosophical Investigations,” Harper & Row, New York.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Claude Frasson Gilles Gauthier Gordon I. McCalla

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sack, W. (1992). Knowledge base compilation and the language design game. In: Frasson, C., Gauthier, G., McCalla, G.I. (eds) Intelligent Tutoring Systems. ITS 1992. Lecture Notes in Computer Science, vol 608. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55606-0_29

Download citation

  • DOI: https://doi.org/10.1007/3-540-55606-0_29

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55606-0

  • Online ISBN: 978-3-540-47254-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics