UBC Computer Science 322: Introduction to Artificial Intelligence

Winter Term 2, 2012-13

Instructor: Alan K. Mackworth





| Assessing Your Own Learning



Course Description:  This course provides an introduction to the field of artificial intelligence.  The major topics covered will include reasoning and representation, search, constraint satisfaction problems, planning, logic, reasoning under uncertainty, and planning under uncertainty.
  • Meeting Times: Monday, Wednesday, Friday, 3:00 - 3:50 pm
  • First Class: Wednesday, January 2, 2013
  • Location: DMP 110
  • Instructor: Alan K. Mackworth
  • Instructor's Office Location: ICCS 121
  • Instructor's Office Hours: Monday 4-4:30 pm, Wednesday 4-4:30pm or by appointment
  • TAs: (TA Office Hours are in the Demco Learning Centre, ICCS 150)
    • Shafiq Joty (Office Hour: Monday 1:00 pm)
    • Mehran Kazemi  smkazemi@cs.ubc.ca (Office Hour: Wednesday 11:00 am)
    • Pooyan Fazli (Office Hour: Friday 12:00 noon)
  • Course Discussion Board: (the place to submit your questions and get answers, as well as see answers given to others): log into Connect using your CWL. If you need assistance with Connect, there are number of resources available. You can access those resources at http://elearning.ubc.ca/connect/student-resources/. If you have technical issues with Connect should contact the IT Service Centre Help Desk at 604.822.2008 or http://it.ubc.ca/contact/helpdesk.html.
  • AIspace: demo applets that illustrate most of the techniques covered in class
  • Prerequisites: Either (a) CPSC 221 or (b) both of CPSC 216, CPSC 220 or (c) all of CPSC 211, CPSC 260, EECE 320.
  • Final exam: TBA

What do I do if I get the flu?

  • Self-isolate: stay away from campus until you're fever-free for 24 hours.
  • Get a doctor's note if you're missing midterm or final, or if you'll be late for an assignment.
  • Follow the course on this page, and contact Alan if you have additional questions.



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%

If your grade improves substantially from the midterm to the final, defined as a final exam grade that is at least 20% higher than the midterm grade, then the following grade breakdown will be used instead.

  • Assignments -- 20%
  • Midterm -- 15%
  • Final -- 65%

The assignment grade will be computed by adding up the number of points you get across all assignments, dividing this number by the number of possible points, and multiplying by 20.  Assignments will not be graded out of the same number of points; this means that they will not be weighted equally.


Submitting assignments via handin and hardcopy: Assignments are to be handed in electronically via the handin tool and in hardcopy.  In order to use handin, you will need to activate your CS account (every registered student already has an account, you just need to activate it). You can activate your account on the account activation page.  A printout of your assignment must also be submitted to the assignment box #4 located in room X235 on the 2nd floor of the X-wing of ICCS.

Late Assignments: Assignments are to be handed in electronically via handin and in hardcopy by 1 pm on the due date. If the assignment is late, get the hardcopy date stamped in the CS office, ICCS 201.  However, every student is allotted four "late days", which allow assignments to be handed in late without penalty on four days or parts of days during the term.  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.  If an assignment is submitted late and a student has used up all of her/his late days, 20% will be deducted for every day the assignment is late. (E.g., an assignment 2 days late and graded out of 100 points will be awarded a maximum of 60 points.)

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 1:00 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.. Examples:

  • Handing in an assignment at 4 pm on the day it is due consumes one late day. 
  • Handing in an assignment at 10:15 am the morning after it is due consumes one late day.
  • Handing in an assignment at 1:30 pm the day after it is due consumes two late days. 

Missing Deadlines or Exams: In truly exceptional circumstances, when accompanied by a note from Student Health Services or a Department Advisor, the following arrangements will be made.

  • If an assignment cannot be completed, the assignment grade will be computed based on the remaining assignments. Note that such an arrangement is extremely unusual--the late day system is intended to allow students to accommodate disruptions from moderate illness without contacting the instructor.
  • If the midterm is missed, its grades will be shifted to the final. This means the final will count for 80% of the final grade, and assignments will count for the remaining 20%.
  • If the final is missed, a make-up final will be scheduled. This make-up final will be held as soon as possible after the regularly scheduled final.

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:

  • For assignments 1-4, you may work with one other student. That student must also be a CPSC 322 student this term, and you will both have to officially declare that you collaborated when submitting your assignment. Both of you will have to submit your assignments separately.
  • You cannot work with or copy work from anyone else. You may not, under any circumstances, submit any solution not written by yourself, look at a student's solution who is not your official partner (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 on a high level. 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 the text Artificial Intelligence: Foundations of Computational Agents by David  L. Poole and Alan K. Mackworth. The entire book is available (for free, as in beer!) in e-format at the above link. Copies are available in the UBC Bookstore and a copy is on reserve in the CS reading room. 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. If you'd like to refer to an alternate text, I recommend Russell and Norvig's Artificial Intelligence: A Modern Approach (Third edition). I've arranged for a copy to be put on reserve in the CS reading room.


You can find the course schedule and lecture slides below. The schedule is tentative and will change throughout the term. Future assignment due dates are provided to give you a rough sense; however, they are also subject to change. I will try to post the slides for each lecture by 11pm the day before the lecture; this allows you to print them when you get up in the morning. I don't promise to use exactly that version in class, but it should be very close. If I do further changes, I will post the final version after class, at the latest when I post the slides for the next lecture.


Date Lecture Book Sections

(1) Wed, Jan 2 Intro 1: What is AI?  (.pdf) 1.1-1.3
 Assignment 0 out

(2) Fri, Jan 4 Intro 2: Representational Dimensions (.pdf) 1.4-1.5

(3) Mon, Jan 7 Intro 3: Applications of AI (.pdf) 1.6

(4) Wed, Jan 9
Search 1: Representation & Search Framework (.pdf) 3.0-3.4

(5) Fri, Jan 11 Search 2: BFS and DFS (.pdf)  3.5  Assignment 0 due Exercise 1, Solutions

(6) Mon, Jan 14 Search 3: Search with Costs & Heuristic Search (.pdf) 3.5.3, 3.6.1

(7) Wed, Jan 16 Search 4: Heuristic Search: A*  (.pdf) 3.6   Exercise 2, Solutions

(8) Fri, Jan 18
Search 5: A* optimality, cycle checking  (.pdf) 3.6

(9) Mon, Jan 21
Search 6: Iterative Deepening (IDS) and IDA*  (.pdf) 3.7.3   Assignment 1 out

(10) Wed, Jan 23 Search 7: Multiple Path Pruning, IDS and IDA*  (.pdf) 3.7.1-3.7.3 

(11) Fri, Jan 25
CSP 1: Branch & Bound. CSP: Intro (.pdf) 3.7 & 4.0-4.2   Exercise 3, Solutions

(12) Mon, Jan 28
CSP 2: Solving CSP using search (.pdf) 4.3-4.4

(13) Wed, Jan 30
CSP 3: Arc consistency  (.pdf) 4.5
  Exercise 4, Solutions

(14) Fri, Feb 1
CSP 4: Domain splitting  (.pdf) 4.6  Assignment 1 due

(15) Mon, Feb  4
CSP 5: Local search (.pdf) 4.8  Assignment 2 out

(16) Wed, Feb 6
CSP 6: Stochastic local search (.pdf) 4.8 Exercise 5, Solutions

(17) Fri, Feb 8
CSP 7: Stochastic local search algorithms (.pdf) 4.8   roundabouts.xml

Mon, Feb 11 UBC closed

(18) Wed, Feb 13 Planning 1: Representation and Forward Planning (.pdf) 8.0, 8.1, 8,2  Exercise 6, Solutions

(19) Fri, Feb 15 Planning 2: Forward Planning and CSP Planning (.pdf)  8.2, 8.4  Assignment 2 due, Assignment 3 out Exercise 7, Solutions

Feb 18-22
UBC Midterm break

(20) Mon, Feb 25
Planning 3: CSP Planning wrap up. (.pdf) 8.4  

(21) Wed, Feb 27 Logic 1: Intro & Propositional Definite Clause Logic (.pdf)  5.1-5.2 Exercise 8, Solutions

(22) Fri, Mar 1 Logic 2: Proof procedures, soundness and completeness (.pdf) 5.2   

(23) Mon, Mar 4
Logic 3: Bottom-up and Top-down Proof Procedures  (.pdf) 5.2  Exercise 9, Solutions

Wed, Mar 6
Midterm exam

(24) Fri, Mar 8 Logic 4: Top-Down Procedure, Datalog and Big Picture (.pdf) 5.2, 12.3

(25) Mon, Mar 11 Uncertainty 1: Probability Theory: Intro (.pdf)
6.1, 6.1.1,6.1.3

(26) Wed, Mar 13 Uncertainty 2: Conditional Probability, Bayes Rule, Chain Rule (.pdf) 6.1.3   Assignment 3 due

(27) Fri, Mar 15 Uncertainty 3: Independence (.pdf) 6.2  Assignment 4 out

(28) Mon, Mar 18
Uncertainty 4: Bayesian networks intro (.pdf) 6.3 - 6.3.1 Exercise 10 Solutions

(29) Wed, Mar 20 Uncertainty 5: Independence and Inference (.pdf) 6.3.1 credit_card_fraud.xml

(30) Fri, Mar 22 Uncertainty 6: Variable Elimination (.pdf) 6.4.1 Exercise 11 Solutions

(31) Mon, Mar 25
Decision Theory 1: Uncertainty wrap-up. Single Decisions (.pdf) 6.4.1 & 9.2   newspaper.xml

(32) Wed, Mar 27
Decision Theory 2: Single and sequential decisions (.pdf) 9.2-9.3  Exercise 12 Solutions

Fri, Mar 29
UBC closed

Mon, Apr 1
UBC closed

(33) Wed, Apr 3 Decision Theory 3: Optimal policies for sequential decisions (.pdf)  9.3  Assignment 4 due

(34) Fri, Apr 5 Perspectives and Final Review
  Exercise 13 Solutions wii.xml

Thu, Apr 18
Final exam in PHRM 1101, 8:30 am - 11:00 am  

Assessing Your Own Learning 

  • We have created a list of learning goals for the course, which detail concrete skills you should have after mastering each of the units. The list is available via Connect.
  • Exercises are ungraded practice problems to help you prepare for assignments and exams. They're optional, but will definitely help you to master the course material. All the exercises will be put up here, with solutions, on the schedule.



Copyright (c) 2012 - Last Updated 2012/12/23