Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!mcnc!duke!gleicher From: gleicher@duke.cs.duke.edu (Michael Gleicher) Newsgroups: comp.lang.prolog,comp.ai Subject: Re: Suggestions for Course Message-ID: <10475@duke.cs.duke.edu> Date: Sun, 25-Oct-87 10:44:48 EST Article-I.D.: duke.10475 Posted: Sun Oct 25 10:44:48 1987 Date-Received: Tue, 27-Oct-87 03:26:50 EST References: <321@ncrcam.Cambridge.NCR.COM> <589@hubcap.UUCP> <1746@unc.cs.unc.edu> Reply-To: gleicher@duke.UUCP (Michael Gleicher) Organization: Duke University, Durham NC Lines: 51 Keywords: AI course, programming, Prolog Summary: A student's view of intro to AI & Prolog Xref: mnetor comp.lang.prolog:420 comp.ai:984 (Couldn't bear it any longer - I have to put my two cents in) (I am not a teacher - I am a student who has gone through the courses in question) An excellent point has been brought up - What is the real reason for wanting to teach Prolog in an AI course? (by the way, replace prolog with lisp in most cases in this article) 1) Because you want to foster the belief that Prolog and AI go together - This is downright BAD and wrong! 2) Because in order to read much of the literature, you must understand Lisp/Prolog because it gets refered to alot - This one I agree with 3) Because it is the IN thing to do - I'm not even going to comment 4) Because it allows rapid prototyping so a small system that really solves problems can be built in a short amount of time - If this is your real goal, be sure not to get sidetracked. In the AI course that I took, we were taught prolog, and wrote programs to solve non-ai problems. I neither learned about how to write AI programs nor how to rapidly build a system in Prolog. I did learn some bad Prolog habits because I was trying to program prolog the same way that I would have coded in C - because there wasn't enough time for someone to show me to think otherwise. On the upside, We did have an assignment with DCG's that was interesting (only that had any notion of an AI problem to solve (natural language) or that showed me a place where I couldn't use conventional programming tactics) What using AI in a class DID do for me was allow me to get a summer job where I really learned prolog, doing things that were NOT AI. The best part of my AI class was when we looked briefly at many areas of interest in the current research (expert systems, natural language, planning, connectionism, ...). Unfortunately, this was at the end of the course. Maybe a more effective way to teach AI would be to show the applications and use them to justify why you need to study logic and predicate calculus and frames and ... Using Turbo prolog could only accomplish #1 and #3 on the list above, but other people have already said this. Again, I am not a teacher, just a student who has taken these courses, and is still interested in the subject DESPITE the courses. And - PROLOG IS NOT JUST FOR ``AI'' Mike