Mathematics and Computer Science Honours (B.Sc.) (78 credits)
Offered by: Mathematics and Statistics (Faculty of Science)
Degree: Bachelor of Science
Program credit weight: 78
Program Description
The B.Sc.; Honours in Mathematics and Computer Science provides a rigorous training, at the honours level, in mathematics and computer science, while exploring the interaction between the two fields. This program may be completed with a minimum of 72 credits or a maximum of 78 credits.
Degree Requirements — B.Sc.
This program is offered as part of a Bachelor of Science (B.Sc.) degree.
To graduate, students must satisfy both their program requirements and their degree requirements.
- The program requirements (i.e., the specific courses that make up this program) are listed under the Course Tab (above).
- The degree requirements—including the mandatory Foundation program, appropriate degree structure, and any additional components—are outlined on the Degree Requirements page.
Students are responsible for ensuring that this program fits within the overall structure of their degree and that all degree requirements are met. Consult the Degree Planning Guide on the SOUSA website for additional guidance.
Note: For information about Fall 2025 and Winter 2026 course offerings, please check back on May 8, 2025. Until then, the "Terms offered" field will appear blank for most courses while the class schedule is being finalized.
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:
Course | Title | Credits |
---|---|---|
MATH 133 | Linear Algebra and Geometry. | 3 |
Linear Algebra and Geometry. Terms offered: Summer 2025 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. Linear transformations. Eigenvalues and diagonalization. | ||
MATH 150 | Calculus A. | 4 |
Calculus A. Terms offered: this course is not currently offered. Functions, limits and continuity, differentiation, L'Hospital's rule, applications, Taylor polynomials, parametric curves, functions of several variables. | ||
MATH 151 | Calculus B. | 4 |
Calculus B. Terms offered: this course is not currently offered. Integration, methods and applications, infinite sequences and series, power series, arc length and curvature, multiple integration. |
In particular, MATH 150 Calculus A./MATH 151 Calculus B. and MATH 140 Calculus 1./MATH 141 Calculus 2./MATH 222 Calculus 3. 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 (33-36 credits)
Course | Title | Credits |
---|---|---|
COMP 206 | Introduction to Software Systems. | 3 |
Introduction to Software Systems. Terms offered: this course is not currently offered. 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. | ||
COMP 250 | Introduction to Computer Science. | 3 |
Introduction to Computer Science. Terms offered: this course is not currently offered. Mathematical tools (binary numbers, induction,recurrence relations, asymptotic complexity,establishing correctness of programs). Datastructures (arrays, stacks, queues, linked lists,trees, binary trees, binary search trees, heaps,hash tables). Recursive and non-recursivealgorithms (searching and sorting, tree andgraph traversal). Abstract data types. Objectoriented programming in Java (classes andobjects, interfaces, inheritance). Selected topics. | ||
COMP 252 | Honours Algorithms and Data Structures. | 3 |
Honours Algorithms and Data Structures. Terms offered: this course is not currently offered. 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. | ||
COMP 273 | Introduction to Computer Systems. | 3 |
Introduction to Computer Systems. Terms offered: this course is not currently offered. Number representations, combinational and sequential digital circuits, MIPS instructions and architecture datapath and control, caches, virtual memory, interrupts and exceptions, pipelining. | ||
COMP 302 | Programming Languages and Paradigms. | 3 |
Programming Languages and Paradigms. Terms offered: this course is not currently offered. Programming language design issues and programming paradigms. Binding and scoping, parameter passing, lambda abstraction, data abstraction, type checking. Functional and logic programming. | ||
COMP 310 | Operating Systems. | 3 |
Operating Systems. Terms offered: this course is not currently offered. 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. | ||
COMP 330 | Theory of Computation. | 3 |
Theory of Computation. Terms offered: this course is not currently offered. Finite automata, regular languages, context-free languages, push-down automata, models of computation, computability theory, undecidability, reduction techniques. | ||
COMP 362 | Honours Algorithm Design. | 3 |
Honours Algorithm Design. Terms offered: this course is not currently offered. Basic algorithmic techniques, their applications and limitations. Problem complexity, how to deal with problems for which no efficient solutions are known. | ||
MATH 222 | Calculus 3. 1 | 3 |
Calculus 3. Terms offered: Summer 2025 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. | ||
MATH 251 | Honours Algebra 2. | 3 |
Honours Algebra 2. Terms offered: this course is not currently offered. 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 self-adjoint operators. | ||
MATH 255 | Honours Analysis 2. | 3 |
Honours Analysis 2. Terms offered: this course is not currently offered. Basic point-set topology, metric spaces: open and closed sets, normed and Banach spaces, Hölder and Minkowski inequalities, sequential compactness, Heine-Borel, Banach Fixed Point theorem. Riemann-(Stieltjes) integral, Fundamental Theorem of Calculus, Taylor's theorem. Uniform convergence. Infinite series, convergence tests, power series. Elementary functions. | ||
MATH 350 | Honours Discrete Mathematics . | 3 |
Honours Discrete Mathematics . Terms offered: this course is not currently offered. 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. |
- 1
Students who have successfully completed MATH 150 Calculus A./MATH 151 Calculus B. or an equivalent of MATH 222 Calculus 3. on entering the program are not required to take MATH 222 Calculus 3..
Complementary Courses (39-42 credits)
0-3 credits selected from:
Course | Title | Credits |
---|---|---|
COMP 202 | Foundations of Programming. 1 | 3 |
Foundations of Programming. Terms offered: Summer 2025 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. | ||
COMP 204 | Computer Programming for Life Sciences. 1 | 3 |
Computer Programming for Life Sciences. Terms offered: this course is not currently offered. 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. | ||
COMP 208 | Computer Programming for Physical Sciences and Engineering . 1 | 3 |
Computer Programming for Physical Sciences and Engineering . Terms offered: this course is not currently offered. 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. |
- 1
Students who have sufficient knowledge of computer programming are not required to take COMP 202 Foundations of Programming./COMP 204 Computer Programming for Life Sciences./COMP 208 Computer Programming for Physical Sciences and Engineering ..
3 credits selected from:
Course | Title | Credits |
---|---|---|
MATH 242 | Analysis 1. | 3 |
Analysis 1. Terms offered: this course is not currently offered. A rigorous presentation of sequences and of real numbers and basic properties of continuous and differentiable functions on the real line. | ||
MATH 254 | Honours Analysis 1. 1 | 3 |
Honours Analysis 1. Terms offered: this course is not currently offered. 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. |
- 1
It is strongly recommended that students take both MATH 245 Honours Algebra 1. and MATH 254 Honours Analysis 1..
3 credits selected from:
Course | Title | Credits |
---|---|---|
MATH 235 | Algebra 1. | 3 |
Algebra 1. Terms offered: this course is not currently offered. 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; homomorphisms and quotient groups. | ||
MATH 245 | Honours Algebra 1. 1 | 3 |
Honours Algebra 1. Terms offered: this course is not currently offered. Honours level: Sets, functions, and relations. Methods of proof. Complex numbers. Divisibility theory for integers and modular arithmetic. Divisibility theory for polynomials. In-depth study of rings, ideals, and quotient rings; fields and construction of fields from polynomial rings; groups, subgroups, and cosets, homomorphisms, and quotient groups. |
- 1
It is strongly recommended that students take both MATH 245 Honours Algebra 1. and MATH 254 Honours Analysis 1..
3 credits selected from:
Course | Title | Credits |
---|---|---|
MATH 248 | Honours Vector Calculus. | 3 |
Honours Vector Calculus. Terms offered: this course is not currently offered. 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. | ||
MATH 358 | Honours Advanced Calculus. | 3 |
Honours Advanced Calculus. Terms offered: this course is not currently offered. Point-set 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. |
9-18 credits selected from:
Course | Title | Credits |
---|---|---|
MATH 356 | Honours Probability. | 3 |
Honours Probability. Terms offered: this course is not currently offered. 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, uni-variate transformations. Random vectors, independence, correlation, multivariate transformations. Conditional distributions, conditional expectation.Modes of stochastic convergence, laws of large numbers, Central Limit Theorem. | ||
MATH 357 | Honours Statistics. | 3 |
Honours Statistics. Terms offered: this course is not currently offered. Sampling distributions. Point estimation. Minimum variance unbiased estimators, sufficiency, and completeness. Confidence intervals. Hypothesis tests, Neyman-Pearson Lemma, uniformly most powerful tests. Likelihood ratio tests for normal samples. Asymptotic sampling distributions and inference. | ||
MATH 387 | Honours Numerical Analysis. | 3 |
Honours Numerical Analysis. Terms offered: this course is not currently offered. Error analysis. Numerical solutions of equations by iteration. Interpolation. Numerical differentiation and integration. Introduction to numerical solutions of differential equations. | ||
MATH 454 | Honours Analysis 3. 1 | 3 |
Honours Analysis 3. Terms offered: this course is not currently offered. Measure theory: sigma-algebras, Lebesgue measure in R^n and integration, L^1 functions, Fatou's lemma, monotone and dominated convergence theorem, Egorov’s theorem, Lusin's theorem, Fubini-Tonelli theorem, differentiation of the integral, differentiability of functions of bounded variation, absolutely continuous functions, fundamental theorem of calculus. | ||
MATH 455 | Honours Analysis 4. | 3 |
Honours Analysis 4. Terms offered: this course is not currently offered. Review of point-set topology: topological spaces, dense sets, completeness, compactness, connectedness and path-connectedness, separability, Baire category theorem, Arzela-Ascoli theorem, Stone-Weierstrass theorem..Functional analysis: L^p spaces, linear functionals and dual spaces, Hilbert spaces, Riesz representation theorems. Fourier series and transform, Riemann-Lebesgue Lemma,Fourier inversion formula, Plancherel theorem, Parseval’s identity, Poisson summation formula. | ||
MATH 456 | Honours Algebra 3. | 3 |
Honours Algebra 3. Terms offered: this course is not currently offered. Groups, quotient groups and the isomorphism theorems. Group actions. Groups of prime order and the class equation. Sylow's theorems. Simplicity of the alternating group. Semidirect products. Principal ideal domains and unique factorization domains. Modules over a ring. Finitely generated modules over a principal ideal domain with applications to canonical forms. | ||
MATH 457 | Honours Algebra 4. | 3 |
Honours Algebra 4. Terms offered: this course is not currently offered. Representations of finite groups. Maschke's theorem. Schur's lemma. Characters, their orthogonality, and character tables. Field extensions. Finite and cyclotomic fields. Galois extensions and Galois groups. The fundamental theorem of Galois theory. Solvability by radicals. |
- 1
Not open to students who have taken MATH 354 .
0-9 credits should be selected from honours courses and 500-level 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 Computer Tools for Life Sciences. and COMP 396 Undergraduate Research Project.. ECSE 508 Multi-Agent Systems. may also be taken.