Program Requirements
Students may complete this program with a minimum of 72 credits or a maximum of 78 credits depending if they are exempt from COMP 202/204/208 and/or MATH 222.
Program Prerequisites
Students must consult an Honours adviser in both departments to ensure that they have sufficient background to enter the program. The minimum requirements are the following courses or their equivalencies:

MATH 133 Linear Algebra and Geometry (3 credits)
Overview
Mathematics & Statistics (Sci) : Systems of linear equations, matrices, inverses, determinants; geometric vectors in three dimensions, dot product, cross product, lines and planes; introduction to vector spaces, linear dependence and independence, bases; quadratic loci in two and three dimensions.
Terms: Fall 2019, Winter 2020
Instructors: Rosalie BélangerRioux, Zayd Omar, Michael Albanese (Fall)
3 hours lecture, 1 hour tutorial
Prerequisite: a course in functions
Restriction A: Not open to students who have taken MATH 221 or CEGEP objective 00UQ or equivalent.
Restriction B: Not open to students who have taken or are taking MATH 123, MATH 130 or MATH 131, except by permission of the Department of Mathematics and Statistics.
Restriction C: Not open to students who are taking or have taken MATH 134.

MATH 150 Calculus A (4 credits)
Overview
Mathematics & Statistics (Sci) : Functions, limits and continuity, differentiation, L'Hospital's rule, applications, Taylor polynomials, parametric curves, functions of several variables.
Terms: Fall 2019
Instructors: Charles Roth (Fall)
Fall
3 hours lecture, 2 hours tutorial
Students with no prior exposure to vector geometry are advised to take MATH 133 concurrently. Intended for students with high school calculus who have not received six advanced placement credits
Restriction: Not open to students who have taken CEGEP objective 00UN or equivalent
Restriction Note B: Not open to students who have taken or are taking MATH 122 or MATH 130 or MATH 131, except by permission of the Department of Mathematics and Statistics
MATH 150 and MATH 151 cover the material of MATH 139, MATH 140, MATH 141, MATH 222

MATH 151 Calculus B (4 credits)
Overview
Mathematics & Statistics (Sci) : Integration, methods and applications, infinite sequences and series, power series, arc length and curvature, multiple integration.
Terms: Winter 2020
Instructors: Charles Roth (Winter)
Winter
3 hours lecture; 2 hours tutorial
Each Tutorial section is enrolment limited
Prerequisite: MATH 150
Restriction: Not open to students who have taken CEGEP objective 00UP or equivalent
Restriction: Not open to students who have taken or are taking MATH 122 or MATH 130 or MATH 131, except by permission of the Department of Mathematics and Statistics
Restriction: Not open to students who have taken MATH 152
In particular, MATH 150/151 and MATH 140/141/222 are considered equivalent.
To be awarded the Honours degree, the student must have, at time of graduation, a CGPA of at least 3.00 in the required and complementary Mathematics courses of the program, as well as an overall CGPA of at least 3.00.
Required Courses
(3639 credits)
* Students who have successfully completed MATH 150/151 or an equivalent of MATH 222 on entering the program are not required to take MATH 222.

COMP 206 Introduction to Software Systems (3 credits)
Overview
Computer Science (Sci) : 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.
Terms: Fall 2019, Winter 2020
Instructors: Joseph P Vybihal (Fall) Joseph P Vybihal (Winter)

COMP 250 Introduction to Computer Science (3 credits)
Overview
Computer Science (Sci) : 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 nonrecursive algorithms (searching and sorting, tree and graph traversal). Abstract data types, inheritance. Selected topics.
Terms: Fall 2019, Winter 2020
Instructors: Michael Langer, Giulia Alberini (Fall) Giulia Alberini (Winter)

COMP 252 Honours Algorithms and Data Structures (3 credits)
Overview
Computer Science (Sci) : 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.
Terms: Winter 2020
Instructors: Luc P Devroye (Winter)
3 hours
Restrictions: (1) Open only to students in Honours programs. (2) Students cannot receive credit for both COMP 251 and COMP 252.
COMP 252 uses basic combinatorial counting methods that are covered in MATH 240 but not in MATH 235. Students who are unfamiliar with these methods should speak with the instructor for guidance.

COMP 273 Introduction to Computer Systems (3 credits)
Overview
Computer Science (Sci) : Number representations, combinational and sequential digital circuits, MIPS instructions and architecture datapath and control, caches, virtual memory, interrupts and exceptions, pipelining.
Terms: Fall 2019, Winter 2020
Instructors: Joseph P Vybihal (Fall) Kaleem Siddiqi (Winter)
3 hours
Corequisite: COMP 206.

COMP 302 Programming Languages and Paradigms (3 credits)
Overview
Computer Science (Sci) : Programming language design issues and programming paradigms. Binding and scoping, parameter passing, lambda abstraction, data abstraction, type checking. Functional and logic programming.
Terms: Fall 2019, Winter 2020
Instructors: Brigitte Pientka, Jacob Errington (Fall) Prakash Panangaden (Winter)
3 hours
Prerequisite: COMP 250

COMP 310 Operating Systems (3 credits)
Overview
Computer Science (Sci) : 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.
Terms: Fall 2019, Winter 2020
Instructors: Muthucumaru Maheswaran (Fall) Joseph P Vybihal (Winter)
3 hours
Prerequisite: COMP 273

COMP 330 Theory of Computation (3 credits)
Overview
Computer Science (Sci) : Finite automata, regular languages, contextfree languages, pushdown automata, models of computation, computability theory, undecidability, reduction techniques.
Terms: Fall 2019
Instructors: Claude Crepeau (Fall)
3 hours
Prerequisite: COMP 251.

COMP 362 Honours Algorithm Design (3 credits)
Overview
Computer Science (Sci) : Basic algorithmic techniques, their applications and limitations. Problem complexity, how to deal with problems for which no efficient solutions are known.
Terms: Winter 2020
Instructors: Bruce Alan Reed (Winter)

MATH 222 Calculus 3 (3 credits) *
Overview
Mathematics & Statistics (Sci) : Taylor series, Taylor's theorem in one and several variables. Review of vector geometry. Partial differentiation, directional derivative. Extreme of functions of 2 or 3 variables. Parametric curves and arc length. Polar and spherical coordinates. Multiple integrals.
Terms: Fall 2019, Winter 2020
Instructors: Jeremy Macdonald, Broderick Causley (Fall) Jérôme Fortier (Winter)

MATH 235 Algebra 1 (3 credits)
Overview
Mathematics & Statistics (Sci) : Sets, functions and relations. Methods of proof. Complex numbers. Divisibility theory for integers and modular arithmetic. Divisibility theory for polynomials. Rings, ideals and quotient rings. Fields and construction of fields from polynomial rings. Groups, subgroups and cosets; group actions on sets.
Terms: Fall 2019
Instructors: Daniel Wise (Fall)
Fall
3 hours lecture; 1 hour tutorial
Prerequisite: MATH 133 or equivalent

MATH 251 Honours Algebra 2 (3 credits)
Overview
Mathematics & Statistics (Sci) : Linear equations over a field. Introduction to vector spaces. Linear maps and their matrix representation. Determinants. Canonical forms. Duality. Bilinear and quadratic forms. Real and complex inner product spaces. Diagonalization of selfadjoint operators.
Terms: Winter 2020
Instructors: Henri Darmon (Winter)

MATH 255 Honours Analysis 2 (3 credits)
Overview
Mathematics & Statistics (Sci) : Basic pointset topology, metric spaces: open and closed sets, normed and Banach spaces, HÃ¶lder and Minkowski inequalities, sequential compactness, HeineBorel, Banach Fixed Point theorem. Riemann(Stieltjes) integral, Fundamental Theorem of Calculus, Taylor's theorem. Uniform convergence. Infinite series, convergence tests, power series. Elementary functions.
Terms: Winter 2020
Instructors: Pengfei Guan (Winter)

MATH 350 Honours Discrete Mathematics
(3 credits)
Overview
Mathematics & Statistics (Sci) : Discrete mathematics. Graph Theory: matching theory, connectivity, planarity, and colouring; graph minors and extremal graph theory. Combinatorics: combinatorial methods, enumerative and algebraic combinatorics, discrete probability.
Terms: Fall 2019
Instructors: Sergey Norin (Fall)
Complementary Courses
3639 credits
03 credits selected from:

COMP 202 Foundations of Programming (3 credits) **
Overview
Computer Science (Sci) : 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.
Terms: Fall 2019, Winter 2020
Instructors: Elizabeth Patitsas, Giulia Alberini (Fall) Giulia Alberini (Winter)
3 hours
Prerequisite: 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

COMP 204 Computer Programming for Life Sciences (3 credits) **
Overview
Computer Science (Sci) : Computer Science (Sci): Computer programming in a high level language: variables, expressions, types, functions, conditionals, loops, objects and classes. Introduction to algorithms, modular software design, libraries, file input/output, debugging. Emphasis on applications in the life sciences.
Terms: Fall 2019, Winter 2020
Instructors: Mathieu Blanchette (Fall) Yue Li (Winter)

COMP 208 Computer Programming for Physical Sciences and
Engineering
(3 credits) **
Overview
Computer Science (Sci) : Programming and problem solving in a high level computer language: variables, expressions, types, functions, conditionals, loops, objects and classes. Introduction to algorithms such as searching and sorting. Modular software design, libraries, file input and output, debugging. Emphasis on applications in Physical Sciences and Engineering, such as root finding, numerical integration, diffusion, Monte Carlo methods.
Terms: Fall 2019, Winter 2020
Instructors: Jonathan Campbell, Deven Parekh (Fall)
3 hours
Prerequisite: MATH 141 or equivalent.
Corequisite: MATH 133 or equivalent.
Restrictions: Credit can be given only for one of COMP 202, COMP 204, or COMP 208. COMP 208 cannot be taken for credit with or after COMP 250 or COMP 206.
COMP 202 is intended as a general introductory course, while COMP 208 is intended for students with sufficient math background and in (nonlife) science or engineering fields.
** Students who have sufficient knowledge of computer programming are not required to take COMP 202/204/208.
3 credits selected from:

MATH 242 Analysis 1 (3 credits)
Overview
Mathematics & Statistics (Sci) : A rigorous presentation of sequences and of real numbers and basic properties of continuous and differentiable functions on the real line.
Terms: Fall 2019
Instructors: Jerome Vetois (Fall)

MATH 254 Honours Analysis 1 (3 credits) ***
Overview
Mathematics & Statistics (Sci) : Properties of R. Cauchy and monotone sequences, Bolzano Weierstrass theorem. Limits, limsup, liminf of functions. Pointwise, uniform continuity: Intermediate Value theorem. Inverse and monotone functions. Differentiation: Mean Value theorem, L'Hospital's rule, Taylor's Theorem.
Terms: Fall 2019
Instructors: Axel W Hundemer (Fall)
*** It is strongly recommended that students take MATH 254.
3 credits selected from:

MATH 248 Honours Vector Calculus (3 credits)
Overview
Mathematics & Statistics (Sci) : Partial derivatives and differentiation of functions in several variables; Jacobians; maxima and minima; implicit functions. Scalar and vector fields; orthogonal curvilinear coordinates. Multiple integrals; arc length, volume and surface area. Line and surface integrals; irrotational and solenoidal fields; Green's theorem; the divergence theorem. Stokes' theorem; and applications.
Terms: Fall 2019
Instructors: Gantumur Tsogtgerel (Fall)

MATH 358 Honours Advanced Calculus (3 credits)
Overview
Mathematics & Statistics (Sci) : Pointset topology in Euclidean space; continuity and differentiability of functions in several variables. Implicit and inverse function theorems. Vector fields, divergent and curl operations. Rigorous treatment of multiple integrals: volume and surface area; and Fubini’s theorem. Line and surface integrals, conservative vector fields. Green's theorem, Stokes’ theorem and the divergence theorem.
Terms: Winter 2020
Instructors: Pengfei Guan (Winter)
18 credits in Mathematics, at least 12 credits selected from:
+ Not open to students who have taken MATH 354.

MATH 356 Honours Probability (3 credits)
Overview
Mathematics & Statistics (Sci) : Sample space, probability axioms, combinatorial probability. Conditional probability, Bayes' Theorem. Distribution theory with special reference to the Binomial, Poisson, and Normal distributions. Expectations, moments, moment generating functions, univariate transformations. Random vectors, independence, correlation, multivariate transformations. Conditional distributions, conditional expectation.Modes of stochastic convergence, laws of large numbers, Central Limit Theorem.
Terms: Fall 2019
Instructors: Abbas Khalili Mahmoudabadi (Fall)

MATH 387 Honours Numerical Analysis (3 credits)
Overview
Mathematics & Statistics (Sci) : Error analysis. Numerical solutions of equations by iteration. Interpolation. Numerical differentiation and integration. Introduction to numerical solutions of differential equations.
Terms: Winter 2020
Instructors: Antony Raymond Humphries (Winter)

MATH 454 Honours Analysis 3 (3 credits) +
Overview
Mathematics & Statistics (Sci) : Review of pointset topology: topological space, dense sets, completeness, compactness, connectedness and pathconnectedness, separability. ArzelaAscoli, StoneWeierstrass, Baire category theorems. Measure theory: sigma algebras, Lebesgue measure and integration, L^1 functions. Fatou's lemma, monotone and dominated convergence theorem. Egorov, Lusin's theorems. FubiniTonelli theorem.
Terms: Fall 2019
Instructors: Jerome Vetois (Fall)

MATH 455 Honours Analysis 4 (3 credits)
Overview
Mathematics & Statistics (Sci) : Continuation of measure theory. Functional analysis: L^p spaces, linear functionals and dual spaces, HahnBanach theorem, Riesz representation theorem. Hilbert spaces, weak convergence. Spectral theory of compact operator. Introduction to Fourier analysis, Fourier transforms.
Terms: Winter 2020
Instructors: Dmitry Jakobson (Winter)

MATH 456 Honours Algebra 3 (3 credits)
Overview
Mathematics & Statistics (Sci) : Introduction to monoids, groups, permutation groups; the isomorphism theorems for groups; the theorems of Cayley, Lagrange and Sylow; structure of groups of low order. Introduction to ring theory; integral domains, fields, quotient field of an integral domain; polynomial rings; unique factorization domains.
Terms: Fall 2019
Instructors: Michael Pichot (Fall)

MATH 457 Honours Algebra 4 (3 credits)
Overview
Mathematics & Statistics (Sci) : Introduction to modules and algebras; finitely generated modules over a principal ideal domain. Field extensions; finite fields; Galois groups; the fundamental theorem of Galois theory; application to the classical problem of solvability by radicals.
Terms: Winter 2020
Instructors: Michael Pichot (Winter)
The remaining credits should be selected from honours courses and 500level courses given by the Department of Mathematics and Statistics.
12 credits in Computer Science, selected from Computer Science courses at the 300 level or above excluding COMP 364 and COMP 396. ECSE 508 may also be taken.