Skip to main content
Log in

Learning Prolog in a schema-based environment

  • Published:
Instructional Science Aims and scope Submit manuscript

Abstract

A set of basic construct Prolog schemata are presented as the basic constructs of a structured Prolog for recursive list processing. Prolog schema hierarchies are given that group classes of Prolog programs within each of the basic construct Prolog schemata via most-specific schemata which high-light their similarities and differences. A schema-based instructional approach based upon this classification of Prolog programs is provided as a method of introducing recursion to novice Prolog programmers. The incorporation of this approach to teaching recursive Prolog programming in an intelligent tutoring system is presented. Finally, a schema-based Prolog programming environment embedding this tutoring system in addition to a standard Prolog development system is proposed which promotes the acquisition and use of structured programming constructs in Prolog.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Adelson, B. (1981). Problem solving and the development of abstract categories in programming languages. Memory and Cognition, 9, 422–433.

    Google Scholar 

  • Brna, P., Bundy, A., Dodd, T., Eisenstadt, M., Looi, C. K., Pain, H., Robertson, D., Smith, B. and van Someren, M. (1991). Prolog programming techniques. Instructional Science, this issue.

  • Clocksin, W. F. and Mellish, C. (1987). Programming in Prolog (3rd edition). New York: Springer-Verlag.

    Google Scholar 

  • Ennals, J. R. (1984). Beginning Micro-Prolog (2nd edition). New York: Harper and Row.

    Google Scholar 

  • Gegg-Harrison, T. S. (1989). Basic Prolog schemata. Proceedings of the NACLP '89 Workshop on Logic Programming Environments: the next generation. Cleveland, Ohio, 56–62 (complete paper available as Technical Report No. CS-1989-20, Department of Computer Science, Duke University, Durham, North Carolina).

  • Gegg-Harrison, T. S. (1990). A schema-based approach to teaching recursive Prolog programming. Technical Report No. CS-1990–4, Department of Computer Science, Duke University, Durham, North Carolina.

    Google Scholar 

  • Kowalski, R. (1984). Logic as a programming language for children. In M. Yazdani (Ed.), New horizons in educational computing. New York: John Wiley and Sons.

    Google Scholar 

  • Looi, C. (1988). Automatic program analysis in a Prolog intelligent teaching system. PhD dissertation, Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland.

  • Pain, H. and Bundy, A. (1987). What stories should we tell novice Prolog programmers? In R. Hawley (Ed.), Artificial intelligence programming environments. New York: John Wiley and Sons.

    Google Scholar 

  • Plotkin, G. D. (1970). A note on inductive generalization. In B. Meltzer and D. Michie (Eds.), machine intelligence 5. Edinburgh: Edinburgh University Press.

    Google Scholar 

  • Reynolds, J. C. (1970). Transformational systems and the algebraic structure of atomic formulas. In B. Meltzer and D. Michie (Eds.), Machine intelligence 5. Edinburgh: Edinburgh University Press.

    Google Scholar 

  • Rich, C. (1987). Inspection methods in programming: clichés and plans. A.I. Memo No. 1005, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, Massachusetts.

    Google Scholar 

  • Soloway, E. M. (1985). From problems to programs via plans: the content and structure of knowledge for introductory LISP programming. Journal of Educational Computing Research, 1, 157–172.

    Google Scholar 

  • van Someren, M. W. (1985). Beginners' problems in learning Prolog. Memorandum 54, Department of Experimental Psychology, University of Amsterdam, Amsterdam, The Netherlands.

    Google Scholar 

  • van Someren, M. W. (1990). What's wrong? Understanding beginners' problems with Prolog. Instructional Science, 19(4/5), 257–282.

    Google Scholar 

  • Sterling, L. and Shapiro, E. (1986). The art of Prolog: advanced programming techniques. Cambridge, Massachusetts: MIT Press.

    Google Scholar 

  • Tamaki, H. and Sato, T. (1984). Unfold/fold transformation of logic programs. Proceedings of the 2nd International Logic Programming Conference, Uppsala, Sweden, 127–138.

  • Taylor, J. and du Boulay, B. (1987). Studying novice programmers: why they may find learning Prolog hard. In J. C. Rutkowska and C. Crook (Eds.), Computers, cognition and development: issues for psychology and education. New York: John Wiley and Sons.

    Google Scholar 

  • Yokomori, T. (1986). Logic program forms. New Generation Computing, 4, 305–319.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gegg-Harrison, T.S. Learning Prolog in a schema-based environment. Instr Sci 20, 173–192 (1991). https://doi.org/10.1007/BF00120881

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00120881

Keywords

Navigation