Winter 2006

CSI2165B: Prolog Concepts Laboratory

Instructor:  Diana Inkpen

Office: SITE 5015
E-mail:   Telephone: 562-5800 ext. 6711

Meeting Times and Locations

Office Hours: Mon 13:10-14:20 and Thu 15:00-15:50, in SITE 5015, or by email appointment.
TA Office Hours: by email appointment. The TA is Latifa Zekaoui, email:

Overview:  Practice in the use of the Prolog language. Applications to databases and artificial intelligence. 


Evaluation  Students will be evaluated on:

Note: the final mark will consider max( 25% midterm + 45% exam, 70% exam). That is, a good final exam can compensate for a bad midterm day.


Note: The assignments will be submitted electronically through Virtual Campus. No late assignments are accepted.

Required Textbook

Prolog for Artificial Intelligence, by Ivan Bratko, AddisonWesley, 3rd edition, 2001.
Companion website to the book.

Software:  SWI Prolog. Documentation and executables available at

Lab notes

Syllabus and Lectures notes (subject to minor modifications)  (The lecture slides will be in pdf format, you can read them with Acrobat Reader)

Part I   lecture notes Introduction to Prolog and Logic Programming. Prolog basic constructs: facts, rules, queries. Unification. Prolog syntax, equality, and arithmetics. Data structures: structures and lists.     Example (facts and rules)
Part II  lecture notes  Control structures: backtracking, recursion, cut, and failure.     Example (search tree)     Example (CUT)
Part III   lecture notes   Abstract data structures: trees, stacks, queues, graphs.
Part IV   lecture notes   Applications: Artificial Intelligence - natural language processing, games, meta-interpreters, theorem proving. (not required for exam)