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.
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.
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.
Ennals, J. R. (1984). Beginning Micro-Prolog (2nd edition). New York: Harper and Row.
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.
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.
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.
Plotkin, G. D. (1970). A note on inductive generalization. In B. Meltzer and D. Michie (Eds.), machine intelligence 5. Edinburgh: Edinburgh University Press.
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.
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.
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.
van Someren, M. W. (1985). Beginners' problems in learning Prolog. Memorandum 54, Department of Experimental Psychology, University of Amsterdam, Amsterdam, The Netherlands.
van Someren, M. W. (1990). What's wrong? Understanding beginners' problems with Prolog. Instructional Science, 19(4/5), 257–282.
Sterling, L. and Shapiro, E. (1986). The art of Prolog: advanced programming techniques. Cambridge, Massachusetts: MIT Press.
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.
Yokomori, T. (1986). Logic program forms. New Generation Computing, 4, 305–319.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF00120881