David R Cheriton School of Computer Science
Faculty of Mathematics
Artificial Intelligence Research Group

Listed below are some of the graduate level courses taught by members of the artificial intelligence research group.

Game-theoretic Methods for Computer Science (CS 886)
    In settings ranging from computer networks to electronic markets, computer scientists are observing and designing systems consisting of multiple self-interested parties (or agents). Game theory and mechanism design provide us with a set of tools and techniques for analyzing agent behavior in these systems, as well as informing us how to design systems so that agents behave in the way we would like them to.

    This course will provide an introduction to key game theory and mechanism design concepts. We will study how these ideas are being used in computer science, as well as computational issues in game theory and mechanism design. Examples and applications from AI, Theory, and Systems will be presented.

    Offered Fall 2006.
Issues in Natural Language: Knowledge Representation (CS 886)
    Offered Spring 2006
Image and Vision Computing (CS 498/698)
    This course covers topics such as image representation, lightening and reflectance models, filtering, motion and object recognition and indexing.

    Offered Winter 2006.
Intelligent Computer Interfaces (CS 785)
    This course provides an overview of several subtopics in artificial intelligence, related by the theme of intelligent interfaces. The first half of the course is united by a theme of natural language processing and covers the subtopics of plan recognition, discourse, natural language generation and user modeling. We also introduce the topic of intelligent agents, including a discussion of personalized recommender systems. In the second half of the course, the focus shifts to examining several kinds of intelligent systems and the interface issues surrounding these systems. We first examine multi-agent systems, including a discussion of adjustable autonomy systems and applications to e-commerce. Other systems examined vary each year but have included such topics as information retrieval, datamining, case-based systems, knowledge-based systems (including the semantic web) and intelligent tutoring systems.

    Offered Fall 2005.
Multiagent Systems (CS 886)
    The field of multiagent systems studies systems of multiple autonomous entities with diverging information and perhaps interests. This creates challenges above and beyond single-agent settings since we must now be additionally concerned with such issues as cooperation, coordination, and overcoming self-interest of individual agents in order to reach desirable system-wide goals. This course covers the mathematical and computational foundations of multiagent systems, with a focus on game theoretic analysis of systems in which agents can not be guaranteed to behave cooperatively.

    Offered Winter 2006
Reasoning Under Uncertainty (CS 886)
    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 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 will focus on the principles of probabilistic reasoning and sequential decision making for a wide range of settings including adaptive and multi-agent systems. The modelling techniques that will be covered are quite versatile and can be used to tackle a wide range of problems in many fields including robotics (e.g., mobile robot navigation, control), computer systems (e.g., autonomic computing, query optimization), human-computer interaction (e.g., spoken dialog systems, user modelling), bioinformatics (e.g., gene sequencing, design of experiments), operations research (e.g., resource allocation, maintenance scheduling, planning), etc. Hence, the course should be of interest to a wide audience beyond artificial intelligence.

    Offered Fall 2005.
Electronic Market Design (CS 886)
    This course covers topics on the design and analysis of electronic market places. This is an exciting new research area which incorporates ideas from economics (in particular game theory and mechanism design), AI, and theoretical computer science. Electronic markets have many interesting applications, from the obvious ones such as automated negotiation for ecommerce, to more non-obvious applications like resource allocation in grid computing settings. In this course we will focus on computational and game-theoretic questions related to electronic markets, and will look at what it means to design electronic markets with good properties.

    Offered Fall 2004.
Natural Language Computing (CS 886)
    Offered Spring 2005.
Statistical Learning Theory (CS 886)
    Machine learning is a fast growing topic of both academic research and commercial applications. It addresses the issue of how can computers "learn", that is, how can processes drawing useful conclusions from massive data sets be automated. Machine learning plays a central role in a wide range of important applications emerging from need to process data sets whose sizes and complexities are beyond the ability of humans to handle.

    Offered Winter 2005. This course will be offered in Winter 2006 as CS 498/698.
Computational Vision (CS 787)
    Offered Fall 2004.
Introduction to Artificial Intelligence (CS 686)
    This course is cross-listed with CS 486.

University of Waterloo
School of Computer Science
200 University Ave
Waterloo ON N2L 3G1
Phone 519-888-4567 x33293. Fax 519-885-1208