Last updated 2015 April 20

About the Course

The course introduces logic-based programming and its use in artificial intelligence. It is intended to give the student a background that will be useful for further work in logic programming, artificial intelligence, and expert systems.

The programming language Prolog will be used. Prolog is a declarative programming language based on the concept of a logical assertion. It is widely used artifical intelligencrs applications and in constructing knowledge-based expert systems and work with probability models using Bayesian logic.

Upon successful completion the course you should be able to do the following.

Textbooks

The course textbook is the following. It may be purchased at bookstore. Addional notes and class slides are available from the resources page for the course.

Workload

The work load in this course, as in most computer science and engineering courses, is high. The course has a large unscheduled laboratory component to it which involves writing and testing Prolog programs. You should be prepared to devote 10 hours a week on average to the course; this includes class time. With proper planning and discipline, you can spread most of the work load fairly evenly throughout the course.

It is up to the you to read and study relevant material without explicit instructions. You are expected to find the required readings in the references and any other sources you can find. Part of the university experience is to acquire a measure of self reliance. The instructor for the course can only guide you as to what is useful to learn; the effort must come from you. The course classes will not cover all the topics in detail. Instead, the classes will cover the most important points and give you pointers as to how the rest of the material can be studied.

Classes

The course consists of three class hours per week. In preparation for classes you are expected to read the appropriate material - the class schedule gives an approximate idea of when various topics and readings will be deal with. In addition, exercises will be given which you should do in preparation for future classes.

Class participation

You are encouraged to participate in class. Interviewers say that communications skills are a problem area for some of our students. I encourage you to work on your communication skills in this class. Ask questions. Answer questions. But no one knows everything, including myself, so we will all sometimes answer questions incorrectly, and we will all sometimes say something that is wrong. We may even ask a silly question; we may even all laugh about it. That will be a growing experience in itself.

Reports

You will hand in for grading a set of reports. The specifications are given as announcements in the course forum. The report page gives more information about the style and content of reports. The class schedule gives the due dates and times for the reports. The grading page describes the grading scheme used and the algorithm for computing your final grade.

Exams

There will be two in-class exams and a formal three hour examination held during the examination period at the end of the term. The class schedule gives the dates and times for the in-class exams and final exam. The grading page describes the grading scheme used and the algorithm for computing your final grade.

The exam questions will be based on all the course material: texts, readings, classes, reports, exercises, and on-line notes and slides. Example exam questions from previous exams, and variations on them can be found here.