CSCI/ARTI 4540/6540 - Fall 2010
Symbolic Programming

11:00-12:15 Tuesday/Thursday, Room 418, Aderhold Hall

Dr. Michael A. Covington

Office: 111 Boyd GSRC
Office hours: Tuesday and Thursday afternoons. Let me know when you're coming.


Covington, Nute, and Vellino, Prolog Programming in Depth, 2nd ed. (1997) (ISBN 0-13-138645-X)
(This book is abundant on the used market. Click here for Amazon.)


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).
Download for your own PC from and respectively.


Permission of instructor, or:
CSCI/ARTI 4550/6550 (can be taken concurrently)
and CSCI 1302 or equivalent (intro programming).


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.


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 examination

For 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.


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.


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.

Policy on laptops and cell phones in the classroom:
If you use your laptop while I'm lecturing, I'll assume you are using it to take notes or to try the computations that we are discussing. Please do not use it for web surfing, e-mail, entertainment, or other irrelevant purposes. This is discourteous and can cause considerable embarrassment to you as well as to me. If the computer obviously captures your attention, I'm likely to step over to your desk to see what you're having trouble with – and if it's not course-related, we'll both be disappointed. Do not answer your cell phone in the classroom. During tests or exams, do not even look at your cell phone (which might be displaying text messages); keep it hidden away and turned off.

Academic honesty

You are expected to do your own work and give proper credit to all sources of information and assistance. Cases of suspected dishonesty are not handled in the classroom; they are always referred to authorities.

As a University of Georgia student, you have agreed to abide by the University’s academic honesty policy, "A Culture of Honesty," and the Student Honor Code. All academic work must meet the standards described in "A Culture of Honesty" found at Lack of knowledge of the academic honesty policy is not a reasonable explanation for a violation. Questions related to course assignments and the Academic Honesty policy should be directed to the instructor.

Tentative course calendar

August			Lisp

September		Prolog, chapters 1-3

October			Prolog, chapters 4-6

November		Prolog, chapters 7 and 13

A more detailed calendar will be announced later.