Artificial Intelligence I (COMP-424)

Syllabus - Winter 2011


 

General Information

Location:Trottier 1090
Times:Monday and Wednesday, 1:05-2:25pm.
Instructor:
 
 
Prof. Joelle Pineau, School of Computer Science
Email: jpineau@cs.mcgill.ca
Office: McConnell 106N
Office hours: Mondays 11:30am-1:00pm in my office.
Teaching assistants:
 
 
Yuri Grinberg, MC 112
yuri.grinberg@mail.mcgill.ca
Amir Kadivar, MC 108
amir.kadivar@mail.mcgill.ca
Mahdi Milani Fard, MC 112
mahdi.milanifard@mail.mcgill.ca
Shaowei Png, MC 112
shaowei.png@mail.mcgill.ca
Class web page:
 
http://www.cs.mcgill.ca/~jpineau/comp424

 

Course Description

We will cover selected topics in Artificial Intelligence. 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.

Course content

  1. Introduction to AI. Brief history. Different agent architectures.
  2. Search: uninformed and heuristic search, A*, local search and optimization
  3. Constraint satisfaction problems.
  4. Game playing and adversarial search.
  5. Knowledge representation. Logical reasoning. Propositional logic. Planning.
  6. Reasoning under uncertainty. Bayes rule. Belief networks.
  7. Supervised learning methods. Decision trees. Neural networks.
  8. Decision making. Utility theory. Reinforcement learning. Game theory.
  9. Special topics: Robotics, Natural Language Processing.

 

Reference Materials

  1. Required textbook: S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach, Third Edition, Prentice Hall, 2009 (or 2010). Available at the McGill bookstore.
  2. Lecture notes: available from the course web page.

 

Class Requirements

The class grade will be based on the following components:

The assignments will include primarily written work, such as solving problems related to the concepts introduced during lectures and readings.

The class 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. 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. The project code will be written in Java. The ability to program in Java under the UNIX operating system is assumed but the use of this language is not mandatory. You may use any programming language, as long as you can demonstrate that your implementation is correct. In the paper part of the project, you will describe your approach, and justify your choice of algorithms.

Both the midterm and the final examination are written examinations. The midterm will be held during class hours. The final will be held during the regular exam period.

Homework Policy

Assignments and projects must be submitted IN CLASS on the day when they are due. The code for the project must be submitted electronically (instructions will be given in class) BEFORE 11:59pm on the day when it is due. Assignments and projects submitted BEFORE the due date (in class or directly to my office) will also be accepted. Late assignments and projects will NOT be accepted (no exception). Only the marks from the 5 best assignments will be counted towards the final grade. The final project (code and paper) must be submitted to obtain a passing grade. No make-up exams will be given.

All assignments are INDIVIDUAL!

McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Disciplinary Procedures (see www.mcgill.ca/students/srr/honest/ ) 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.