Note: This is the 2017–2018 edition of the eCalendar. Update the year in your browser's URL bar for the most recent version of this page, or click here to jump to the newest eCalendar.
Program Requirements
Students may complete this program with a minimum of 72 credits or a maximum of 75 credits depending on whether or not they are exempt from taking COMP 202.
Program Prerequisites
Students must consult an Honours adviser in both departments. Students entering the Joint Honours in Mathematics and Computer Science are normally expected to have completed the courses below or their equivalents. Otherwise, they will be required to make up any deficiencies in these courses over and above the 7275 credits of courses in the program.

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 2017, Winter 2018, Summer 2018
Instructors: Djivede Kelome, Francesco Dolce, Guohuan Qiu, Amit Sharma (Fall) Haining Wang (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 140 Calculus 1 (3 credits)
Overview
Mathematics & Statistics (Sci) : Review of functions and graphs. Limits, continuity, derivative. Differentiation of elementary functions. Antidifferentiation. Applications.
Terms: Fall 2017, Winter 2018, Summer 2018
Instructors: Sidney Trudeau, xianchang Meng, Ying Hu (Fall) Lars Sektnan (Winter) Brahim Abdenbi (Summer)
3 hours lecture, 1 hour tutorial
Prerequisite: High School Calculus
Restriction: Not open to students who have taken MATH 120, MATH 139 or CEGEP objective 00UN 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
Each Tutorial section is enrolment limited

MATH 141 Calculus 2 (4 credits)
Overview
Mathematics & Statistics (Sci) : The definite integral. Techniques of integration. Applications. Introduction to sequences and series.
Terms: Fall 2017, Winter 2018, Summer 2018
Instructors: Damien Gobin (Fall) Sidney Trudeau, Jonah Gaster, Thomas F Fox (Winter) Bogdan Lucian Nica, Broderick Causley (Summer)
Restriction: Not open to students who have taken MATH 121 or CEGEP objective 00UP 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.
Each Tutorial section is enrolment limited
Required Courses (42 credits)
* Students who have sufficient knowledge in a programming language are not required to take COMP 202.

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 2017, Winter 2018, Summer 2018
Instructors: David Becerra Romero, Giulia Alberini (Fall) Bentley Oakes, Giulia Alberini (Winter) Giulia Alberini (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 2017, Winter 2018
Instructors: Joseph P Vybihal (Fall) David Meger (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 2017, Winter 2018
Instructors: Michael Langer (Fall) Carlos Gonzalez Oliver, Jérôme Waldispuhl (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 2018
Instructors: Luc P Devroye (Winter)
3 hours
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.
Note: COMP 252 can be used instead of COMP 251 to satisfy prerequisites.

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 2017, Winter 2018
Instructors: Kaleem Siddiqi (Fall) Joseph P Vybihal (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 2017, Winter 2018
Instructors: Francisco Ferreira Ruiz, Brigitte Pientka (Fall) Clark Verbrugge (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 2017, Winter 2018
Instructors: Rola Harmouche (Fall) Rola Harmouche (Winter)
3 hours
Prerequisite: COMP 273
 COMP 330 Theory of Computation (3 credits)

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 2018
Instructors: Yang Cai (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 2017
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 2017
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 2018
Instructors: Jan Vonk (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 2018
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 2017
Instructors: Jan Volec (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 2017
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 2017
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.
*** Not open to students who have taken MATH 355.
+ Not open to students who have taken MATH 370.
++ Not open to students who have taken MATH 371.

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 2017
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: Winter 2018
Instructors: Gantumur Tsogtgerel (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 2017
Instructors: Laurent Bruneau (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 2018
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 2017
Instructors: Eyal Z Goren (Fall)
Restriction(s): Not open to students who have taken MATH 370.

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 2018
Instructors: Marcin Sabok (Winter)
Restriction(s): Not open to students who have taken MATH 371.
The remaining credits should be selected from honours 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.