Feedback

Note: This is the 20132014 edition of the eCalendar. For the most recent publication, click here.

Doctor of Philosophy (Ph.D.); Computer Science

Offered by: Computer Science     Degree: Doctor of Philosophy

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

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : An examination that must be passed by all doctoral candidates in order to continue in the doctoral program.

    Terms: Fall 2013, Winter 2014

    Instructors: Xiao-Wen Chang (Fall) Xiao-Wen Chang (Winter)

  • COMP 701 Thesis Proposal and Area Examination (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013, Winter 2014, Summer 2014

    Instructors: Xiao-Wen Chang (Fall) Xiao-Wen Chang (Winter)

Complementary Courses

18-24 credits selected from:

Category A: Theory and Applications

  • COMP 523 Language-based Security (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisites: COMP 302, COMP 330.
  • COMP 524 Theoretical Foundations of Programming Languages (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisites: COMP 302 and COMP 330.
  • COMP 525 Formal Verification (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisites: COMP 251 and COMP 330.
  • COMP 531 Advanced Theory of Computation (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2014

    Instructors: Denis Therien (Winter)

    • 3 hours
    • Prerequisite: COMP 330
  • COMP 540 Matrix Computations (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013

    Instructors: Xiao-Wen Chang (Fall)

    • 3 hours
    • Prerequisite: MATH 327 or COMP 350
  • COMP 547 Cryptography and Data Security (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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: Winter 2014

    Instructors: Claude Crepeau (Winter)

    • 3 hours
    • Prerequisites: COMP 360 or COMP 362, MATH 323.
  • COMP 552 Combinatorial Optimization (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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: Fall 2013

    Instructors: Frederick Shepherd (Fall)

    • 4 hours
    • Prerequisite: Math 350 or COMP 362 (or equivalent).
    • Restriction: This course is reserved for undergraduate honours students and graduate students. Not open to students who have taken or are taking MATH 552.
  • COMP 554 Approximation Algorithms (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • Prerequisites: COMP 362 or MATH 350 or permission of instructor. Strong background in algorithms and/or mathematics.
    • Restriction: Not open to students who have taken COMP 692
  • COMP 560 Graph Algorithms and Applications (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisite: COMP 360 or COMP 431 or MATH 343
  • COMP 561 Computational Biology Methods and Research (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013

    Instructors: Jérôme Waldispuhl (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)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisite: COMP 462.
  • COMP 566 Discrete Optimization 1 (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisites: COMP 360 and MATH 223
  • COMP 567 Discrete Optimization 2 (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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: Fall 2013

    Instructors: David Avis (Fall)

    • 3 hours
    • Prerequisites: COMP 566 or MATH 417
  • COMP 598 Topics in Computer Science 1 (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Topics in computer science.

    Terms: Fall 2013, Winter 2014

    Instructors: Joelle Pineau (Fall) Jérôme Waldispuhl (Winter)

    • 3 hours
    • Prerequisite: Permission of instructor.
  • COMP 599 Topics in Computer Science 2 (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Topics in computer science.

    Terms: Winter 2014

    Instructors: Bruce Alan Reed (Winter)

    • 3 hours
    • Prerequisite: Permission of instructor.
  • COMP 610 Information Structures 1 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2014

    Instructors: Luc P Devroye (Winter)

    • 3 hours
  • COMP 618 Bioinformatics: Functional Genomics (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2014

    Instructors: Michael Trevor Hallett (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)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisites: COMP 524 and COMP 530
  • COMP 642 Numerical Estimation Methods (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2014

    Instructors: Xiao-Wen Chang (Winter)

    • (4 hours)
    • Prerequisites: MATH 323, MATH 324 and COMP 350
  • COMP 647 Advanced Cryptography (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisite: COMP 547
  • COMP 649 Quantum Cryptography (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 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)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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: Winter 2014

    Instructors: Mathieu Blanchette (Winter)

    • Prerequisite: COMP 462 or with instructor's permission.
  • COMP 690 Probabilistic Analysis of Algorithms (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013

    Instructors: Luc P Devroye (Fall)

    • 3 hours
  • COMP 760 Advanced Topics Theory 1 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : Advanced topics in theory related to computer science.

    Terms: Winter 2014

    Instructors: Hamed Hatami (Winter)

  • COMP 761 Advanced Topics Theory 2 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : Advanced topics in theory related to computer science.

    Terms: This course is not scheduled for the 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

Category B: Systems and Applications

  • COMP 512 Distributed Systems (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013

    Instructors: Bettina Kemme (Fall)

    • 4 hours
    • Prerequisites: COMP 310, COMP 251 or equivalent.
  • COMP 520 Compiler Design (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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: Fall 2013

    Instructors: Matthieu Dubet (Fall)

    • 3 hours, 1 hour consultation
    • Prerequisites: COMP 273 and COMP 302
  • COMP 521 Modern Computer Games (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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: Winter 2014

    Instructors: Clark Verbrugge (Winter)

    • 4 hours
    • Prerequisite: COMP 303 or COMP 361.
    • Corequisite: COMP 557.
  • COMP 522 Modelling and Simulation (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisites: COMP 251, COMP 302
  • COMP 526 Probabilistic Reasoning and AI (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Belief networks, Utility theory, Markov Decision Processes and Learning Algorithms.

    Terms: This course is not scheduled for the 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisites: COMP 206, COMP 360, COMP 424 and MATH 323
  • COMP 529 Software Architecture (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Development, analysis, and maintenance of software architectures, with special focus on modular decomposition and reverse engineering.

    Terms: Winter 2014

    Instructors: Joseph P Vybihal (Winter)

    • 4 hours
    • Prerequisite: COMP 303 or COMP 304.
  • COMP 533 Model-Driven Software Development (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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: Fall 2013

    Instructors: Jorg Andreas Kienzle (Fall)

    • 3 hours
    • Prerequisite: COMP 335 or ECSE 321 or COMP 303 or COMP 361
  • COMP 535 Computer Networks 1 (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013

    Instructors: Muthucumaru Maheswaran (Fall)

    • 3 hours
    • Prerequisite: COMP 310
    • Restriction: Students may not take both COMP 435 and COMP 535 for credit
  • COMP 546 Computational Perception (4 credits)

    Offered by: Computer Science (Faculty of Science)

    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: This course is not scheduled for the 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Restrictions: Not open to students who have taken COMP 646.
  • COMP 557 Fundamentals of Computer Graphics (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013

    Instructors: Paul Kry (Fall)

    • 3 hours
    • Prerequisite: MATH 223, COMP 251, COMP 206
  • COMP 558 Fundamentals of Computer Vision (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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: Fall 2013

    Instructors: Kaleem Siddiqi (Fall)

    • 3 hours
    • Prerequisites: COMP 206, COMP 360, MATH 222, MATH 223
    • Restriction: not open to students who have taken 308-766 before January 2001
  • COMP 575 Fundamentals of Distributed Algorithms (3 credits)

    Offered by: Computer Science (Faculty of Science)

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
    • Prerequisite: COMP 310
  • COMP 598 Topics in Computer Science 1 (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Topics in computer science.

    Terms: Fall 2013, Winter 2014

    Instructors: Joelle Pineau (Fall) Jérôme Waldispuhl (Winter)

    • 3 hours
    • Prerequisite: Permission of instructor.
  • COMP 599 Topics in Computer Science 2 (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Topics in computer science.

    Terms: Winter 2014

    Instructors: Bruce Alan Reed (Winter)

    • 3 hours
    • Prerequisite: Permission of instructor.
  • COMP 612 Database Programming Principles (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • 3 hours
  • COMP 614 Distributed Data Management (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • Prerequisites: COMP 421 and one of COMP 435 or COMP 535 or COMP 512, or equivalent.
  • COMP 621 Program Analysis and Transformations (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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: Winter 2014

    Instructors: Laurie Hendren (Winter)

    • 3 hours
    • Prerequisite: COMP 251 or equivalent, COMP 302 or equivalent, COMP 520 is useful but not strictly necessary
  • COMP 652 Machine Learning (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2014

    Instructors: Doina Precup (Winter)

    • Prerequisites: COMP 424, COMP 526 or ECSE 526, COMP 360, MATH 323 or ECSE 305.
  • COMP 655 Distributed Simulation (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • Prerequisite: COMP 310 or equivalent.
  • COMP 667 Software Fault Tolerance (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    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 2013-2014 academic year.

    Instructors: There are no professors associated with this course for the 2013-2014 academic year.

    • Prerequisite: COMP 409 or permission of instructor
  • COMP 762 Advanced Topics Programming 1 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : Advanced topics in programming.

    Terms: Winter 2014

    Instructors: Martin Robillard (Winter)

  • COMP 763 Advanced Topics Programming 2 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : Advanced topics in programming.

    Terms: Fall 2013

    Instructors: Laurie Hendren (Fall)

  • COMP 764 Advanced Topics Systems 1 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : Advanced topics in computing systems.

    Terms: Winter 2014

    Instructors: Wenbo He (Winter)

  • COMP 765 Advanced Topics Systems 2 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : Advanced topics in computing systems.

    Terms: Winter 2014

    Instructors: Gregory L Dudek (Winter)

  • COMP 766 Advanced Topics Applications 1 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : Advanced topics in computing systems.

    Terms: Winter 2014

    Instructors: Kaleem Siddiqi (Winter)

  • COMP 767 Advanced Topics: Applications 2 (4 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Graduate Studies

    Overview

    Computer Science (Sci) : Advanced topics in computing systems.

    Terms: Winter 2014

    Instructors: Derek Ruths (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.

Faculty of Science—2013-2014 (last updated Aug. 21, 2013) (disclaimer)