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: Mondays 1:15-2:30pm in my office.
jpineau@cs.mcgill.ca
Teaching assistants:
 
 
Eric Crawford, MC 108
Office hours: Tuesdays, 3-4pm
eric.crawford@mail.mcgill.ca
Angus Leigh, MC 111
Office hours: Wednesdays, 4-5pm
angus.leigh@mail.mcgill.ca
Ryan Lowe, MC 111
Office hours: Thursdays, 10-11am
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. 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.). No make-up midterm will be given.

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. The project must be submitted to get a passing grade.

Marks for any incomplete quiz, assignment or midterm (incl. not submitted or incorrect items) will be shifted to the final exam. This DOES NOT apply to the project.

All assignments are INDIVIDUAL!

Any work submitted in this course (including code, report, homeworks) may be checked using automated software to detect possible cases of cheating or plagiarism. All cases of suspected plagiarism or cheating will be reported to the Disciplinary Officer for the students' faculty and may result in failure of the course or expulsion from the university.

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 http://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.

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