Bachelor of Science (B.Sc.) - Major Mathematics and Computer Science(72 Credits)
Offered by:Mathematics and Statistics
Degree:Bachelor of Science
Program Requirement:
Program Prerequisites
Students entering the Joint Major 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 72 credits of courses in the program specification.
-
MATH 133
Linear Algebra and Geometry
3 Credits
Offered in the:
- Fall
- Winter
- Summer
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. Linear transformations. Eigenvalues and diagonalization.
Offered by: Mathematics and Statistics
- 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, except by permission of the Department of Mathematics and Statistics.
- Restriction C: Not open to students who are taking or have taken MATH 134.
- Terms
- Fall 2022
- Winter 2023
- Summer 2023
- Instructors
- Rosalie Bélanger-Rioux, Mathilde Gerbelli-Gauthier, Hovsep Mazakian, Antonio Alfieri
- Gabriel William Duchesne
-
MATH 140
Calculus 1
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): Review of functions and graphs. Limits, continuity, derivative. Differentiation of elementary functions. Antidifferentiation. Applications.
Offered by: Mathematics and Statistics
- 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, except by permission of the Department of Mathematics and Statistics
- Each Tutorial section is enrolment limited
- Terms
- Fall 2022
- Winter 2023
- Summer 2023
- Instructors
- Sidney Trudeau, Peiyuan Huang, Sam Mellick
- Elizabeth W Collins-Woodfin
-
MATH 141
Calculus 2
4 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): The definite integral. Techniques of integration. Applications. Introduction to sequences and series.
Offered by: Mathematics and Statistics
- Prerequisites: MATH 139 or MATH 140 or MATH 150.
- 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, except by permission of the Department of Mathematics and Statistics.
- Each Tutorial section is enrolment limited
- Terms
- Fall 2022
- Winter 2023
- Summer 2023
- Instructors
- Jeremy Macdonald, Peter Xu
- Sidney Trudeau, Hovsep Mazakian, Gavin Barill
Required Courses (54 credits)
* Students who have sufficient knowledge in a programming language do not need to take COMP 202 but can replace it with an additional Computer Science complementary course.
-
COMP 202
Foundations of Programming
3 Credits*
Offered in the:
- Fall
- Winter
- Summer
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.
Offered by: Computer Science
- 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
- Terms
- Instructors
- Jonathan C Campbell
- Faten M'hiri
- Faten M'hiri
-
COMP 206
Intro to Software Systems
3 Credits
Offered in the:
- Fall
- Winter
- Summer
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.
Offered by: Computer Science
- Terms
- Instructors
- Joseph V D'silva
- Jacob T Errington, Joseph P Vybihal
-
COMP 250
Intro to Computer Science
3 Credits
Offered in the:
- Fall
- Winter
- Summer
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 non-recursive algorithms (searching and sorting, tree and graph traversal). Abstract data types, inheritance. Selected topics.
Offered by: Computer Science
- 3 hours
- Prerequisites: Familiarity with a high level programming language and CEGEP level Math.
- Students with limited programming experience should take COMP 202 or equivalent before COMP 250. See COMP 202 Course Description for a list of topics.
- Terms
- Instructors
- Giulia Alberini
- Giulia Alberini
-
COMP 251
Algorithms and Data Structures
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Computer Science (Sci): Introduction to algorithm design and analysis. Graph algorithms, greedy algorithms, data structures, dynamic programming, maximum flows.
Offered by: Computer Science
- 3 hours
- Prerequisites: COMP 250; MATH 235 or MATH 240
- COMP 251 uses mathematical proof techniques that are taught in the corequisite course(s). If possible, students should take the corequisite course prior to COMP 251.
- COMP 251 uses basic counting techniques (permutations and combinations) that are covered in MATH 240 but not in MATH 235. These techniques will be reviewed for the benefit of MATH 235 students.
- Restrictions: Not open to students who have taken or are taking COMP 252.
- Terms
- Instructors
- Jérôme Waldispuhl, Giulia Alberini
- David C Becerra
-
COMP 273
Intro to Computer Systems
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Computer Science (Sci): Number representations, combinational and sequential digital circuits, MIPS instructions and architecture datapath and control, caches, virtual memory, interrupts and exceptions, pipelining.
Offered by: Computer Science
- Terms
- Instructors
- Joseph P Vybihal
- Paul Kry, Mona E Elsaadawy
-
COMP 302
Programming Lang & Paradigms
3 Credits
Offered in the:
- Fall
- Winter
- Summer
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.
Offered by: Computer Science
- Terms
- Instructors
- Jacob T Errington
- Jacob T Errington
-
COMP 310
Operating Systems
3 Credits
Offered in the:
- Fall
- Winter
- Summer
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.
Offered by: Computer Science
- Terms
- Instructors
- Muthucumaru Maheswaran
- Oana Balmau
-
COMP 330
Theory of Computation
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Computer Science (Sci): Finite automata, regular languages, context-free languages, push-down automata, models of computation, computability theory, undecidability, reduction techniques.
Offered by: Computer Science
- Terms
- Instructors
- Prakash Panangaden
- Claude Crepeau
-
COMP 360
Algorithm Design
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Computer Science (Sci): Advanced algorithm design and analysis. Linear programming, complexity and NP-completeness, advanced algorithmic techniques.
Offered by: Computer Science
- Terms
- Instructors
- Robert Robere
- Hamed Hatami
-
MATH 222
Calculus 3
3 Credits
Offered in the:
- Fall
- Winter
- Summer
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.
Offered by: Mathematics and Statistics
- Terms
- Fall 2022
- Winter 2023
- Summer 2023
- Instructors
- Elliot Paquette, Konrad Wrobel
- Sidney Trudeau
-
MATH 235
Algebra 1
3 Credits
Offered in the:
- Fall
- Winter
- Summer
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.
Offered by: Mathematics and Statistics
- Fall
- 3 hours lecture; 1 hour tutorial
- Prerequisite: MATH 133 or equivalent
-
MATH 236
Algebra 2
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): Linear equations over a field. Introduction to vector spaces. Linear mappings. Matrix representation of linear mappings. Determinants. Eigenvectors and
eigenvalues. Diagonalizable operators. Cayley-Hamilton theorem. Bilinear and quadratic forms. Inner product spaces, orthogonal diagonalization of symmetric
matrices. Canonical forms.
Offered by: Mathematics and Statistics
-
MATH 242
Analysis 1
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): A rigorous presentation of sequences and of real numbers and basic properties of continuous and differentiable functions on the real line.
Offered by: Mathematics and Statistics
- Fall
- Prerequisite: MATH 141
- Restriction(s): Not open to students who are taking or who have taken MATH 254.
-
MATH 315
Ordinary Differential Eqns
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): First order ordinary differential equations including elementary numerical methods. Linear differential equations. Laplace transforms. Series solutions.
Offered by: Mathematics and Statistics
- Terms
- Fall 2022
- Winter 2023
- Summer 2023
- Instructors
- Aaron Berk
- Rosalie Bélanger-Rioux
-
MATH 317
Numerical Analysis
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): Error analysis. Numerical solutions of equations by iteration. Interpolation. Numerical differentiation and integration. Introduction to numerical solutions of differential equations.
Offered by: Mathematics and Statistics
-
MATH 318
Mathematical Logic
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): Propositional logic: truth-tables, formal proof systems, completeness and compactness theorems, Boolean algebras; first-order logic: formal proofs, Gödel's completeness theorem; axiomatic theories; set theory; Cantor's theorem, axiom of choice and Zorn's lemma, Peano arithmetic; Gödel's incompleteness theorem.
Offered by: Mathematics and Statistics
-
MATH 323
Probability
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): Sample space, events, conditional probability, independence of events, Bayes' Theorem. Basic combinatorial probability, random variables, discrete and continuous univariate and multivariate distributions. Independence of random variables. Inequalities, weak law of large numbers, central limit theorem.
Offered by: Mathematics and Statistics
- Prerequisites: MATH 141 or equivalent.
- Restriction: Intended for students in Science, Engineering and related disciplines, who have had differential and integral calculus
- Restriction: Not open to students who have taken or are taking MATH 356
- Terms
- Fall 2022
- Winter 2023
- Summer 2023
- Instructors
- Alia Sajjad, Tharshanna Nadarajah
- Masoud Asgharian, Alia Sajjad
-
MATH 340
Discrete Mathematics
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Mathematics & Statistics (Sci): Discrete Mathematics and applications. Graph Theory: matchings, planarity, and colouring. Discrete probability. Combinatorics: enumeration, combinatorial techniques and proofs.
Offered by: Mathematics and Statistics
Complementary Courses (18 credits)
9 credits from the set of courses recommended for a major https://www.mcgill.ca/study/faculties/science/undergraduate/programs/bac... or honours https://www.mcgill.ca/study/faculties/science/undergraduate/programs/bac... program in Mathematics.
9 credits selected from Computer Science courses at the 300 level or above (except COMP 364 and COMP 396) and ECSE 508.