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 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 2018, Winter 2019, Summer 2019
Instructors: Jerome Fortier, Liangming Shen, Yann Batiste Pequignot, Damian Osajda (Fall) Jerome Fortier (Winter) Rebecca Patrias (Summer)
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 2018
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 2019
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
(3945 credits)
* Students who have sufficient knowledge in a programming language are not required to take COMP 202.
** 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 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 2018, Winter 2019, Summer 2019
Instructors: Giulia Alberini, Joseph P Vybihal (Fall) Giulia Alberini, TzuYang Yu (Winter) TzuYang Yu (Summer)
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 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 2018, Winter 2019
Instructors: David Meger (Fall) Chad Zammar, 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 2018, Winter 2019
Instructors: Michael Langer, Giulia Alberini (Fall) Martin Robillard, 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 2019
Instructors: Adrian Roshan Vetta (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 2018, Winter 2019
Instructors: Paul Kry (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 2018, Winter 2019
Instructors: Brigitte Pientka (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 2018, Winter 2019
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 2018
Instructors: Prakash Panangaden (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 2019
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 2018, Winter 2019, Summer 2019
Instructors: Jeremy Macdonald, Dmitry Faifman (Fall) Lars Sektnan (Winter) Yann Batiste Pequignot (Summer)

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 2018
Instructors: Daniel Wise (Fall)
Fall
3 hours lecture; 1 hour tutorial
Prerequisite: MATH 133 or equivalent

MATH 248 Honours Advanced Calculus (3 credits)
Overview
Mathematics & Statistics (Sci) : Partial derivatives; implicit functions; Jacobians; maxima and minima; Lagrange multipliers. Scalar and vector fields; orthogonal curvilinear coordinates. Multiple integrals; arc length, volume and surface area. Line integrals; Green's theorem; the divergence theorem. Stokes' theorem; irrotational and solenoidal fields; applications.
Terms: Fall 2018
Instructors: Pengfei Guan (Fall)

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 2019
Instructors: Haining Wang (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 2019
Instructors: Rustum Choksi (Winter)

MATH 350 Graph Theory and Combinatorics (3 credits)
Overview
Mathematics & Statistics (Sci) : Graph models. Graph connectivity, planarity and colouring. Extremal graph theory. Matroids. Enumerative combinatorics and listing.
Terms: Fall 2018
Instructors: Adrian Roshan Vetta (Fall)
Complementary Courses (33 credits)
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 2018
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 2018
Instructors: Axel W Hundemer (Fall)
*** It is strongly recommended that students take MATH 254.
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 2018
Instructors: Linan Chen (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: This course is not scheduled for the 20182019 academic year.
Instructors: There are no professors associated with this course for the 20182019 academic year.

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 2018
Instructors: Dmitry Jakobson (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 2019
Instructors: Jerome Vetois (Winter)
Restriction(s): Not open to students who have taken MATH 355.

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 2018
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 2019
Instructors: Michael Pichot (Winter)
Restriction(s): Not open to students who have taken MATH 371.
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.