Expert Systems In Prolog Ian Lynch Sunnybank State High School Many secondary school course descriptions and syllabi now provide for, and indeed encourage, a variety of teaching, learning and assessment methods. Student project work is one such vehicle at the disposal of teachers. A challenge facing teachers is to define and implement criteria by which project work can be set, administered and assessed in accordance with the teaching and computing environment in which they operate. An ideal focus for the core material of a student project, as applied to the computer based solutions of problems, relates to the four steps of Professor George Polya's problem solving method. This approach is also known more generally as the 'Software Development Cycle'. Student project work, reflective of this cycle, is a proven methodology which has been associated with algorithmic problem solving strategies and third generation computer languages in secondary schools for the past two decades. The specific skills that are exercised by this process are classified into the following groups. 1. define the problem; 2. devise a plan to solve the problem; 3. implement the plan by building a software prototype; 4. execute test cases to debug the prototype for consistency of performance. Here the first two steps of the cycle represent the design phase of the problem solving strategy. The last two steps of the cycle represent the implementation and execution phases respectively of the strategy developed. These later processes usually consist of translating the carefully designed problem solution into a target software package. An expert system is a computerised problem solving machine. It can answer questions and act as an adviser on one of a broad range of subjects. Expert systems are designed using simple models which emulate the ways in which human experts solve problems and are applicable in an ever broadening range of subject domains. Computerised expert systems apply rules to solve problems. The rules are either logical rules or rules of experience (heuristics) gained from a human expert. These rules are stored as a knowledge base of clauses that is used by the inference mechanism of the expert system software to determine and follow possible pathways to arrive at a conclusion. A major part of the development of an expert system is to research the content of the topic and to organise the knowledge gained as a series of facts which can be linked to the conclusions by such rules. This aspect of the problem solving process, called knowledge acquisition, will usually involve consulting with one or more human experts, as authorities, in the area under consideration and is mirrored in the first two steps of the software development cycle. To implement the problem solution an expert system shell such as EShell, Micro-Expert or VP Expert can be used. The advantage of using an expert system shell is that it frees the student problem solver from learning extensive language syntax to concentrate more fully upon the semantics of the problem solution. Alternatively, if formal programming skills are considered important, then a computer language such as Prolog can be used to implement the problem solution as Step 3 of the software development cycle. Regardless of which software implementation strategy is utilised, a study of expert system applications affords an opportunity to provide materials which address the generalised concepts, skills and problem solving strategies applicable to students undertaking a secondary course in information technology or other disciplines. The process of creating the expert system provides students with practice in determining and evaluating logical relationships that occur in the subject domain under investigation, in building models of problem solutions and in producing complete reports. The process of creating an expert system can be further used to complement any curriculum area for the teaching of cognitive skills. For example, Science students could use an expert system shell to produce a system to identify the chemical elements. To complete this task they need to become actively involved with the deep structure of Scientific knowledge, as distinct from learning by rote the superficial symbol systems of Science. Within secondary information technology courses and cross- curricula subject areas, the problem domain may concentrate upon expert systems which provide for advice, classification and diagnostic applications. Here the expert system determines the facts during a consultation session with a user and zeros in on a conclusion (backward chaining). Recent reductions in hardware costs, increasing processing power and new software developments now mean that expert systems are cost effective mechanisms with exploding interest and educational applications. Schools and other educational institutions are increasingly responding to such trends, and the 'Technological Revolution' in general, by providing courses of study which incorporate newer studies such as expert systems. A study of expert system applications provides opportunities for delivering courseware which  is appropriate to secondary students;  is teachable;  is constant and based upon a proven methodology;  encompass objectives that are attainable by all students regardless of their background and experience;  provides for a variety of cross-curricula learning experiences;  provides for a variety of computer skills ranging from user friendly shells through formal programming concepts;  encompass sets of skills, concepts, generalities, logic and problem solving abilities which are of a continuing nature;  provides a 'high-tech' unit of work;  is interesting and fun. The conference paper and session will focus upon 1. outlining possible approaches using software shells such as VP-Expert, Micro-Expert and EShell, 2. outlining possible approaches using Prolog, 3. outlining suitable project criteria, including assessment mechanisms, and 4. illustrating these using appropriate case studies. References 1. An Introduction to Expert Systems I J Lynch and J Komarmy Lynformation, 1993 2. Information Processing and Technology I. J. Lynch and J. Komarmy Morton Bay Publishing, 1991. 3. Information Processing and Technology K. Offer and C. Thompson Jacaranda Press, 1991. 4. Computing in Queensland I J Lynch Australian Educational Computing (Vol 5 Number 2) 5. Syllabus for IPT Board of Senior Secondary Studies, Queensland 6. Practical Computer Methods Syllabus Department of Education, Queensland, 1988 7. Turbo Prolog, Owner's Handbook Borland International, 1986 8. Apprentice Computer Programmers B Harvey and J Richardson Australian Educational Computing (Vol 7 No 1) 9. Information Systems and Expert System Shells T Managan COMM 3 Journal, 1991 10. EShell K Jacobi QSITE-IPT Teachers Conference, 1993 11. I J Lynch A Case Study in Prolog QSITE-IPT Teachers Conference, 1993 12. How To Solve It. G Polya Princeton University Press, 1947 13. T Dwyer EShell Manual, 1992 14. VP Expert (Manual) Software for the IBM PC WordTech, 1989 15. Micro Expert (Manual) B Thompson and W Thompson McGraw-Hill, 1985 16. An Introduction to Prolog. I J Lynch Lynformation, 1994 17. Introducing Expert Systems in Prolog I J Lynch Lynformation, 1994