CSCI/ARTI 4540/6540 - Fall 2006
Symbolic Programming12:30-1:45 Tuesday/Thursday, Room 306, Forest Resources Building
Dr. Michael A. Covington
Web: www.ai.uga.edu/mc/6540.html
E-mail: mc@uga.edu
Office: 111 Boyd GSRC
Office hours: Most Monday and Wednesday afternoons. Let me know when you're coming.
Texts
Covington, Nute, and Vellino, Prolog Programming in Depth, 2nd ed. (1997) (ISBN 0-13-138645-X)
Covington, Course Packet for CSCI/ARTI 4540/6540, University Bookstore
Software
SWI Prolog and GNU Common Lisp. (Not LPA Prolog.)
Available in AI Center labs (you need an AI Center account).
Probably also available in CS Dept. labs (check with them).
For Windows 2000/XP/2003 PC owners:
Download from www.ai.uga.edu/ftplib/AI-Course-Downloads (35 megabytes)
or borrow the "lend-out disc" (CD) from the AI Center secretary.
For other personal computers:
GNU Common Lisp and SWI-Prolog are freeware, but you're on your own setting them up.
Use other platforms at your own risk; we can't provide assistance.
Prerequisites
Permission of instructor, or:
CSCI/ARTI 4550/6550 (can be taken concurrently)
and CSCI 1302 or equivalent (intro programming).
Goals
Mastery of Prolog programming language; familiarization with Lisp programming language; understanding of special techniques used in these languages; understanding of the scientific research from which this technology developed.Note: This is not an introduction to artificial intelligence. That is CSCI 4550/6550.
Note: This course will cover more material than in earlier years.
Requirements
For all students:
Homework (not taken up, but measured by class participation)
Quizzes (frequent brief, unnanounced tests based on recent homework)
Mid-term examination
Final examinationFor graduate students only:
A small programming project. This is optional and is somewhat smaller than the usual term project; aim for 50 to 200 lines of code in either Lisp or Prolog, doing an interesting computation and serving as a potential building block for a larger project later. Quite subtle Lisp and Prolog programs can be rather short, so 200 lines does not limit you to a trivial project. Advanced exercises in later parts of the textbook are good sources of ideas for this project.Final examination: Undergraduates, and graduate students who do projects, will take a final examination on which they have some choice of sections or questions. Graduate students who do not opt to do projects will take the entire final examination. In both situations, it will be quite feasible to finish the entire examination within the allotted 3 hours.
Grading
Without projects:: 30% midterm, 40% final, 30% quizzes, 0 to 3 points for participation.
With projects: 20% midterm, 40% final, 20% quizzes, 20% project, 0 to 3 points for participation.Participation is attendance and performance when called on to present homework results.
Quizzes are graded subjectively as "Excellent," "Good," "Pass," or "Fail," scored as 100%, 85%, 70%, or 0% respectively, depending on the level of understanding that they show. All other tests are graded objectively on a specified number of points per question. Computer programs are graded by actually reading and understanding them, not just running test cases.
No group projects: All work for credit is to be done individually.
Grade appeals: I am always glad to correct any actual error in grading. However, I do not negotiate grades as if they were prices. A grade appeal is an opportunity to correct an error, not to compromise between differing opinions. If you wish to appeal a grade, turn the graded material back in to me together with a written statement of what you think the error is.
Handwriting: When writing computer programs by hand (e.g., on tests), be sure to distinguish all characters clearly. Do not mix up upper- and lowercase letters; for example, do not write A if you mean a. Do not use characters that are not actually part of the programming language. Be careful with punctuation and stray dots. Answers that are not clearly correct will be counted incorrect.
Attendance
Required. In cases of serious unforeseen emergency, arrangements can be made for students to make up the work they missed, or to drop the course, whichever is more appropriate. If your personal circumstances do not permit you to attend this course, do not sign up for it.
Academic honesty
You are expected to do your own work and give proper credit to all sources of information and assistance. The rules of the University apply. See http://www.uga.edu/ovpi/academic_honesty/culture_honesty.htm. Cases of suspected dishonesty are not handled in the classroom; they are always referred to authorities.
Tentative course calendar
This is subject to revision as the semester unfolds.
Aug 17 Organizational meeting Aug 22-24 Lisp (basic concepts) Aug 29-31 Lisp (recursion) Sep 5-7 Prolog, ch. 1 Sep 12-14 Prolog, chs. 1-2 Sep 26 Prolog, ch. 2 Sep 28 UGA Linguistics Conference; possibly no class Oct 3 MIDTERM EXAM Oct 5-10 Prolog, ch. 3 Oct 12-19 Prolog, ch. 4 Oct 18-24 Prolog, ch. 4-6 Oct 26 Fall Break (no class) Oct 31 - Nov 9 Prolog, ch. 6-7 Nov 14-21 Prolog, ch. 7 Nov 23 Thanksgiving Break (no classes) Nov 28-30 Prolog, ch. 13 Dec 5 Review day. Last day of class. Dec 11 Programming projects due (graduate students). Dec 14 (Thursday) FINAL EXAM, 12:00-3:00 p.m.