Courses@CS

COMP 102 Computers and Computing

A course for students with no previous knowledge of computer science. The impact of computers on society. Web design and dynamic content. The inner workings of computers (hardware). Networking principles. Algorithm design and programming. A look at how computers store data (image, sound, and video). Software distribution policies and mechanisms.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Michael Trevor Hallett (Fall) Derek Ruths (Winter)

Prerequisites: high school level mathematics course on functions.

Restrictions: Credit will not be given for COMP 102 if it is taken concurrently with, or after, any of: COMP 202, COMP 203, COMP 208, COMP 250. Management students cannot receive credit for COMP 102.

McGill eCalendar

COMP 189 Computers and Society

How computer technologies shape social notions such as ownership, safety, and privacy. Emphasis is on computer science powering both day-to-day technologies (e.g., online social media) and those in the news (e.g., cyberwar). Discussions will investigate technology and social issues in order to understand both.

Credits: 3

Terms Offered: Fall 2016

Instructor: Derek Ruths (Fall)

Prerequisites:

McGill eCalendar

COMP 199 FYS: Excursions in Computer Science Unavailable

This is a seminar format course intended for freshman and other beginning students. The topics are chosen to encourage critical discussion of fundamental ideas. Possible topics are computability, complexity, geometry, vision, AI, pattern recognition, machine models, cryptography and security and social implications of computing.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: high school mathematics

Restrictions: Open only to newly admitted students in U0 or U1, who may take only one FYS. Students who register for more than one will be obliged to withdraw from all but one of them.

Notes: Maximum 25

McGill eCalendar

COMP 202 Foundations of Programming

Introduction to computer programming in a high level language: variables, expressions, primitive types, methods, conditionals, loops. Introduction to algorithms, data structures (arrays, strings), modular software design, libraries, file input/output, debugging, exception handling. Selected topics.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Kaleem Siddiqi, Melanie Lyman-Abramovitch, Daniel Pomerantz (Fall) Jackie Cheung (Winter)

Prerequisites: a CEGEP level mathematics course

Restrictions: COMP 202 and COMP 208 cannot both be taken for credit. COMP 202 is intended as a general introductory course, while COMP 208 is intended for students interested in scientific computation. COMP 202 cannot be taken for credit with or after COMP 250

McGill eCalendar

COMP 206 Introduction to Software Systems

Comprehensive overview of programming in C, use of system calls and libraries, debugging and testing of code; use of developmental tools like make, version control systems.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: David Meger (Fall) Joseph P Vybihal (Winter)

Prerequisites: COMP 202 or COMP 250

McGill eCalendar

COMP 208 Computers in Engineering

Introduction to computer systems. Concepts and structures for high level programming. Elements of structured programming using FORTRAN 90 and C. Numerical algorithms such as root finding, numerical integration and differential equations. Non-numerical algorithms for sorting and searching.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Nathan Friedman (Fall) Nathan Friedman (Winter)

Prerequisites: differential and integral calculus.

Restrictions: COMP 202 and COMP 208 cannot both be taken for credit. COMP 202 is intended as a general introductory course, while COMP 208 is intended for students interested in scientific computations. Credits for either of these courses will not count towards the 60-credit Major in Computer Science. COMP 208 cannot be taken for credit with or after COMP 250.

Notes: Corequisite: linear algebra: determinants, vectors, matrix operations.

McGill eCalendar

COMP 230 Logic and Computability

Propositional Logic, predicate calculus, proof systems, computability Turing machines, Church-Turing thesis, unsolvable problems, completeness, incompleteness, Tarski semantics, uses and misuses of Gödel's theorem.

Credits: 3

Terms Offered: Fall 2016

Instructor: Oran Magal (Fall)

Prerequisites: CEGEP level mathematics.

McGill eCalendar

COMP 250 Introduction to Computer Science

Mathematical tools (binary numbers, induction, recurrence relations, asymptotic complexity, establishing correctness of programs), Data structures (arrays, stacks, queues, linked lists, trees, binary trees, binary search trees, heaps, hash tables), Recursive and non-recursive algorithms (searching and sorting, tree and graph traversal). Abstract data types, inheritance. Selected topics.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Michael Langer (Fall) Mathieu Blanchette (Winter)

Prerequisites: Familiarity with a high level programming language and CEGEP level Math.

Notes: Students with limited programming experience should take COMP 202 or equivalent before COMP 250. See COMP 202 Course Description for a list of topics.

McGill eCalendar

COMP 251 Algorithms and Data Structures

Introduction to algorithm design and analysis. Graph algorithms, greedy algorithms, data structures, dynamic programming, maximum flows.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Claude Crepeau (Fall) Jérôme Waldispuhl (Winter)

Prerequisites: COMP 250

Restrictions: Not open to students who have taken or are taking COMP 252.

McGill eCalendar

COMP 252 Honours Algorithms and Data Structures

The design and analysis of data structures and algorithms. The description of various computational problems and the algorithms that can be used to solve them, along with their associated data structures. Proving the correctness of algorithms and determining their computational complexity.

Credits: 3

Terms Offered: Winter 2017

Instructor: Luc P Devroye (Winter)

Prerequisites: COMP 250 and MATH 240

Restrictions: Open only to students registered in following programs: Honours in Computer Science, Joint Honours in Mathematics and Computer Science, Honours in Applied Mathematics, Honours in Mathematics. Not open to students who have taken or are taking COMP 251.

Notes: Note: COMP 252 can be used instead of COMP 251 to satisfy prerequisites.

McGill eCalendar

COMP 273 Introduction to Computer Systems

Number representations, combinational and sequential digital circuits, MIPS instructions and architecture datapath and control, caches, virtual memory, interrupts and exceptions, pipelining.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Paul Kry (Fall) Joseph P Vybihal (Winter)

Prerequisites:

Notes: Corequisite: COMP 206.

McGill eCalendar

COMP 280 History and Philosophy of Computing Unavailable

A history of early mathematical computation. Symbolic logic and computation. Modern computer systems and networks. The rise of the internet.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

McGill eCalendar

COMP 302 Programming Languages and Paradigms

Programming language design issues and programming paradigms. Binding and scoping, parameter passing, lambda abstraction, data abstraction, type checking. Functional and logic programming.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Clark Verbrugge (Fall) Prakash Panangaden (Winter)

Prerequisites: COMP 250

Notes: 3 hours

McGill eCalendar

COMP 303 Software Design

Principles, mechanisms, techniques, and tools for object-oriented software design and its implementation, including encapsulation, design patterns, and unit testing.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Joseph P Vybihal (Fall) Martin Robillard (Winter)

Prerequisites: COMP 206, COMP 250.

McGill eCalendar

COMP 307 Principles of Web Development

The course discusses the major principles, algorithms, languages and technologies that underlie web development. Students receive practical hands-on experience through a project.

Credits: 2

Terms Offered: Fall 2016

Instructor: Joseph P Vybihal (Fall)

Prerequisites: COMP 206

Notes: Corequisite(s): COMP 303

McGill eCalendar

COMP 308 Computer Systems Lab

Digital circuitry and programming interface of peripheral circuit boards (cards), e.g., graphics cards; introduction to tools and libraries that interact with the card; performance issues.

Credits: 1

Terms Offered: Winter 2017

Instructor: Joseph P Vybihal (Winter)

Prerequisites: COMP 273.

McGill eCalendar

COMP 310 Operating Systems

Control and scheduling of large information processing systems. Operating system software - resource allocation, dispatching, processors, access methods, job control languages, main storage management. Batch processing, multiprogramming, multiprocessing, time sharing.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Muthucumaru Maheswaran (Fall) Muthucumaru Maheswaran (Winter)

Prerequisites: COMP 273

McGill eCalendar

COMP 321 Programming Challenges

Development of programming skills on tricky challenges, games and puzzles by means of programming competitions.

Credits: 1

Terms Offered: Fall 2016

Instructor: David Becerra Romero (Fall)

Prerequisites: COMP 250 or COMP 206, MATH 223 and MATH 240.

Notes: Note: At the end of the class, interested students are encouraged to join the McGill team to participate in the annual ACM International Collegiate Programming Competition.

McGill eCalendar

COMP 322 Introduction to C++

Basics and advanced features of the C++ language. Syntax, memory management, class structure, method and operator overloading, multiple inheritance, access control, stream I/O, templates, exception handling.

Credits: 1

Terms Offered: Winter 2017

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 250 and (COMP 206 or COMP 208)

McGill eCalendar

COMP 330 Theory of Computation

Finite automata, regular languages, context-free languages, push-down automata, models of computation, computability theory, undecidability, reduction techniques.

Credits: 3

Terms Offered: Fall 2016

Instructor: Hamed Hatami (Fall)

Prerequisites: COMP 251 and MATH 240.

McGill eCalendar

COMP 350 Numerical Computing

Computer representation of numbers, IEEE Standard for Floating Point Representation, computer arithmetic and rounding errors. Numerical stability. Matrix computations and software systems. Polynomial interpolation. Least-squares approximation. Iterative methods for solving a nonlinear equation. Discretization methods for integration and differential equations.

Credits: 3

Terms Offered: Fall 2016

Instructor: Xiao-Wen Chang (Fall)

Prerequisites: MATH 222 and MATH 223 and one of: COMP 202, COMP 208, COMP 250; or equivalents.

Restrictions: Students cannot receive credit for both COMP 350 and MATH 317.

McGill eCalendar

COMP 360 Algorithm Design

Advanced algorithm design and analysis. Linear programming, complexity and NP-completeness, advanced algorithmic techniques.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Yang Cai (Fall) Yang Cai (Winter)

Prerequisites: Either COMP 251 or COMP 252, and either MATH 240 or MATH 235 or MATH 363.

Restrictions: Not open to students who have taken or are taking COMP 362.

McGill eCalendar

COMP 361D1 Software Engineering Project

Software development process in practice: requirement elicitation and analysis, software design, implementation, integration, test planning, and maintenance. Application of the core concepts and techniques through the realization of a large software system.

Credits: 3

Terms Offered: Fall 2016

Instructor: Jorg Andreas Kienzle (Fall)

Prerequisites: COMP 206, COMP 250

Restrictions: Not open to students who have taken the 3 credit version of COMP 361.

Notes: No credit will be given for this course unless both COMP 361D1 and COMP 361D2 are successfully completed in consecutive terms

McGill eCalendar

COMP 361D2 Software Engineering Project

See COMP 361D1 for course description.

Credits: 3

Terms Offered: Winter 2017

Instructor: Jorg Andreas Kienzle (Winter)

Prerequisites: COMP 361D1

Notes: No credit will be given for this course unless both COMP 361D1 and COMP 361D2 are successfully completed in consecutive terms

McGill eCalendar

COMP 362 Honours Algorithm Design

Basic algorithmic techniques, their applications and limitations. Problem complexity, how to deal with problems for which no efficient solutions are known.

Credits: 3

Terms Offered: Winter 2017

Instructor: Hamed Hatami (Winter)

Prerequisites: COMP 252

Restrictions: Not open to students who have taken or are taking COMP 360.

Notes: Note: COMP 362 can be used instead of COMP 360 to satisfy prerequisites.

McGill eCalendar

COMP 364 Computer Tools for Life Sciences

Concepts and tools for programmatic storage, retrieval, searching, numerical analysis, and visualization of large biological data sets.

Credits: 3

Terms Offered: Winter 2017

Instructor: Michael Trevor Hallett (Winter)

Prerequisites: BIOL 200.

Restrictions: Not available to students in Computer Science or Joint Computer Science programs.

Notes: Note: It is recommended that students have already taken a laboratory course (e.g., BIOL 301 Cell and Molecular Laboratory). Topics motivated by biological questions.

McGill eCalendar

COMP 396 Undergraduate Research Project

Independent research project with a final written report.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Nathan Friedman (Fall) Nathan Friedman (Winter)

Prerequisites:

Restrictions: This course cannot be taken under the S/U option. Departmental permission required. Students cannot be supervised by the same instructor for two 396 Science courses. Open to students in programs offered by the Faculty of Science only.

Notes: Note: Enrolment may be limited. Students are advised to start the application process well before the start of the term and to plan for an alternative course in the case that no suitable project is available. Individual projects may be suggested each term which may have project-specific prerequisites. Students may also approach professors to devise their own projects. Some projects may be accessible to students in other disciplines. See http://www.mcgill.ca/science/ours for more information about available projects and application forms and procedures.

McGill eCalendar

COMP 400 Honours Project in Computer Science

A computer related project, typically a programming effort, along with a report will be carried out in cooperation with a staff member in the School of Computer Science.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Nathan Friedman (Fall) Nathan Friedman (Winter)

Prerequisites: 15 Computer Science credits.

Restrictions: For Honours students

McGill eCalendar

COMP 401 Project in Biology and Computer Science

A research project applying computational approaches to a biological problem. The project is (co)-supervised by a professor in Computer Science and/or Biology. A program advisor from each department has to approve the project.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Mathieu Blanchette (Fall) Mathieu Blanchette (Winter)

Prerequisites: COMP 251 and 9 credits of BIOL courses, BIOL 301 recommended.

Restrictions: Registration in the Biology and Computer Science joint major.

Notes: Note: having taken BIOL 301 before COMP 401 is beneficial for finding a project within a Biology lab.

McGill eCalendar

COMP 402D1 Honours Project in Computer Science and Biology

A two-semester research project applying computational approaches to a biological problem. The project is (co)-supervised by a professor in Computer Science and/or Biology or related fields.

Credits: 3

Terms Offered: Fall 2016

Instructor: Mathieu Blanchette (Fall)

Prerequisites: 9 credits of COMP courses and 9 credits of BIOL courses.

Restrictions: Only for students in the Joint Honours in Computer Science and Biology.

McGill eCalendar

COMP 402D2 Honours Project in Computer Science and Biology

A two-semester research project applying computational approaches to a biological problem. The project is (co)-supervised by a professor in Computer Science and/or Biology or related fields.

Credits: 3

Terms Offered: Winter 2017

Instructor: Mathieu Blanchette (Winter)

Prerequisites: 9 credits of COMP courses and 9 credits of BIOL courses. COMP 402D1

Restrictions: Only for students in the Joint Honours in Computer Science and Biology.

McGill eCalendar

COMP 409 Concurrent Programming

Characteristics and utility of concurrent programs; formal methods for specification, verification and development of concurrent programs; communications, synchronization, resource allocation and management, coherency and integrity.

Credits: 3

Terms Offered: Winter 2017

Instructor: Clark Verbrugge (Winter)

Prerequisites: COMP 251, COMP 302, and COMP 310 or ECSE 427

McGill eCalendar

COMP 417 Introduction Robotics and Intelligent Systems

This course considers issues relevant to the design of robotic and of intelligent systems. How can robots move and interact. Robotic hardware systems. Kinematics and inverse kinematics. Sensors, sensor data interpretation and sensor fusion. Path planning. Configuration spaces. Position estimation. Intelligent systems. Spatial mapping. Multi-agent systems. Applications.

Credits: 3

Terms Offered: Winter 2017

Instructor: David Meger (Winter)

Prerequisites: COMP 251, MATH 223 and (ECSE 321 or COMP 206).

McGill eCalendar

COMP 421 Database Systems

Database Design: conceptual design of databases (e.g., entity-relationship model), relational data model, functional dependencies. Database Manipulation: relational algebra, SQL, database application programming, triggers, access control. Database Implementation: transactions, concurrency control, recovery, query execution and query optimization.

Credits: 3

Terms Offered: Winter 2017

Instructor: Bettina Kemme (Winter)

Prerequisites: COMP 206, COMP 251, COMP 302

McGill eCalendar

COMP 424 Artificial Intelligence

Introduction to search methods. Knowledge representation using logic and probability. Planning and decision making under uncertainty. Introduction to machine learning.

Credits: 3

Terms Offered: Winter 2017

Instructor: Joelle Pineau (Winter)

Prerequisites: (COMP 206 or ECSE 321), MATH 323 or equivalent and COMP 251.

McGill eCalendar

COMP 462 Computational Biology Methods

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.

Credits: 3

Terms Offered: Fall 2016

Instructor: Mathieu Blanchette (Fall)

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 561.

McGill eCalendar

COMP 499 Undergraduate Bioinformatics Seminar

Introduction to current research topics in bioinformatics through a series of seminars by invited researchers.

Credits: 1

Terms Offered: Fall 2016

Instructor: Mathieu Blanchette (Fall)

Prerequisites: COMP 251 and 9 credits of BIOL courses, BIOL 301 recommended

Restrictions: Registration in the Computer Science and Biology joint major

McGill eCalendar

COMP 512 Distributed Systems Unavailable

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.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 310, COMP 251 or equivalent.

McGill eCalendar

COMP 520 Compiler Design

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Laurie Hendren (Winter)

Prerequisites: COMP 273 and COMP 302

McGill eCalendar

COMP 521 Modern Computer Games

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Clark Verbrugge (Winter)

Prerequisites: COMP 251, MATH 223 and (COMP 303 or COMP 361).

McGill eCalendar

COMP 522 Modelling and Simulation Unavailable

Simulation and modelling processes, state automata, Petri Nets, state charts, discrete event systems, continuous-time models, hybrid models, system dynamics and object-oriented modelling.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 251, COMP 302

McGill eCalendar

COMP 523 Language-based Security Unavailable

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.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 302, COMP 330.

McGill eCalendar

COMP 524 Theoretical Foundations of Programming Languages Unavailable

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.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 302 and COMP 330.

McGill eCalendar

COMP 525 Formal Verification

Propositional logic - syntax and semantics, temporal logic, other modal logics, model checking, symbolic model checking, binary decision diagrams, other approaches to formal verification.

Credits: 3

Terms Offered: Winter 2017

Instructor: Prakash Panangaden (Winter)

Prerequisites: COMP 251 and COMP 330.

McGill eCalendar

COMP 526 Probabilistic Reasoning and AI Unavailable

Belief networks, Utility theory, Markov Decision Processes and Learning Algorithms.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 206, COMP 360, COMP 424 and MATH 323

McGill eCalendar

COMP 527 Logic and Computation Unavailable

Introduction to modern constructive logic, its mathematical properties, and its numerous applications in computer science.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 302

Restrictions: Not open to students who have taken COMP 426

McGill eCalendar

COMP 529 Software Architecture

Development, analysis, and maintenance of software architectures, with special focus on modular decomposition and reverse engineering.

Credits: 4

Terms Offered: Fall 2016

Instructor: Joseph P Vybihal (Fall)

Prerequisites: COMP 303.

McGill eCalendar

COMP 531 Advanced Theory of Computation

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.

Credits: 3

Terms Offered: Winter 2017

Instructor: Denis Therien (Winter)

Prerequisites: COMP 330

McGill eCalendar

COMP 533 Model-Driven Software Development

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.

Credits: 3

Terms Offered: Fall 2016

Instructor: Jorg Andreas Kienzle (Fall)

Prerequisites: ECSE 321 or COMP 303 or COMP 361

McGill eCalendar

COMP 535 Computer Networks 1

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.

Credits: 3

Terms Offered: Winter 2017

Instructor: Xue Liu (Winter)

Prerequisites: COMP 310

Restrictions: Students may not take both COMP 435 and COMP 535 for credit

McGill eCalendar

COMP 540 Matrix Computations

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.

Credits: 3

Terms Offered: Fall 2016

Instructor: Xiao-Wen Chang (Fall)

Prerequisites: MATH 327 or COMP 350

McGill eCalendar

COMP 546 Computational Perception

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Michael Langer (Winter)

Prerequisites:

Restrictions: Not open to students who have taken COMP 646.

McGill eCalendar

COMP 547 Cryptography and Data Security

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Claude Crepeau (Winter)

Prerequisites: COMP 360 or COMP 362, MATH 323.

McGill eCalendar

COMP 551 Applied Machine Learning

Selected topics in machine learning and data mining, including clustering, neural networks, support vector machines, decision trees. Methods include feature selection and dimensionality reduction, error estimation and empirical validation, algorithm design and parallelization, and handling of large data sets. Emphasis on good methods and practices for deployment of real systems.

Credits: 4

Terms Offered: Fall 2016

Instructor: Joelle Pineau (Fall)

Prerequisites: MATH 323 or ECSE 205 or ECSE 305 or equivalent

Restrictions: Not open to students who have taken COMP 598 when topic was "Applied Machine Learning"

Notes: Some background in Artificial Intelligence is recommended, e.g. COMP-424 or ECSE-526, but not required.

McGill eCalendar

COMP 552 Combinatorial Optimization

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Frederick Shepherd (Winter)

Prerequisites: Math 350 or COMP 362 (or equivalent).

Restrictions: This course is reserved for undergraduate honours students and graduate students. Not open to students who have taken or are taking MATH 552.

McGill eCalendar

COMP 553 Algorithmic Game Theory

Foundations of game theory. Computation aspects of equilibria. Theory of auctions and modern auction design. General equilibrium theory and welfare economics. Algorithmic mechanism design. Dynamic games.

Credits: 4

Terms Offered: Fall 2016

Instructor: Yang Cai (Fall)

Prerequisites: COMP 362 or MATH 350 or MATH 354 or MATH 487, or instructor permission

Restrictions: Not open to students who are taking or have taken MATH 553

McGill eCalendar

COMP 554 Approximation Algorithms

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Frederick Shepherd (Winter)

Prerequisites: COMP 362 or MATH 350 or permission of instructor. Strong background in algorithms and/or mathematics.

Restrictions: Not open to students who have taken COMP 692

McGill eCalendar

COMP 557 Fundamentals of Computer Graphics

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.

Credits: 3

Terms Offered: Fall 2016

Instructor: Paul Kry (Fall)

Prerequisites: MATH 223, COMP 251, COMP 206

McGill eCalendar

COMP 558 Fundamentals of Computer Vision

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.

Credits: 3

Terms Offered: Winter 2017

Instructor: Michael Langer, Kaleem Siddiqi (Winter)

Prerequisites: COMP 206, COMP 360, MATH 222, MATH 223

Restrictions: not open to students who have taken 308-766 before January 2001

McGill eCalendar

COMP 559 Fundamentals of Computer Animation

Fundamental mathematical and computational issues in computer animation with a focus on physics based simulation: overview of numerical integration methods, accuracy and absolute stability, stiff systems and constraints, rigid body motion, collision detection and response, friction, deformation, stable fluid simulation, use of motion capture, and other selected topics.

Credits: 4

Terms Offered: Winter 2017

Instructor: Paul Kry (Winter)

Prerequisites: COMP 557

McGill eCalendar

COMP 560 Graph Algorithms and Applications Unavailable

Algorithms for connectivity, partitioning, clustering, colouring and matching. Isomorphism testing. Algorithms for special classes of graphs. Layout and embedding algorithms for graphs and networks.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 360 or COMP 431 or MATH 343

McGill eCalendar

COMP 561 Computational Biology Methods and Research

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.

Credits: 4

Terms Offered: Fall 2016

Instructor: Mathieu Blanchette (Fall)

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.

Notes: 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.

McGill eCalendar

COMP 564 Computational Gene Regulation Unavailable

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.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 462.

McGill eCalendar

COMP 566 Discrete Optimization 1 Unavailable

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.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 360 and MATH 223

McGill eCalendar

COMP 567 Discrete Optimization 2

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.

Credits: 3

Terms Offered: Winter 2017

Instructor: Amina Lamghari, Roussos Dimitrakopoulos (Winter)

Prerequisites: COMP 566 or MATH 417

McGill eCalendar

COMP 575 Fundamentals of Distributed Algorithms Unavailable

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.

Credits: 3

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 310

McGill eCalendar

COMP 598 Topics in Computer Science 1

Topics in computer science.

Credits: 3

Terms Offered: Fall 2016

Instructor: Jérôme Waldispuhl (Fall)

Prerequisites: Permission of instructor.

McGill eCalendar

COMP 599 Topics in Computer Science 2

Topics in computer science.

Credits: 3

Terms Offered: Fall 2016

Instructor: Jackie Cheung (Fall)

Prerequisites: Permission of instructor.

McGill eCalendar

COMP 601 Thesis Literature Review

Review of relevant literature in preparation for the M.Sc. research. This includes regular attendance of the Colloquium organized by the School of Computer Science.

Credits: 2

Terms Offered: Fall 2016, Winter 2017

Instructor: Gregory L Dudek, Prakash Panangaden, Michael Langer (Fall) Gregory L Dudek, Prakash Panangaden, Michael Langer (Winter)

Prerequisites:

McGill eCalendar

COMP 601D1 Thesis Literature Review Unavailable

Special topics in computer science.

Credits: 1

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

Restrictions: Computer Science students

Notes: COMP 601D1 and COMP 601D2 together are equal to COMP 601.

McGill eCalendar

COMP 601D2 Thesis Literature Review Unavailable

See COMP 601D1 for course description.

Credits: 1

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 601D1

Notes: COMP 601D1 and COMP 601D2 together are equal to COMP 601.

McGill eCalendar

COMP 601N1 Thesis Literature Review Unavailable

Special topics in computer science.

Credits: 1

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

Notes: COMP 601N1 and COMP 601N2 together are equal to COMP 601.

McGill eCalendar

COMP 601N2 Thesis Literature Review Unavailable

See COMP 601N1 for course description.

Credits: 1

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 601N1

Notes: COMP 601N1 and COMP 601N2 together are equal to COMP 601.

McGill eCalendar

COMP 610 Information Structures 1

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Claude Crepeau (Winter)

Prerequisites:

McGill eCalendar

COMP 612 Database Programming Principles Unavailable

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.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

McGill eCalendar

COMP 614 Distributed Data Management

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Bettina Kemme (Winter)

Prerequisites: COMP 421 and one of COMP 435 or COMP 535 or COMP 512, or equivalent.

McGill eCalendar

COMP 616D1 Bioinformatics Seminar Unavailable

Introduction to current trends in Bioinformatics and closely related fields such as genomics and proteomics.

Credits: 1.5

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

Restrictions: This seminar is restricted to graduate students in the Bioinformatics Option. Enrolment is limited to 30 students.

Notes: No credit will be given for this course unless both COMP 616D1 and COMP 616D2 are successfully completed in consecutive terms.

McGill eCalendar

COMP 616D2 Bioinformatics Seminar Unavailable

See COMP 616D1 for description.

Credits: 1.5

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 616D1.

Notes: No credit will be given for this course unless both COMP 616D1 and COMP 616D2 are successfully completed in consecutive terms.

McGill eCalendar

COMP 616N1 Bioinformatics Seminar Unavailable

Introduction to current trends in Bioinformatics and closely related fields such as genomics and proteomics.

Credits: 1.5

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

Notes: No credit will be given for this course unless both COMP 616N1 and COMP 616N2 are successfully completed in a twelve month period

McGill eCalendar

COMP 616N2 Bioinformatics Seminar Unavailable

See COMP 616N1 for course description.

Credits: 1.5

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 616N1

Notes: No credit will be given for this course unless both COMP 616N1 and COMP 616N2 are successfully completed in a twelve month period

McGill eCalendar

COMP 618 Bioinformatics: Functional Genomics

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.

Credits: 3

Terms Offered: Winter 2017

Instructor: Michael Trevor Hallett (Winter)

Prerequisites: 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.

McGill eCalendar

COMP 621 Program Analysis and Transformations

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.

Credits: 4

Terms Offered: Fall 2016

Instructor: Laurie Hendren (Fall)

Prerequisites: COMP 251 or equivalent, COMP 302 or equivalent, COMP 520 is useful but not strictly necessary

McGill eCalendar

COMP 627 Theoretical Programming Languages Unavailable

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.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 524 and COMP 530

McGill eCalendar

COMP 642 Numerical Estimation Methods

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Xiao-Wen Chang (Winter)

Prerequisites: MATH 323, MATH 324 and COMP 350

McGill eCalendar

COMP 647 Advanced Cryptography

Information theoretic definitions of security, zero-knowledge protocols, secure function evaluation protocols, cryptographic primitives, privacy amplification, error correction, quantum cryptography, quantum cryptanalysis.

Credits: 4

Terms Offered: Winter 2017

Instructor: Claude Crepeau (Winter)

Prerequisites: COMP 547

McGill eCalendar

COMP 649 Quantum Cryptography Unavailable

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.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 547 and permission of the instructor.

Restrictions: An introduction to notions of Information Theory is required.

McGill eCalendar

COMP 652 Machine Learning

An overview of state-of-the-art algorithms used in machine learning, including theoretical properties and practical applications of these algorithms.

Credits: 4

Terms Offered: Winter 2017

Instructor: Doina Precup (Winter)

Prerequisites: COMP 424, COMP 526 or ECSE 526, COMP 360, MATH 323 or ECSE 305.

McGill eCalendar

COMP 655 Distributed Simulation Unavailable

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).

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 310 or equivalent.

McGill eCalendar

COMP 667 Software Fault Tolerance Unavailable

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.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 409 or permission of instructor

McGill eCalendar

COMP 669 Computational Science Engineering Seminar Unavailable

Techniques and applications in computational science and engineering.

Credits: 1

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

Restrictions: This seminar course is open only to students who were admitted to the CSE Program Option.

McGill eCalendar

COMP 669D1 Computational Science Engineering Seminar Unavailable

Techniques and applications in computational science and engineering.

Credits: 0.5

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

Restrictions: This seminar course is open only to students who were admitted to the CSE Program Option.

Notes: COMP 669D1 and COMP 669D2 together are equal to COMP 669.

McGill eCalendar

COMP 669D2 Computational Science Engineering Seminar Unavailable

See COMP 669D1 for course description.

Credits: 0.5

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 669D1.

Notes: COMP 669D1 and COMP 669D2 together are equal to COMP 669.

McGill eCalendar

COMP 680 Mining Biological Sequences

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.

Credits: 4

Terms Offered: Winter 2017

Instructor: Mathieu Blanchette (Winter)

Prerequisites: COMP 462 or with instructor's permission.

McGill eCalendar

COMP 690 Probabilistic Analysis of Algorithms

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.

Credits: 4

Terms Offered: Fall 2016

Instructor: Luc P Devroye (Fall)

Prerequisites:

McGill eCalendar

COMP 691 Thesis Research 1

Ongoing research pertaining to thesis.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Xue Liu (Fall) Xue Liu (Winter)

Prerequisites:

Restrictions: Computer Science students

McGill eCalendar

COMP 693 Research Project 1

Ongoing research pertaining to project.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Xue Liu (Fall) Xue Liu (Winter)

Prerequisites:

Restrictions: Computer Science students

McGill eCalendar

COMP 694 Research Project 2

Ongoing research pertaining to project.

Credits: 6

Terms Offered: Fall 2016, Winter 2017

Instructor: Xue Liu (Fall) Xue Liu (Winter)

Prerequisites:

Restrictions: Computer Science students

McGill eCalendar

COMP 695 Research Project 3

Ongoing research pertaining to project.

Credits: 6

Terms Offered: Fall 2016, Winter 2017

Instructor: Xue Liu (Fall) Xue Liu (Winter)

Prerequisites:

Restrictions: Computer Science students

McGill eCalendar

COMP 696 Thesis Research 2

Ongoing research pertaining to thesis.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

Instructor: Xue Liu (Fall) Xue Liu (Winter)

Prerequisites:

Restrictions: Computer Science students

McGill eCalendar

COMP 697 Thesis Research 3

Ongoing research pertaining to thesis.

Credits: 4

Terms Offered: Fall 2016, Winter 2017

Instructor: Xue Liu (Fall) Xue Liu (Winter)

Prerequisites:

Restrictions: Computer Science students

McGill eCalendar

COMP 698 Thesis Research 4

Ongoing research pertaining to thesis.

Credits: 10

Terms Offered: Fall 2016, Winter 2017

Instructor: Xue Liu (Fall) Xue Liu (Winter)

Prerequisites:

Restrictions: Computer Science students

McGill eCalendar

COMP 699 Thesis Research 5

Ongoing research pertaining to thesis.

Credits: 12

Terms Offered: Fall 2016, Winter 2017

Instructor: Xue Liu (Fall) Xue Liu (Winter)

Prerequisites:

Restrictions: Computer Science students

McGill eCalendar

COMP 700 Ph.D. Comprehensive Examination

An examination that must be passed by all doctoral candidates in order to continue in the doctoral program.

Credits: 0

Terms Offered: Fall 2016, Winter 2017

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

Prerequisites:

McGill eCalendar

COMP 700D1 Ph.D. Comprehensive Examination Unavailable

An examination that must be passed by all doctoral candidates in order to continue in the doctoral program.

Credits: 0

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

Notes: COMP 700D1 and COMP 700D2 together are equivalent to COMP 700

McGill eCalendar

COMP 700D2 Ph.D. Comprehensive Examination Unavailable

See COMP 700D1 for course description.

Credits: 0

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites: COMP 700D1

Notes: COMP 700D1 and COMP 700D2 together are equivalent to COMP 700

McGill eCalendar

COMP 701 Thesis Proposal and Area Examination

Submission of doctorate thesis proposal and examination that assesses the student's breadth of knowledge in the research area.

Credits: 3

Terms Offered: Fall 2016, Winter 2017

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

Prerequisites:

McGill eCalendar

COMP 760 Advanced Topics Theory 1

Advanced topics in theory related to computer science.

Credits: 4

Terms Offered: Winter 2017

Instructor: Hamed Hatami (Winter)

Prerequisites:

McGill eCalendar

COMP 761 Advanced Topics Theory 2 Unavailable

Advanced topics in theory related to computer science.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

McGill eCalendar

COMP 762 Advanced Topics Programming 1

Advanced topics in programming.

Credits: 4

Terms Offered: Fall 2016

Instructor: Martin Robillard (Fall)

Prerequisites:

McGill eCalendar

COMP 763 Advanced Topics Programming 2 Unavailable

Advanced topics in programming.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

McGill eCalendar

COMP 764 Advanced Topics Systems 1 Unavailable

Advanced topics in computing systems.

Credits: 4

Terms Offered: This course is not scheduled for the 2016-2017 academic year.

Instructor: There are no professors associated with this course for the 2016-2017 academic year.

Prerequisites:

McGill eCalendar

COMP 765 Advanced Topics Systems 2

Advanced topics in computing systems.

Credits: 4

Terms Offered: Fall 2016

Instructor: David Meger (Fall)

Prerequisites:

McGill eCalendar

COMP 766 Advanced Topics Applications 1

Advanced topics in computing systems.

Credits: 4

Terms Offered: Fall 2016, Winter 2017

Instructor: Jérôme Waldispuhl (Fall) Kaleem Siddiqi (Winter)

Prerequisites:

McGill eCalendar

COMP 767 Advanced Topics: Applications 2

Advanced topics in computing systems.

Credits: 4

Terms Offered: Fall 2016

Instructor: Derek Ruths (Fall)

Prerequisites:

McGill eCalendar