pUniversity of Calgary
Rob Kremer
Course Description

CPSC 433: Artifical Intelligence
Fall 2014
Department of Computer Science

Labs start Monday, Sept 15.


Rob Kremer, ICT 748, email: kremer@cpsc.ucalgary.ca;
Tues/Thurs 12:30-13:45 in MS217
Office hours:
Tues 14:00-14:50, Thurs 10:00-10:50, and by appointment.
Course web site:
Official Course Info:
Mail list server:

Tutorial Time Location
T01 MoWe 16:00-16:50 MS 156
T02 MoWe 13:00-13:50 MS 156
This course employs a "team teaching" model, so you can expect different TAs in your tutorials for different topics. The TA team consists of:
TA Office Hours email


Course Description

An examination of the objectives, key techniques and achievements of work on Artificial Intelligence in Computer Science.


Computer Science 313 (Introduction to Computability) and one of CPSC 349 (Programming Paradigms) or CPSC 449.


Note that a basic understanding in logic is definitely required for this course (Philosophy 279 or 377 are prerequisites of CPSC 349 and 449, therefore they are not explicitly mentioned in the calendar)! Although we will introduce the basic concepts of how to process and solve problems described in logic in this course, knowing what logical formulas, propositions and calculi are and how a problem can be represented as a set of formulas is a must!

Misuse of Computer Facilities, Plagiarism, and Cheating

Academic misconduct (cheating, plagiarism, or any other form) is a very serious offence that will be dealt with rigorously in all cases. A single offence may lead to disciplinary probation or suspension or expulsion. The Faculty of Science follows a zero tolerance policy regarding dishonesty. Please read the sections under the heading "Student Misconduct" in the Academic Regulations section of the University Calendar.

These serious offences will carry sanctions. Copying of assignments from anywhere without appropriate references, cheating on exams, or misusing facilities will result in punishment ranging from course failure to criminal prosecution. If you are unsure about these issues do not hesitate to consult with the course instructor.

This course requires group work, which dictates that students must work together to solve assignments. Generally, individual contributions from people within the group do not need to be cited, but major contributions should be. Note that it is the responsibility of each member of the group to ensure that plagiarism (or other forms of cheating) does not occur in the work: the entire group will be assessed based on any incident of academic misconduct in group assignments.

Each member of a group is expected to do their fair share of the group work. A peer assessment mechanism will be used to monitor this. If group work is unequally distributed among group members, group members may achieve differing marks for the assessment. This may range from an A to a failing grade, with corresponding consequences for the overall course mark.


The following is a collection of text books on AI. It is recommend that you look at them in the library (and any other AI books you find there) and decide for yourself which one you find best (i.e. which one explains the best the things that you did not understand in the lectures and labs). They all have a rather large overlap in their content and none of them covers all of the course (in the depth that I want the different topics covered). Note that some of them are out of print (but you might be able to buy used copies cheap). It might also be interesting to compare the older books with the newer one (you will see that new does not always mean better).

You might also be interested in looking at Prof. Denzinger's manuscript (containing the first two chapters of his upcoming book [translated from German]), which describes the search models according to the same onology as used in class.  Note that this manuscript can only be accessed from a UofC address.


The University policy on grading and related matters is described in the university calendar.

The course will have a Registrar's scheduled final examination and a midterm exam.

In order to pass the course, the following components must be passed:

In addition, the student must achieve at least a C on the midterm in order to pass the course; however, up to 2 retakes may be allowed on the midterm in order to fulfill this requirement but an F in any midterm will disqualify any further retake. Even though the peer evaluation component has only a nominal mark associated with it, you may fail the entire course for failing to complete these tasks adequately.

All components of this course are marked as letter grades (standard values except A+ = 4.3).  The final letter grade will be the weighted average of the component letter grades according to the official university equivalents. 

The exam component

As already described, we follow the usual midterm-final-scheme for exams. The weighting of the grades you achieve in these two exams is as follows:

Midterm    20%
Final exam   30%

The Midterm is treated specially.  You MUST get a C or better in the Midterm in order to continue with the course (ie: pass).  If you get an F, you're out, however if you get a C-, D+, or D, you may do up to two retakes to remedy the situation.  However, if you get an F on the first retake you are are not entitled to a subsequent retake.  A retake will not be awarded better than a C grade, no matter how well you did on it (ie: it's essentially pass/fail).

This midterm will be composed of 2 or 3 problems for which models, processes, and instances must be fully and formally specified.  To help you get through the midterm (and possible final questions), a number of similar practice problems (some with solutions) is supplied.  In addition, I have posed the marking rubric.

The assignment component

For a detailed description of what you have to do, please refer to the assignment page. The following table describes the percentage with which the individual task grades will be weighted in the final grade for the course.

Paper presenting two solutions to the given problem    12%
Input and output demonstration   6%
Implementation and demonstration of the selected solution   30%

So, the assignment component accounts for 48 percent of your mark. Please note that both grades above are achieved by your team!

The peer evaluation component

The peer evaluations are relatively simple to do compared with the other course components. You must submit a report to your TA and instructor (by email) containing a letter grade assessment of each (including yourself) of your group members' contributions to the current assignment together with a 1/3 page description of that person's contribution justifying your assessment. It is not acceptable to give everyone in your group an A or to give everyone in your group an F. A report that does not reflect the dynamics of the group will be considered a failure, which could cause you to fail the course. It is your responsibility to get to know your group members and know their contributions to the project.

The weighting in the final grade for the course is

Peer evaluation 1 (to be handed in just after the paper assignment)    1%
Peer evaluation 2 (to be handed in just after the implementation and demonstration assignment)   1%

So, the peer evaluation component accounts for only 2 percent of your mark, but you have to do both of them adequately in order to pass the course.

Why the peer evaluation? The peer evaluation is set up to prevent freeriding (a group member doing little or nothing and getting a good mark by taking advantage of the efforts of the rest of the group). It will be used as follows: The TA and instructor will use their own judgment and experience with the group as well as the input from the peer evaluations to assess a "delta mark", which will be applied to the group assignment. The delta mark will be a positive or negative letter-grade value between -4 and +1, which will be added to the group mark for each individual member.

Therefore, if you are the group leader, make a huge contribution to the project, your group thinks you can walk on water, and your group project is assessed as a "B", you may be assessed a delta mark of +1 -- your mark for the project will be "A". On the other hand, if you could had done better on the project, your delta mark may be -0.7, and you'd get a group mark of "C+". Furthermore, if you really didn't help much at all on the project, you'd get a delta mark of -4, you'd get a "F" for the project and you'd automatically fail the entire course. Don't let that happen. :)

Lecture/Lab Schedule

Tuesday 12:30-13:45
Thursday 12:30-13:45
Structure of an AI system, knowledge processing
Search: Basic definitions
Lab: Resolution & Unification
Search: Or-tree-based search
Lab: Modeling
  Search: And-tree-based search
Lab: Or-tree based search
Search: Set-based search
Lab: And-tree based search
Search: Search summary & Other models
Lab: Set based search I
Search control issues
Lab: Set based search II
Knowledge Representation (propositional logic)
Meet with instructor re: paper

Lab: Mock Exam 1
Knowledge Representation (first order logic)
Meet with instructor re: paper

Lab: Mock Exam 2
Rule-based Systems: Prolog & Mycin

Lab: Mock Exam 3
Midterm review
Paper due 12:00 (noon)
Peer evaluation due Oct 23 12:00 (noon)
Lab: Mock Exam 4
Midterm (in class)
Lab: Expert Systems
Exam results (hopefully), AI, more background
Lab: Assignment Tips
Semantic Nets
Input/Output Demos
Peirce's Existential Graphs
Input/Output Demos
Reading Days
Neural Networks
Lab: TSP-GA.zip
Constraints, General Issues: Planning
General Issues: Learning, Cooperation


Multi-agent Systems: Agent Communication [paper]
Exam review


Assignment debriefing
Final assignment (source, etc) due Apr 16 12:00 (noon)
Peer evaluation due Dec 7 12:00 (noon)
Final exam:  TBA

CPSC 433: Artificial Intelligence
Department of Computer Science

Last updated 2014-08-29
Rob Kremer