Courses by Research Area for the Comprehensive Course Requirement

Computational Intelligence (Faculty contact:  Dr. Giuseppe Carenini)
422:  Intelligent Systems
502:  Artificial Intelligence I

503:  Computational Linguistics I
515:  Computational Robotics
522:  Artificial Intelligence II
532:  Topics in Artificial Intelligence

Data Management and Analysis (Faculty contact:  Dr. Rachel Pottinger)

340:  Machine Learning and Data Mining
504:  Data Management
534:  Topics in Data Management

540:  Machine Learning
550:  Machine Learning II

564:  Data Mining

Graphics and Vision (Faculty contact for Graphics:  Dr. Michiel van Panne; Faculty of Vision:  Dr. Jim Little)
314:  Computer Graphics (previously numbered as 414)
424:  Geometric Modeling
425:  Computer Vision

426:  Computer Animation
505:  Image Understanding I: Image Analysis
514:  Computer Graphics: Rendering
524:  Computer Graphics: Modeling
525: Image Understanding II: Scene Analysis

526:  Computer Animation
533: Topics in Computer Graphics 
535: Topics in Simulation and Optimization (subject to topics)

HCI (Faculty contact: Dr. Karon Maclean)
344:  Introduction to Human Computer Interaction Methods
543:  Physical User Interface Design and Evaluation

544:  Human-Computer Interaction
554: Topics in HCI (as indicated on the graduate course schedule
444:  Advanced Methods for Human Computer Interaction (may be counted on an individual case-by-case basis. Students should obtain permission from the Faculty Contact Person in HCI.

Scientific Computing (Faculty contact: Dr. Ian Mitchell)
402:  Numerical Linear Algebra

403:  Numerical Solution of Ordinary Differential Equations
406:  Computational Optimization
517:  Sparse Matrix Computation
520:  Numerical Solution of Differential Equations
542:  Topics in Numerical Computation

546:  Numerical Optimization

Software Engineering and Programming Languages (Faculty contact: Dr. Ron Garcia)
507:  Software Engineering
Programming Language Principles

511:  Implementation of Programming Languages
519: Logic Programming and Functional Programming
529: Definition of Programming Languages
539: Topics in Programming Languages

Systems (Faculty contact: Dr. Mike Feeley)
415:  Advanced Operating Systems

416:  Distributed System
417:  Computer Networking
418:  Parallel Computation
508:  Operating Systems
521:  Parallel Algorithms and Architectures
527:  Computer Communication Protocols
Topics in Computer Systems

Theory (Faculty contact:  Dr. Will Evans)
420:  Advanced Algorithm Design & Analysis
421:  Introduction to Theory of Computing

500:  Fundamentals of Algorithm Design and Analysis
501:  Theory of Automata, Formal Languages and Computability
506:  Complexity of Computation
516: Computational Geometry 
531: Topics in Theory of Computation 
536: Topics in Algorithms and Complexity
537: Topics in Coding and Information Theory

405:  Modelling and Simulation (Faculty contact:  Dr. Dinesh Pai)
445:  Algorithms in Bioinformatics  (Faculty contact for Bioinformatics:  Dr. Anne Condon)
513:  Integrated Systems Design (Faculty contact:  Dr. Alan Hu)

530: Topics in Information Processing (subject to topic)
532:  Topics in AI:  Multi-Agent Systems
 (Faculty contact:  Dr. Kevin Leyton-Brown)
545:  Algorithms for Bioinformatics  (Faculty contact for Bioinformatics:  Dr. Anne Condon)
547:  Information
Visualization (Faculty contact: Dr. Tamara Munzner)

Besides the above courses, graduate courses from other departments that have relevance to computer science or the student’s research area can be counted in the interdisciplinary area.