Artificial Intelligence I (COMP-424)

Syllabus - Winter 2015


 

General Information

Location:Leacock 26
Times:Monday and Wednesday, 11:35-12:55pm.
Instructor:
 
 
Prof. Joelle Pineau, School of Computer Science
Office: McConnell Engineering 106N
Office hours: Day/time t.b.d. in my office.
jpineau@cs.mcgill.ca
Teaching assistants:
 
 
Eric Crawford, MC 111
Office hours: T.b.d.
eric.crawford@mail.mcgill.ca
Angus Leigh, MC 111
Office hours: T.b.d.
angus.leigh@cs.mcgill.ca
Ryan Lowe, MC 111
Office hours: T.b.d.
ryan.lowe@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.
  6. Planning algorithms.
  7. Reasoning under uncertainty. Bayes rule. Belief networks.
  8. Decision making. Utility theory. Reinforcement learning. Game theory.
  9. Applications.

 

Reference Materials

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

 

Prerequisites

Courses: (COMP 206 or ECSE 321) COMP 251.
At least one university level course in probability and/or statistics, e.g. MATH-203, MATH-323, ECSE-305.
Basic knowledge of a programming language is required. Basic knowledge of calculus and linear algebra is also assumed.

Class Requirements

The class grade will be based on the following components:

The weekly quizzes will be short tests designed to assess basic understanding of the course material as we progress through the topics.

The assignments will require primarily written work and some programming to gain hands-on experience with the concepts covered in the lectures.

The project will be composed of a programming part and a written report. 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 report, 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. No make-up midterm will be given. The final will be held during the regular exam period.

Grading Policy

Assignments and projects must be submitted on myCourses by 11:59pm on the day when they are due. Quizzes must be submitted on myCourses by 2pm on the day when they are given. Late quizzes and assignments will NOT be accepted (NO EXCEPTIONS - Please do not email asking for this.). However marks for any incomplete item (including not submitted or incorrect work), except the project, will be shifted to the final exam. Late submissions for the final project (code and report) will be subject to a 10% penalty, up to 5 days only; after this, late submissions will not be accepted.

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).

Any work submitted in this course (including code, report, homeworks) may be checked using automated software to detect possible cases of cheating or plagiarism.

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.