Teaching AI through prolog programming techniques

Abstract Stereotypic programming techniques (plans, cliches, or schomas) have been identified as an essential part of the programming skills of an experienced programmer, but are seldom used as a basis for teaching programming. This paper reports on incorporating explicit Prolog programming techniques in a course called “Artificial Intelligence Programming”. Our experiences in teaching the course both with and without explicit introduction of these techniques favour the former. However, the availability of libraries of known techniques as well as computer support in form of technique knowledgeable editors would be welcome.

[1]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[2]  Richard C. Waters The Programmer's Apprentice: A Session with KBEmacs , 1985, IEEE Transactions on Software Engineering.

[3]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[4]  John B. Black,et al.  Scripts in memory for text , 1979, Cognitive Psychology.

[5]  Paul Brna,et al.  Prolog programming techniques , 1991 .

[6]  Wolfgang Kreutzer,et al.  Programming for artificial intelligence - methods, tools and applications , 1991, International computer science series.

[7]  Roger C. Schank,et al.  SCRIPTS, PLANS, GOALS, AND UNDERSTANDING , 1988 .

[8]  Rachel K. E. Bellamy,et al.  Parsing and Gnisrap: a model of device use , 1987 .

[9]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[10]  Ivan Bratko,et al.  Prolog Programming for Artificial Intelligence , 1986 .

[11]  F. Détienne Program understanding and knowledge organization: the influence of acquired schemata , 1990 .

[12]  Arun Lakhotia,et al.  Incorporating 'Programming Techniques' into Prolog Programs , 1989, NACLP.

[13]  David J. Gilmore,et al.  Are ‘programming plans’ psychologically real - outside Pascal? , 1987 .

[14]  Charles Rich A Formal Representation For Plans In The Programmer's Apprentice , 1982, On Conceptual Modelling.

[15]  Elliot Soloway,et al.  Learning to program = learning to construct mechanisms and explanations , 1986, CACM.

[16]  Eugene Charniak,et al.  Artificial Intelligence Programming , 1987 .