CSCI/ARTI 4540/6540 - Spring 2004
Symbolic Programming11:15-12:05 Monday/Wednesday/Friday, Room 101, Hardman Hall
The University of GeorgiaDr. 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.
TA: Mr. Yong Wei, yong@cs.uga.edu
Office hours: Mondays 2:00-3:00, Room 207, GSRC, and by arrangement.
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 previous years.
Requirements
For all students:
Homework (not taken up, but measured by class participation)
Friday quizzes (brief tests every Friday based on recent homework)
Mid-term examination
Final examinationFor graduate students only:
A small programming project. This 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.
Grading
4540: 30% midterm, 40% final, 30% Friday quizzes, 0 to 3 points for participation.
6540: 20% midterm, 40% final, 20% Friday quizzes, 20% project, 0 to 3 points for participation.Participation is attendance and performance when called on to present homework results.
Friday 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 (e.g., 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 20 Organizational meeting Aug 23-27 Lisp (basic concepts) Aug 30 - Sep 3 Lisp (recursion) Sep 6 Labor Day (no class) Sep 8-10 Prolog, ch. 1 Sep 13-17 Prolog, chs. 1-2 Sep 27 - Oct 1 Prolog, ch. 2-3 Oct 4-6 Prolog, ch. 3 Oct 8 MIDTERM EXAM Oct 11-15 Prolog, ch. 4 Oct 18-22 Prolog, ch. 4-6 Oct 25-27 Prolog, chs. 6 Oct 29 Fall Break (no class) Nov 1-5 Prolog, ch. 7 Nov 8-12 Prolog, ch. 7 Nov 15-19 Prolog, ch. 13 Nov 22 Prolog, ch. 13 Nov 24-26 Thanksgiving Break (no classes) Nov 29 - Dec 3 Prolog, other topics Dec 6-8 Dec 9 Review day. Last day of classes (Friday schedule on a Thursday). Dec 9 Programming projects due (graduate students). Dec 13 (Monday) FINAL EXAM, 12:00-3:00 p.m.