Introduction to AI (COMP-424)
Winter 2013


General Information

Location:Macdonald Engineering (ENGMD), room 280
Time:Monday and Wednesday, 2:35-3:55pm
Instructor:Doina Precup, School of Computer Science.
Office:McConnell Engineering building, room 111N (left from the elevators).
Phone:(514) 398-6443.
Office hours:
Monday and Wenesday, 9:00-10:00am
Meetings at other times by appointment only!
Teaching assistants: TBA
Class e-mail:
IMPORTANT: E-mail to the TAs should be sent to this address
Class web page:
IMPORTANT: This is where class notes, announcements and homeworks are posted!

Course Description

We will cover selected topics in Artificial Intelligence (AI). We will study modern techniques for computers to make good (in some cases optimal) decisions that are applicable throughout an enormous range of industrial, civil, medical, financial, robotic and information systems. We will not attempt to cover the entire range of AI sub-areas in detail, but will survey several key themes.


(COMP-206 or ECSE-321) and COMP-251. You should be comfortable with programming as well as mathematical notation and simple proof techniques. If you have doubts regarding your background, contact Doina ASAP.

Reference Materials

The recommended references are: Lecture notes and other relevant materials are available on this web page or will be distributed in class as needed.

Class Requirements

The class grade will be based on the following components:

  1. Four individual assignments - 30%.
    The assignments will include both written work and implementations. The implementation problems will involve programming algorithms that we discuss in class and reporting results produced by these algorithms. The ability to program in C/C++ or Java under the UNIX operating system is assumed but the use of these languages is not mandatory. You may use any programming language, as long as you can demonstrate that your implementation is correct. The written work will involve solving problems related to the theoretical part of the course, explaining the results of your implementations, and expressing your opinions regarding the assigned reading.
  2. One in-class written midterm examination - 15%.
    Sample questions will be posted on the web page ahead of time.
  3. A final project - 25%.
    The final project will be composed of a programming part and a written paper. In the programming part, you will implement a game-playing program that will play against your colleagues' programs over the network. The project will code will be written in Java. You will be provided with a complete program for a player that chooses moves legally but randomly. Your mission will be to enhance the player, using AI techniques of your choice. In the paper, you will describe your approach, and justify your choice of algorithms. Both the paper and the implementation are required for a passing grade. A working program and a typed paper with good style are prerequisites for a passing grade.
  4. A written final examination - 30%.
Minor changes to the evaluation scheme (if any) will be announced in class by Monday, January 15 (pending in-class discussion and the estimated total enrollment).

Homework Policy

Assignments should be submitted electronically on the day when they are due. Instructions on what and how to submit will be provided with each assignment. For late assignments, 10 points will be deducted from the grade for every late day, for the first 5 days. No credit is given for assignments submitted more than 5 days late, unless you have a medical problem.

All assignments are INDIVIDUAL! You may discuss the problems with your colleagues, but you must submit individual homeworks. Please acknowledge all sources you use in the homeworks (papers, code or ideas from someone else).

McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offenses under the Code of Student Conduct and Disciplinary Procedures (see for more information).

In accord with McGill University's Charter of Students' Rights, students in this course have the right to submit in English or in French any written work that is to be graded.

In the event of extraordinary circumstances beyond the University's control, the content and/or evaluation scheme in this course is subject to change.

Course Content

  1. Introduction to AI. Brief history. (1 lecture)
  2. Search: heuristic search, A*, local search and optimization (3 lectures)
  3. Constraint satisfaction probelms (1 lecture)
  4. Game playing and adversarial search (2 lectures)
  5. Logic and planning (2 lectures)
  6. Reasoning under uncertainty. Probabilities, Bayes rule, Bayes nets (4 lectures)
  7. Decision making. Utility theory, bandit problems, reinforcement learning (5 lectures)
  8. Function approximation, other learning methods (4 lectures)
  9. Special topics (2 lectures)
  10. Wrap-up (1 lecture)
IMPORTANT: This outline is subject to change. Up-to-date information about the course content and assigned readings will be posted on the schedule web page.