CPSC 322 - Introduction to Artificial Intelligence (Term 2, Session 201, 2006)
Overview | Grades | Text | Schedule | Handouts]

Course Description:  This course provides an introduction to artificial intelligence.  The major topics covered will include reasoning and representation, search, constraint satisfaction problems, planning, logic, reasoning under uncertainty, planning under uncertainty, multiagent systems.
  • Meeting Times: Monday, Wednesday, Friday, 4:00 - 5:00 PM
  • Location: Dempster 310
  • Instructor: Kevin Leyton-Brown 
  • Instructor's Office Location: CICSR 185
  • Instructor Office Hours: Thursdays, 2:15 - 3:45 PM, CICSR 185
  • TA Office Hours:
    • Mark Crowley, Tuesday 1:00 - 2:00, X150 (Learning Center)
    • Wei Li: Monday 10:00 - 11:00, X150 (Learning Center)
    • David Thompson: Friday 3:00 - 4:00 PM, X150 (Learning Center)
  • Course Discussion Board: (the place to submit your questions and get answers, as well as see answers given to others): log into your "My WebCT" using your CWL.  For help, see www.netinfo.ubc.ca; for troubleshooting, see www.itservices.ubc.ca/webct/trouble.shtml.
  • CISpace: demo applets that illustrate some of the techniques covered in class
  • Prerequisites: Either (a) CPSC 221 or (b) all of CPSC 216, CPSC 220 or (c) all of CPSC 211, CPSC 260, EECE 320.
  • Final exam: Apr 24, 8:30 am, Dempster 310


Grading Scheme:
Evaluation will be based on a set of  assignments, a midterm, and an exam. Important: you must pass the final in order to pass the course. The instructor reserves the right to adjust this grading scheme during the term, if necessary.

  • Assignments -- 20%
  • MidTerm -- 30%
  • Final -- 50%

The assignment grade will be computed by adding up the number of points a student got across all assignments, dividing this number by the number of possible points, and multiplying by 20.  Note that this means that assignments are not weighted equally when they are out of a different number of points.


Late Assignments: Assignments are to be handed in IN CLASS at the start of lecture on the due date. However, every student is allotted three "late days", which allow work to be handed in late without penalty on three days or parts of days during the term.  How late does something have to be to use up a late day? A day is defined as a 24-hour block of time beginning at 4 PM on the day an assignment is due.  To use a late day, write the number of late days claimed on the first page of your assignment and submit your assignment to the course drop box located in the basement of CICSR, or just bring it to class if it's less than an hour late. Examples:
  • Handing in an assignment at the end of lecture on the day it is due consumes one late day. 
  • Handing in an assignment at 10:15 the morning after it is due consumes one late day.
  • Handing in an assignment at 4:30 the day after an assignment is due consumes two late days.

The purpose of late days is to allow students the flexibility to manage unexpected obstacles to coursework that arise during the course of the term, such as travel, moderate illness, conflicts with other courses, extracurricular obligations, job interviews, etc.  Thus, additional late days will NOT be granted except under truly exceptional circumstances.  Late assignments will no longer be accepted from students who have used up all of their late days.

Academic Conduct: Submitting the work of another person as your own (i.e. plagiarism) constitutes academic misconduct, as does communication with others (either as donor or recipient) in ways other than those permitted for homework and exams. Such actions will not be tolerated. Specifically, for this course, the rules are as follows:

  • Assignments are to be done alone. You may not, under any circumstances, submit any solution not written by yourself, look at another student's solution (this includes the solutions from assignments completed in the past), or previous sample solutions, and you may not share your own work with others. All work for this course is required to be new work and cannot be submitted as part of an assignment in another course without the approval of all instructors involved.
  • You may, however, discuss your solutions and design decisions with your fellow students. In other words, you can talk about the assignments, but you cannot look at or copy other people's answers.

Violations of these rules constitute very serious academic misconduct, and they are subject to penalties ranging from a grade of zero on the current and *all* the previous assignments to indefinite suspension from the University. More information on procedures and penalties can be found in the Department's Policy on Plagiarism and collaboration and in  UBC regulations on student discipline . If you are in any doubt about the interpretation of any of these rules, consult the instructor or a TA!

We will be using a new text under development, which is currently only available in electronic form: the second edition of Computational Intelligence by Poole, Mackworth and Goebel. (This is great news for students: not only will the text be free, but it is also considerably more up-to-date than the text used in previous iterations of this course.) PDF files of the chapters covered in class will be added to WebCT as they are needed.
Although this text will be our main reference for the class, it must be stressed that you will need to know all the material covered in class, whether or not it is included in the readings or available on-line.  Likewise, you are responsible for all the material in assigned readings, whether or not it is covered in class.

Here is where I'll post the course schedule and the PDF files from lectures. These dates will change throughout the term, but I'll try to keep this schedule up to date.  Assignment due dates will be added as we get close to them. 


Date Lecture Notes
Wednesday, January 4 What is AI? Assignment 1
Friday, January 6 Representational Dimensions  
Monday, January 9 Applications of AI Assignment 1 due (no late days)
Wednesday, January 11 Search: Intro  
Friday, January 13 Search: Uninformed Search  
Monday, January 16 Search: Heuristic Search Assignment 2; Solutions
Wednesday, January 18 Search: A*  
Friday, January 20 Search: Branch and Bound, other pruning  
Monday, January 23 Search conclusion; CSP intro  
Wednesday, January 25 CSPs: Search and Arc Consistency  
Friday, January 27 CSPs: Arc Consistency and SLS Intro  
Monday, January 30 CSPs: Stochastic Local Search Assignment 2 due
Wednesday, February 1 CSPs: Stochastic Local Search  
Friday, February 3 Planning: Representation  
Monday, February 6 Planning: Example and Forward Planning Assignment 3; Source Code; Solutions
Wednesday, February 8 Planning: Regression Planning  
Monday, February 20 Planning: CSP and Logic Intro Assignment 3 due
Wednesday, February 22 Logic: Syntax and Semantics  
Friday, February 24 Logic: Semantics and Bottom-Up Proofs  
Monday, February 27 Logic: Resolution Proofs  
Wednesday, March 1 Midterm exam  
Friday, March 3 Midterm solutions  
Monday, March 6 Logic: Datalog Syntax and Semantics  
Wednesday, March 8 Uncertainty: Probability Theory  
Friday, March 10 Uncertainty: Conditional Probability & Independence  
Monday, March 13 Uncertainty: Conditional Independence  
Wednesday, March 15 Uncertainty: Belief Networks  
Friday, March 17 Uncertainty: Belief Network Inference Assignment 4; Solutions
Monday, March 20 Uncertainty: Variable Elimination  
Wednesday, March 22 Uncertainty: Hidden Markov Models  
Friday, March 24 Decision Theory: Preferences and Utility  
Monday, March 27 Decision Theory: Single Decisions Assignment 4 due
Wednesday, March 29 Decision Theory: Sequential Decisions  
Friday, March 31 Decision Theory: MDPs Assignment 5.
Monday, April 3 Game Theory: Matrix Games  
Wednesday, April 5 Game Theory: Analyzing Games  
Wednesday, April 12   Assignment 5 due at 4 PM


For Assignment 5 there are no late days. Electronic submission is allowed; see WebCT for email address.  This assignment is optional: if you don't hand it in, your assignment grade will be calculated based on the previous four assignments.  If you do hand it in, your assignment grade will be the maximum of your assignment grade over all five assignments and your assignment grade on the first four assignments (i.e., you can't lose by handing in assignment 5).


Please note that the links to slides and to assignments are given in the schedule above.  The textbook chapters are only available through WebCT. Other handouts follow:
  • CISpace example of non-optimality of Best-First Search (use the "external URL" option in CISpace)
  • Practice questions for the midterm
  • First page of the midterm
  • Lists of concepts and definitions covered in class (lectures 1-34)
  • First page of the final