University of Waterloo

Term and Year of Offering: Winter 2014

Course Number and Title: CS486/686, Introduction to Artificial Intelligence


Comp Sec Camp Loc Time Days/Date Bldg Room Instructor
LEC 001 UW U 8:30-9:50TTh RCH 211

Instructor's Name Office Location Contact Office Hours
Pascal Poupart DC2514 Wed 11:30-13:00

TA's Name Office Location Contact Office Hours
Abdullah Rashwan
Daniel Recoskie

Course Description:

The design of automated systems capable of accomplishing complicated tasks is at the heart of computer science. Abstractly, automated systems can be viewed as taking inputs and producing outputs towards the realization of some objectives. In practice, the design of systems that produce the best possible outputs can be quite challenging when the choice of outputs is constrained, the consequences of the outputs are uncertain and/or dependent on other systems, the information provided by the inputs is incomplete and/or noisy, there are multiple (possibly competing) objectives to satisfy, the system must adapt to its environment over time, etc. This course provides an introduction to Artificial Intelligence, covering some of the core topics that underlay automated reasoning. The modeling techniques that will be covered are quite versatile and can be used to tackle a wide range of problems in many fields including natural language processing (e.g., topic modeling, document clustering), robotics (e.g., mobile robot navigation), automated diagnosis (e.g., medical diagnosis, fault detection), data mining (e.g., fraud detection, information retrieval), operations research (e.g., resource allocation, maintenance scheduling), assistive technologies, etc.

Course Objectives:

To give an introduction to the fundamental problems of artificial intelligence and an introduction to the basic models and algorithms used in tackling these problems. Another objective is to expose the student to frontier areas of computer science, while providing sufficient foundations to enable further study.

Course Overview:

The topics we will cover include:

  1. Introduction to Artificial Intelligence
  2. Search and Problem Solving
    1. Uninformed Search
    2. Informed Search
    3. Constraint Satisfaction Problems
    4. Local search
  3. Reasoning Under Uncertainty
    1. Probability Theory
    2. Bayesian Networks
    3. Utility Theory
    4. Decision Networks
    5. Markov Decision Processes
  4. Machine Learning
    1. Inductive Learning
    2. Decision Trees
    3. Statistical Learning
    4. Ensemble Learning
    5. Bandits
    6. Reinforcement Learning
  5. Other areas of Artificial Intelligence
    1. Natural Language Processing
    2. Assistive Technologies

Required text:

The textbook for CS486/686 is Artificial Intelligence: A Modern Approach (3rd Edition), Prentice Hall, by Russell and Norvig.  This will be the main reference for the course.  A few copies are currently on reserve at the library.  Readings in the textbook are assigned for every lecture in the course schedule.


The grading scheme for the course is as follows.


CS686 (graduate students only):


There will be four assignments given the course. Each assignment will have a theoretical part and a programming part.  Assignments are done individually (i.e., no team).  You are free to program in the language of your choice, however Python and Matlab are recommended since they provide a convenient high-level programming environment for matrix operations.  If you decide to program in Matlab, the IST group maintains a nice set of online references for Matlab including a tutorial.

The approximate out and due dates are:


There will be one midterm test of 75 minutes duration.  The midterm is scheduled on March 6th.

There will also be a final examination of 2.5 hours to be scheduled by the registrar.

Rules for Group Work:

Assignments must be done individually. Projects can be done in groups of up to 3 people for undergraduate students, but must be done individually for graduate students.

Indication of how late submission of assignments and missed assignments will be treated

On the due date of an assignment, the work done to date should be submitted electronically on the LEARN website; further material may be submitted for half credit within 24 hours. Assignments submitted more than 24 hours late will not be marked.

Indication of where students are to submit assignments and pick up marked assignments

Assignments must be submitted electronically on the LEARN website. Marked assignments will be returned electronically via the LEARN website.

Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. [Check for more information.]

Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4, When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.

Discipline: A student is expected to know what constitutes academic integrity [check] to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about 'rules' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline, For typical penalties check Guidelines for the Assessment of Penalties,

Appeals: A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals)

Note for Students with Disabilities: The Office for persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginning of each academic term.