Note: This is the 2022–2023 eCalendar. Update the year in your browser's URL bar for the most recent version of this page, or .
Program Requirements
Required coursework: Students must take eight graduate courses, of which at least five are computer science courses. These courses should be chosen by the student in consultation with the supervisor (or co-supervisor) and the Progress Committee.
Thesis
A thesis for the doctoral degree must constitute original scholarship and must be a distinct contribution to knowledge. It must show familiarity with previous work in the field and must demonstrate ability to plan and carry out research, organize results, and defend the approach and conclusions in a scholarly manner. The research presented must meet current standards of the discipline; as well, the thesis must clearly demonstrate how the research advances knowledge in the field. Finally, the thesis must be written in compliance with norms for academic and scholarly expression and for publication in the public domain.
Required Courses
-
COMP 700 Ph.D. Comprehensive Examination
Overview
Computer Science (Sci) : An examination that must be passed by all doctoral candidates in order to continue in the doctoral program.
Terms: Fall 2022, Winter 2023
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 701 Thesis Proposal and Area Examination (3 credits)
Overview
Computer Science (Sci) : Submission of doctorate thesis proposal and examination that assesses the student's breadth of knowledge in the research area.
Terms: Fall 2022, Winter 2023, Summer 2023
Instructors: Devroye, Luc P (Summer)
Complementary Courses
18-24 credits selected from:
Category A: Theory and Applications
-
COMP 523 Language-based Security (3 credits)
Overview
Computer Science (Sci) : State-of-the-art language-based techniques for enforcing security policies in distributed computing environments. Static techniques (such as type- and proof-checking technology), verification of security policies and applications such as proof-carrying code, certifying compilers, and proof-carrying authentication.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 525 Formal Verification (3 credits)
Overview
Computer Science (Sci) : Propositional logic - syntax and semantics, temporal logic, other modal logics, model checking, symbolic model checking, binary decision diagrams, other approaches to formal verification.
Terms: Fall 2022
Instructors: Panangaden, Prakash (Fall)
-
COMP 531 Advanced Theory of Computation (3 credits)
Overview
Computer Science (Sci) : Models for sequential and parallel computations: Turing machines, boolean circuits. The equivalence of various models and the Church-Turing thesis. Unsolvable problems. Model dependent measures of computational complexity. Abstract complexity theory. Exponentially and super-exponentially difficult problems. Complete problems.
Terms: Fall 2022
Instructors: Hatami, Hamed (Fall)
3 hours
Prerequisite: COMP 330
-
COMP 540 Matrix Computations (4 credits)
Overview
Computer Science (Sci) : Designing and programming reliable numerical algorithms. Stability of algorithms and condition of problems. Reliable and efficient algorithms for solution of equations, linear least squares problems, the singular value decomposition, the eigenproblem and related problems. Perturbation analysis of problems. Algorithms for structured matrices.
Terms: Winter 2023
Instructors: Chang, Xiao-Wen (Winter)
-
COMP 547 Cryptography and Data Security (4 credits)
Overview
Computer Science (Sci) : This course presents an in-depth study of modern cryptography and data security. The basic information theoretic and computational properties of classical and modern cryptographic systems are presented, followed by a cryptanalytic examination of several important systems. We will study the applications of cryptography to the security of systems.
Terms: Fall 2022
Instructors: Crépeau, Claude (Fall)
-
COMP 549 Brain-Inspired Artificial Intelligence (3 credits)
Overview
Computer Science (Sci) : Overview of the influence of neuroscience and psychology on Artificial Intelligence (AI). Historical topics: perceptrons, the PDP framework, Hopfield nets, Boltzmann and Helmholtz machines, and the behaviourist origins of reinforcement learning. Modern topics: deep learning, attention, memory and consciousness. Emphasis on understanding the interdisciplinary foundations of modern AI.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 552 Combinatorial Optimization (4 credits)
Overview
Computer Science (Sci) : Algorithmic and structural approaches in combinatorial optimization with a focus upon theory and applications. Topics include: polyhedral methods, network optimization, the ellipsoid method, graph algorithms, matroid theory and submodular functions.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 554 Approximation Algorithms (4 credits)
Overview
Computer Science (Sci) : The theory and application of approximation algorithms. Topics include: randomized algorithms, network optimization, linear programming and semi definite programming techniques, the game theoretic method, the primal-dual method, and metric embeddings.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 561 Computational Biology Methods and Research (4 credits)
Overview
Computer Science (Sci) : Application of computer science techniques to problems arising in biology and medicine, techniques for modeling evolution, aligning molecular sequences, predicting structure of a molecule and other problems from computational biology. An in-depth exploration of key research areas.
Terms: Fall 2022
Instructors: Blanchette, Mathieu (Fall)
4 hours
Prerequisites: COMP 251, and MATH 323 or MATH 203 or BIOL 309
Restriction: Not open to students who have taken or are taking COMP 462.
Note: Additional work will consist of assignments and of a substantial final project that will require to put in practice the concepts covered in the course.
-
COMP 562 Theory of Machine Learning (4 credits)
Overview
Computer Science (Sci) : Concentration inequalities, PAC model, VC dimension, Rademacher complexity, convex optimization, gradient descent, boosting, kernels, support vector machines, regression and learning bounds. Further topics selected from: Gaussian processes, online learning, regret bounds, basic neural network theory.
Terms: Winter 2023
Instructors: Oberman, Adam (Winter)
Prerequisites: MATH 462 or COMP 451 or (COMP 551, MATH 222, MATH 223 and MATH 324) or ECSE 551.
Restrictions: Not open to students who have taken or are taking MATH 562. Not open to students who have taken COMP 599 when the topic was "Statistical Learning Theory" or "Mathematical Topics for Machine Learning". Not open to students who have taken COMP 598 when the topic was "Mathematical Foundations of Machine Learning".
-
COMP 564 Advanced Computational Biology Methods and Research (3 credits)
Overview
Computer Science (Sci) : Fundamental concepts and techniques in computational structural biology, system biology. Techniques include dynamic programming algorithms for RNA structure analysis, molecular dynamics and machine learning techniques for protein structure prediction, and graphical models for gene regulatory and protein-protein interaction networks analysis. Practical sessions with state-of-the-art software.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 565 Machine Learning in Genomics and Healthcare (4 credits)
Overview
Computer Science (Sci) : Linear models in statistical genetics, causal inference, single-cell genomics, multi-omic learning, electronic health record mining. Applications of machine learning techniques: linear regression, latent factor models, variational Bayesian inference, neural networks, model interpretation.
Terms: Winter 2023
Instructors: Li, Yue (Winter)
-
COMP 566 Discrete Optimization 1 (3 credits)
Overview
Computer Science (Sci) : Use of computer in solving problems in discrete optimization. Linear programming and extensions. Network simplex method. Applications of linear programming. Vertex enumeration. Geometry of linear programming. Implementation issues and robustness. Students will do a project on an application of their choice.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 567 Discrete Optimization 2 (3 credits)
Overview
Computer Science (Sci) : Formulation, solution and applications of integer programs. Branch and bound, cutting plane, and column generation algorithms. Combinatorial optimization. Polyhedral methods. A large emphasis will be placed on modelling. Students will select and present a case study of an application of integer programming in an area of their choice.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 588 Probabilistic Graphical Models (4 credits)
Overview
Computer Science (Sci) : Representation, inference and learning with graphical models; directed and undirected graphical models; exact inference; approximate inference using deterministic optimization based methods, stochastic sampling based methods; learning with complete and partial observations.
Terms: Winter 2023
Instructors: Ravanbakhsh, Siamak (Winter)
-
COMP 598 Topics in Computer Science 1 (3 credits)
Overview
Computer Science (Sci) : Topics in computer science.
Terms: Fall 2022, Winter 2023
Instructors: O'Donnell, Tim; Bzdok, Danilo (Fall) Maheswaran, Muthucumaru (Winter)
3 hours
Prerequisite: Permission of instructor.
-
COMP 599 Topics in Computer Science 2 (4 credits)
Overview
Computer Science (Sci) : Topics in computer science.
Terms: Fall 2022
Instructors: Reddy, Siva; Rabbany, Reihaneh (Fall)
3 hours
-
COMP 610 Information Structures 1 (4 credits)
Overview
Computer Science (Sci) : Study of elementary data structures: lists, stacks, queues, trees, hash tables, binary search trees, red-black trees, heaps. Augmenting data structures. Sorting and selection, Recursive algorithms. Advanced data structures including binomial heaps, Fibonacci heaps, disjoint set structures, and splay trees. Amortizing. String algorithms. Huffman trees and suffix trees. Graph algorithms.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
3 hours
-
COMP 611 Mathematical Tools for Computer Science (4 credits)
Overview
Computer Science (Sci) : Introduction to mathematical concepts important across computer science, how to think mathematically, and how to write proofs. Proof techniques such as induction, contradiction, and monovariants; topics in combinatorics, graph theory, algebra, analysis, and probability; mathematical analysis of algorithms, data structures, and computational complexity. Emphasis on the mathematical explanations for useful concepts.
Terms: Fall 2022
Instructors: Rolnick, David (Fall)
Restrictions: Not open to students who have majored in Mathematics or an equivalent subject, or have taken a proof-based math or computer science course within the previous two years.
Not open to students who have taken COMP 761 when the topic was "Mathematical Tools for Computer Science".
-
COMP 618 Bioinformatics: Functional Genomics (3 credits)
Overview
Computer Science (Sci) : Techniques related to microarrays (normalization, differential expression, class prediction, class discovery), the analysis of non-coding sequence data (identification of transcription factor binding sites), single nucleotide polymorphisms, the inference of biological networks, and integrative Bioinformatics approaches.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
Prerequisite: Enrolment in Bioinformatics Option Program or permission of coordinators.
Restrictions: Enrolment by students in the Bioinformatics Option Program or by permission of course coordinators only. Computer Science graduate students not in the Bioinformatics Option Program need additional permission of the M.Sc. or Ph.D. Committee respectively.
-
COMP 642 Numerical Estimation Methods (4 credits)
Overview
Computer Science (Sci) : Efficient and reliable numerical algorithms in estimation and their applications. Linear models and least squares estimation. Maximum-likelihood estimation. Kalman filtering. Adaptive estimation, GPS measurements and mathematical models for positioning. Position estimation. Fault detection and exclusion.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 647 Advanced Cryptography (4 credits)
Overview
Computer Science (Sci) : Information theoretic definitions of security, zero-knowledge protocols, secure function evaluation protocols, cryptographic primitives, privacy amplification, error correction, quantum cryptography, quantum cryptanalysis.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
3 hours
Prerequisite: COMP 547
-
COMP 649 Quantum Cryptography (4 credits)
Overview
Computer Science (Sci) : Review of the basic notions of cryptography and quantum information theory. Quantum key distribution and its proof of security. Quantum encryption, error-correcting codes and authentication. Quantum bit commitment, zero-knowledge and oblivious transfer. Multiparty quantum computations.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
Prerequisite: COMP 547 and permission of the instructor.
Restriction: An introduction to notions of Information Theory is required.
-
COMP 654 Graph Representation Learning (4 credits)
Overview
Computer Science (Sci) : Machine learning with graph-structured data. Introductions to spectral graph theory, graph signal processing, graph convolutions, graph neural networks, and the logic of graphs.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 680 Mining Biological Sequences (4 credits)
Overview
Computer Science (Sci) : Advanced algorithms for the annotation of biological sequences. Algorithms and heuristics for pair-wise and multiple sequence alignment. Gene-finding with hidden Markov models and variants. Motifs discovery techniques: over representation and phylogenetic footprinting approaches. RNA secondary structure prediction. Detection of repetitive elements. Representation and annotation of protein domains.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
Prerequisite: COMP 462 or with instructor's permission.
-
COMP 690 Probabilistic Analysis of Algorithms (4 credits)
Overview
Computer Science (Sci) : Probabilistic analysis of algorithms and data structures under random input. Expected behaviour of search trees, tries, heaps, bucket structures and multidimensional data structures. Random sampling, divide-and-conquer, grid methods. Applications in computational geometry and in game tree searching. Combinatorial search problems. Algorithms on random graphs.
Terms: Fall 2022
Instructors: Devroye, Luc P (Fall)
3 hours
-
COMP 760 Advanced Topics Theory 1 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in theory related to computer science.
Terms: Fall 2022
Instructors: Panangaden, Prakash (Fall)
-
COMP 761 Advanced Topics Theory 2 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in theory related to computer science.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
Category B: Systems and Applications
-
COMP 512 Distributed Systems (4 credits)
Overview
Computer Science (Sci) : Models and Architectures. Application-oriented communication paradigms (e.g. remote method invocation, group communication). Naming services. Synchronization (e.g. mutual exclusion, concurrency control). Fault-tolerance (e.g. process and replication, agreement protocols). Distributed file systems. Security. Examples of distributed systems (e.g. Web, CORBA). Advanced Topics.
Terms: Fall 2022
Instructors: Kemme, Bettina; D'silva, Joseph (Fall)
-
COMP 514 Applied Robotics (4 credits)
Overview
Computer Science (Sci) : The approach and the challenges in the key components of manipulators and locomotors: representations, kinematics, dynamics, rigid-body chains, redundant systems, under-actuated systems, control, planning, and perception. Practical aspects of robotics: collisions, integrating sensory feedback, and real-time software development.
Terms: Fall 2022
Instructors: Lin, Hsiu-Chin (Fall)
-
COMP 520 Compiler Design (4 credits)
Overview
Computer Science (Sci) : The structure of a compiler. Lexical analysis. Parsing techniques. Syntax directed translation. Run-time implementation of various programming language constructs. Introduction to code generation for an idealized machine. Students will implement parts of a compiler.
Terms: Winter 2023
Instructors: Dubach, Christophe (Winter)
-
COMP 521 Modern Computer Games (4 credits)
Overview
Computer Science (Sci) : Genre and history of games, basic game design, storytelling and narrative analysis, game engines, design of virtual worlds, real-time 2D graphics, game physics and physical simulation, pathfinding and game AI, content generation, 3D game concerns, multiplayer and distributed games, social issues.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 529 Software Architecture (4 credits)
Overview
Computer Science (Sci) : Development, analysis, and maintenance of software architectures, with special focus on modular decomposition and reverse engineering.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
4 hours
Prerequisite: COMP 303.
-
COMP 533 Model-Driven Software Development (3 credits)
Overview
Computer Science (Sci) : Model-driven software development; requirements engineering based on use cases and scenarios; object-oriented modelling using UML and OCL to establish complete and precise analysis and design documents; mapping to Java. Introduction to meta-modelling and model transformations, use of modelling tools.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 535 Computer Networks 1 (4 credits)
Overview
Computer Science (Sci) : Fundamental design principles, elements, and protocols of computer networks, focusing on the current Internet. Topics include: layered architecture, direct link networks, switching and forwarding, bridge routing, congestion control, end-to-end protocols application of DNS, HTTP, P2P, fair queuing, performance modeling and analysis.
Terms: Winter 2023
Instructors: Liu, Xue (Winter)
-
COMP 546 Computational Perception (4 credits)
Overview
Computer Science (Sci) : Computational models of visual perception and audition. Vision problems include stereopsis, motion, focus, perspective, color. Audition problems include source localization and recognition. Emphasis on physics of image formation, sensory signal processing, neural pathways and computation, psychophysical methods.
Terms: Fall 2022
Instructors: Langer, Michael (Fall)
3 hours
Restrictions: Not open to students who have taken COMP 646.
-
COMP 555 Software Privacy (4 credits)
Overview
Computer Science (Sci) : Conceptual foundations of information privacy: security and cryptography, privacy by design, privacy threats. Technical controls for supporting privacy: authorization, authentication, access control, malware and intrusion detection. Application-specific privacy concerns of databases, web and mobile applications, cloud storage.
Terms: Winter 2023
Instructors: Robillard, Martin (Winter)
-
COMP 557 Fundamentals of Computer Graphics (4 credits)
Overview
Computer Science (Sci) : Fundamental mathematical, algorithmic and representational issues in computer graphics: overview of graphics pipeline, homogeneous coordinates, projective transformations, line-drawing and rasterization, hidden surface removal, surface modelling (quadrics, bicubics, meshes), rendering (lighting, reflectance models, ray tracing, texture mapping), compositing colour perception, and other selected topics.
Terms: Fall 2022
Instructors: Kry, Paul (Fall)
-
COMP 558 Fundamentals of Computer Vision (4 credits)
Overview
Computer Science (Sci) : Image filtering, edge detection, image features and histograms, image segmentation, image motion and tracking, projective geometry, camera calibration, homographies, epipolar geometry and stereo, point clouds and 3D registration. Applications in computer graphics and robotics.
Terms: Fall 2022
Instructors: Siddiqi, Kaleem (Fall)
-
COMP 585 Intelligent Software
Systems
(4 credits)
Overview
Computer Science (Sci) : Practical aspects of building software systems with machine learning components: requirements, design, delivery, quality assessment, and collaboration. Consideration of a user-centered mindset in development; integration of design and development considerations relevant to artificial intelligence, such as security, privacy, and fairness.
Terms: Fall 2022
Instructors: Guo, Jin (Fall)
-
COMP 598 Topics in Computer Science 1 (3 credits)
Overview
Computer Science (Sci) : Topics in computer science.
Terms: Fall 2022, Winter 2023
Instructors: O'Donnell, Tim; Bzdok, Danilo (Fall) Maheswaran, Muthucumaru (Winter)
3 hours
Prerequisite: Permission of instructor.
-
COMP 599 Topics in Computer Science 2 (4 credits)
Overview
Computer Science (Sci) : Topics in computer science.
Terms: Fall 2022
Instructors: Reddy, Siva; Rabbany, Reihaneh (Fall)
3 hours
-
COMP 614 Distributed Data Management (4 credits)
Overview
Computer Science (Sci) : Architecture and examples of distributed information systems (e.g., federated databases, component systems, web databases). Data consistency (consistency models, advanced transaction models, advanced concurrency control, distributed recovery). Data replication and caching. Distribution queries, Schema Integration. Advanced Topics.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 621 Program Analysis and Transformations (4 credits)
Overview
Computer Science (Sci) : Program analysis and transformations are used in optimizing compilers and other automatic tools such as bug-finders, verification tools and software engineering applications. Course topics include the design of intermediate representations, control flow analysis, data flow analysis at both the intra- and inter-procedural level and program transformations for performance improvement.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 652 Machine Learning (4 credits)
Overview
Computer Science (Sci) : An overview of state-of-the-art algorithms used in machine learning, including theoretical properties and practical applications of these algorithms.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 655 Distributed Simulation (4 credits)
Overview
Computer Science (Sci) : Conservative and optimistic synchronization involved in executing a discrete event simulation on a distributed platform (e.g. cluster of workstations, shared memory multiprocessor). Focus is on efficiency, strengths and limitations of the different approaches. Applications to large simulations (networks, VLSI, virtual environments).
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
Prerequisite: COMP 310 or equivalent.
-
COMP 667 Software Fault Tolerance (4 credits)
Overview
Computer Science (Sci) : Software fault tolerance, concepts and implementation. Failure classification; information and time redundancy; forward and backward error recovery; error confinement; idealized fault-tolerant component; sequential and concurrent systems; exception handling; transactions and atomic actions; voting; design diversity. Case studies.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
Prerequisite: COMP 409 or permission of instructor
-
COMP 762 Advanced Topics Programming 1 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in programming.
Terms: Fall 2022
Instructors: Pientka, Brigitte (Fall)
-
COMP 763 Advanced Topics Programming 2 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in programming.
Terms: This course is not scheduled for the 2022-2023 academic year.
Instructors: There are no professors associated with this course for the 2022-2023 academic year.
-
COMP 764 Advanced Topics Systems 1 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in computing systems.
Terms: Winter 2023
Instructors: Dubach, Christophe (Winter)
-
COMP 765 Advanced Topics Systems 2 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in computing systems.
Terms: Winter 2023
Instructors: Meger, David (Winter)
-
COMP 766 Advanced Topics Applications 1 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in computing systems.
Terms: Winter 2023
Instructors: Lin, Hsiu-Chin (Winter)
-
COMP 767 Advanced Topics: Applications 2 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in computing systems.
Terms: Winter 2023
Instructors: Rolnick, David (Winter)
Note: Each year the Ph.D. Committee will determine which category COMP 598 and COMP 599 belong to according to the subjects taught in those courses.