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 2015, Winter 2016
Instructors: Panangaden, Prakash (Fall) Panangaden, Prakash (Winter)
-
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 2015, Winter 2016, Summer 2016
Instructors: Panangaden, Prakash (Fall) Panangaden, Prakash (Winter)
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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
COMP 524 Theoretical Foundations of Programming Languages (3 credits)
Overview
Computer Science (Sci) : Operational and denotational semantics of programming languages. Equivalence theorems for first-order languages. Lambda calculus. Type-inference, typed lambda calculus. Polymorphism. Elements of domain theory and fixed-point induction.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
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: Winter 2016
Instructors: Therien, Denis (Winter)
3 hours
Prerequisite: COMP 330
-
COMP 540 Matrix Computations (3 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: Fall 2015
Instructors: Chang, Xiao-Wen (Fall)
-
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: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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: Winter 2016
Instructors: Shepherd, Frederick (Winter)
-
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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
COMP 560 Graph Algorithms and Applications (3 credits)
Overview
Computer Science (Sci) : Algorithms for connectivity, partitioning, clustering, colouring and matching. Isomorphism testing. Algorithms for special classes of graphs. Layout and embedding algorithms for graphs and networks.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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 2015
Instructors: Blanchette, Mathieu (Fall)
4 hours
Prerequisites: COMP 251, and MATH 323 or MATH 203 or BIOL 309
Restrictions: Not open to students who have taken COMP 562. Not open to students who are taking or have taken 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 564 Computational Gene Regulation (3 credits)
Overview
Computer Science (Sci) : This course examines computational problems related to gene regulation at the mRNA and protein levels. With respect to mRNA expression, topics include microarray analysis, SNP detection, and the inference of genetic networks. With respect to protein expression, topics include peptide sequencing, peptide identification, and the interpretation of interaction maps.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
3 hours
Prerequisite: COMP 462.
-
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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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: Winter 2016
Instructors: Lamghari, Amina; Dimitrakopoulos, Roussos (Winter)
-
COMP 598 Topics in Computer Science 1 (3 credits)
Overview
Computer Science (Sci) : Topics in computer science.
Terms: Fall 2015
Instructors: Pineau, Joelle; Langer, Michael (Fall)
3 hours
Prerequisite: Permission of instructor.
-
COMP 599 Topics in Computer Science 2 (3 credits)
Overview
Computer Science (Sci) : Topics in computer science.
Terms: Fall 2015, Winter 2016
Instructors: Cheung, Jackie; Liu, Xue (Fall) Panangaden, Prakash (Winter)
3 hours
Prerequisite: Permission of instructor.
-
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: Winter 2016
Instructors: Reed, Bruce Alan (Winter)
3 hours
-
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: Winter 2016
Instructors: Hallett, Michael Trevor (Winter)
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 627 Theoretical Programming Languages (4 credits)
Overview
Computer Science (Sci) : Programming language semantics. Lambda calculus, the Church Rosser theorem, typed lambda calculus, the strong normalization theorem, polymorphism, type inference, elements of domain theory, models of the lambda calculus, relating operational and denotational semantics, full abstraction. Reasoning about programs. Soundness and relative completeness of program logics.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
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: Winter 2016
Instructors: Chang, Xiao-Wen (Winter)
-
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: Winter 2016
Instructors: Crepeau, Claude (Winter)
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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
Prerequisite: COMP 547 and permission of the instructor.
Restriction: An introduction to notions of Information Theory is required.
-
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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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 2015
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: Winter 2016
Instructors: Reed, Bruce Alan; Hatami, Hamed (Winter)
-
COMP 761 Advanced Topics Theory 2 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in theory related to computer science.
Terms: Fall 2015
Instructors: Vetta, Adrian Roshan (Fall)
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 2015
Instructors: Kemme, Bettina (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 2016
Instructors: Hendren, Laurie (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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
COMP 522 Modelling and Simulation (4 credits)
Overview
Computer Science (Sci) : Simulation and modelling processes, state automata, Petri Nets, state charts, discrete event systems, continuous-time models, hybrid models, system dynamics and object-oriented modelling.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
COMP 526 Probabilistic Reasoning and AI (3 credits)
Overview
Computer Science (Sci) : Belief networks, Utility theory, Markov Decision Processes and Learning Algorithms.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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: Fall 2015
Instructors: Robillard, Martin (Fall)
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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
COMP 535 Computer Networks 1 (3 credits)
Overview
Computer Science (Sci) : Exposition of the first four layers of the ISO model for computer network protocols, i.e., the physical, data, network, and transport layers. Basic hardware and software issues with examples drawn from existing networks, notably SNA, DECnet, and ARPAnet.
Terms: Fall 2015
Instructors: Liu, Xue (Fall)
-
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 2015
Instructors: Langer, Michael (Fall)
3 hours
Restrictions: Not open to students who have taken COMP 646.
-
COMP 557 Fundamentals of Computer Graphics (3 credits)
Overview
Computer Science (Sci) : The study of fundamental mathematical, algorithmic and representational issues in computer graphics. The topics to be covered are: overview of graphics process, projective geometry, homogeneous coordinates, projective transformations, quadrics and tensors, line-drawing, surface modelling and object modelling reflectance models and rendering, texture mapping, polyhedral representations, procedural modelling, and animation.
Terms: Fall 2015
Instructors: Kry, Paul (Fall)
-
COMP 558 Fundamentals of Computer Vision (3 credits)
Overview
Computer Science (Sci) : Biological vision, edge detection, projective geometry and camera modelling, shape from shading and texture, stereo vision, optical flow, motion analysis, object representation, object recognition, graph theoretic methods, high level vision, applications.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
COMP 575 Fundamentals of Distributed Algorithms (3 credits)
Overview
Computer Science (Sci) : Study of a collection of algorithms that are basic to the world of concurrent programming. Discussion of algorithms from the following areas: termination detection, deadlock detection, global snapshots, clock synchronization, fault tolerance (byzantine and self-stabilizing systems). Students will implement algorithms on the BBN butterfly and will present papers on topics in these areas.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
3 hours
Prerequisite: COMP 310
-
COMP 598 Topics in Computer Science 1 (3 credits)
Overview
Computer Science (Sci) : Topics in computer science.
Terms: Fall 2015
Instructors: Pineau, Joelle; Langer, Michael (Fall)
3 hours
Prerequisite: Permission of instructor.
-
COMP 599 Topics in Computer Science 2 (3 credits)
Overview
Computer Science (Sci) : Topics in computer science.
Terms: Fall 2015, Winter 2016
Instructors: Cheung, Jackie; Liu, Xue (Fall) Panangaden, Prakash (Winter)
3 hours
Prerequisite: Permission of instructor.
-
COMP 612 Database Programming Principles (4 credits)
Overview
Computer Science (Sci) : Database programming using the relational algebra. Integrates the relational model of databases with principles of high-level programming languages. Includes functional and object-oriented paradigms, logic programming, recursive data structures, scoping, and procedural and data abstraction. Applications to knowledge bases, data mining, semistructured data, Internet DB.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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: Fall 2015
Instructors: Hendren, Laurie (Fall)
-
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: Winter 2016
Instructors: Precup, Doina (Winter)
-
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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 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 2015
Instructors: Hendren, Laurie (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 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
COMP 764 Advanced Topics Systems 1 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in computing systems.
Terms: Winter 2016
Instructors: He, Wenbo (Winter)
-
COMP 765 Advanced Topics Systems 2 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in computing systems.
Terms: Winter 2016
Instructors: Dudek, Gregory L; Meger, David (Winter)
-
COMP 766 Advanced Topics Applications 1 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in computing systems.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
-
COMP 767 Advanced Topics: Applications 2 (4 credits)
Overview
Computer Science (Sci) : Advanced topics in computing systems.
Terms: This course is not scheduled for the 2015-2016 academic year.
Instructors: There are no professors associated with this course for the 2015-2016 academic year.
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.