Program Requirements
This program provides essential background in physics and computer science at a level sufficient to pursue courses at the 400 and 500level in either discipline. The program is intended to be flexible to allow students to take either more physics or more computer science courses at the advanced level.
Students entering this Joint Honours program should have high standing in mathematics, physics, and computer science. To continue in this Joint Honours program, an average GPA of 3.00 in required and complementary courses is required. For Honours standing, the CGPA at graduation must be at least 3.00; for FirstClass Honours, the CGPA must be above 3.50.
Note: COMP 202—or an equivalent introduction to computer programming course— is a program prerequisite. U0 students may take COMP 202 as a Freshman Science course; new U1 students should take it as an elective in their first semester.
Required Courses (63 credits)
*Note: A student who has not taken MATH 222 (or equivalent) prior to entering the program must take it in their first semester, increasing the program credits from 78 to 81. The student must then take MATH 314 in their second semester instead of MATH 248, if scheduling requires it.

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 2022, Winter 2023
Instructors: D'silva, Joseph (Fall)

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 2022, Winter 2023
Instructors: Alberini, Giulia (Fall) Alberini, Giulia (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 2023
Instructors: Devroye, Luc P (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 2022, Winter 2023
Instructors: Vybihal, Joseph P (Fall) Kry, Paul (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 2022, Winter 2023
Instructors: Si, Xujie (Winter)

COMP 350 Numerical Computing (3 credits)
Overview
Computer Science (Sci) : Computer representation of numbers, IEEE Standard for Floating Point Representation, computer arithmetic and rounding errors. Numerical stability. Matrix computations and software systems. Polynomial interpolation. Leastsquares approximation. Iterative methods for solving a nonlinear equation. Discretization methods for integration and differential equations.
Terms: Fall 2022
Instructors: Chang, XiaoWen (Fall)

MATH 240 Discrete Structures (3 credits)
Overview
Mathematics & Statistics (Sci) : Introduction to discrete mathematics and applications. Logical reasoning and methods of proof. Elementary number theory and cryptography: prime numbers, modular equations, RSA encryption. Combinatorics: basic enumeration, combinatorial methods, recurrence equations. Graph theory: trees, cycles, planar graphs.
Terms: Fall 2022, Winter 2023
Instructors: Vetta, Adrian Roshan; Fortier, Jérôme (Fall) Fortier, Jérôme; Macdonald, Jeremy (Winter)

MATH 247 Honours Applied Linear Algebra (3 credits)
Overview
Mathematics & Statistics (Sci) : Matrix algebra, determinants, systems of linear equations. Abstract vector spaces, inner product spaces, Fourier series. Linear transformations and their matrix representations. Eigenvalues and eigenvectors, diagonalizable and defective matrices, positive definite and semidefinite matrices. Quadratic and Hermitian forms, generalized eigenvalue problems, simultaneous reduction of quadratic forms. Applications.
Terms: Winter 2023
Instructors: Jakobson, Dmitry (Winter)

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 2022
Instructors: Kamran, Niky (Fall)

MATH 249 Honours Complex Variables (3 credits)
Overview
Mathematics & Statistics (Sci) : Functions of a complex variable; CauchyRiemann equations; Cauchy's theorem and consequences. Taylor and Laurent expansions. Residue calculus; evaluation of real integrals; integral representation of special functions; the complex inversion integral. Conformal mapping; SchwarzChristoffel transformation; Poisson's integral formulas; applications.
Terms: Winter 2023
Instructors: Guan, Pengfei (Winter)

MATH 314 Advanced Calculus (3 credits) *
Overview
Mathematics & Statistics (Sci) : Derivative as a matrix. Chain rule. Implicit functions. Constrained maxima and minima. Jacobians. Multiple integration. Line and surface integrals. Theorems of Green, Stokes and Gauss. Fourier series with applications.
Terms: Fall 2022, Winter 2023
Instructors: Roth, Charles (Fall) Fortier, Jérôme (Winter)

MATH 325 Honours Ordinary Differential Equations (3 credits)
Overview
Mathematics & Statistics (Sci) : First and second order equations, linear equations, series solutions, Frobenius method, introduction to numerical methods and to linear systems, Laplace transforms, applications.
Terms: Winter 2023
Instructors: There are no professors associated with this course for the 20222023 academic year.

PHYS 241 Signal Processing (3 credits)
Overview
Physics : Linear circuit elements, resonance, network theorems, diodes, transistors, amplifiers, feedback, integrated circuits.
Terms: Winter 2023
Instructors: Dobbs, Matthew Adam (Winter)
Winter
2 hours lectures; 3 hours laboratory alternate weeks
Prerequisite: CEGEP physics or PHYS 142.

PHYS 251 Honours Classical Mechanics 1 (3 credits)
Overview
Physics : Newton's laws, work energy, angular momentum. Harmonic oscillator, forced oscillations. Inertial forces, rotating frames. Central forces, centre of mass, planetary orbits, Kepler's laws.
Terms: Fall 2022
Instructors: Gale, Charles (Fall)

PHYS 253 Thermal Physics (3 credits)
Overview
Physics : Energy, work, heat; first law. Temperature, entropy; second law. Absolute zero; third law. Equilibrium, equations of state, gases, liquids, solids, magnets; phase transitions.
Terms: Fall 2022
Instructors: Ryan, Dominic (Fall)

PHYS 257 Experimental Methods 1 (3 credits)
Overview
Physics : Introductory laboratory work and data analysis as related to mechanics, optics and thermodynamics. Introduction to computers as they are employed for laboratory work, for data analysis and for numerical computation. Previous experience with computers is an asset, but is not required.
Terms: Fall 2022
Instructors: Vachon, Brigitte (Fall)

PHYS 258 Experimental Methods 2 (3 credits)
Overview
Physics : Advanced laboratory work and data analysis as related to mechanics, optics and thermodynamics. Computers will be employed routinely for data analysis and for numerical computation, and, particularly, to facilitate the use of Fourier methods.
Terms: Winter 2023
Instructors: Cooke, David (Winter)
Winter
6 hours of laboratory and classroom work
Prerequisite: PHYS 257

PHYS 350 Honours Electricity and Magnetism (3 credits)
Overview
Physics : Fundamental laws of electric and magnetic fields in both integral and differential form.
Terms: Fall 2022
Instructors: Lee, Eve J (Fall)

PHYS 352 Honours Electromagnetic Waves (3 credits)
Overview
Physics : Vector and scalar potentials; plane waves in homogeneous media; refraction and reflection; guided waves; radiation from simple systems; dipole and quadrupole radiation; introduction to fields of moving charges; synchrotron radiation; Bremsstrahlung.
Terms: Fall 2022
Instructors: Siwick, Bradley (Fall)
Fall
3 hours lectures
Prerequisite: PHYS 350.
Restriction: Honours students, or permission of the instructor

PHYS 357 Honours Quantum Physics 1 (3 credits)
Overview
Physics : Experimental basis for quantum mechanics; wavepackets; uncertainty principle. Hilbert space formalism. Schrodinger equation: eigenvalues and eigenvectors: applications to 1d problems including the infinite and finite potential wells and the harmonic oscillator. Tunneling. Time independent perturbation theory.
Terms: Fall 2022
Instructors: Agarwal, Kartiek (Fall)

PHYS 362 Statistical Mechanics (3 credits)
Overview
Physics : Quantum states and ensemble averages. FermiDirac, BoseEinstein and Boltzmann distribution functions and their applications.
Terms: Winter 2023
Instructors: Liu, Adrian (Winter)

PHYS 457 Honours Quantum Physics 2 (3 credits)
Overview
Physics : Angular momentum and spin operators. Operator methods in quantum mechanics. Coupling of spin and angular momenta. Variational principles and elements of time dependent perturbation theory (the Golden Rule). Solution of the Schrodinger equation in three dimensions. Applications to the hydrogen and helium atoms and to simple problems in atomic and molecular physics.
Terms: Winter 2023
Instructors: Jeon, Sang Yong (Winter)
Complementary Courses (15 credits)
At least 6 of the 15 complementary credits must come from a course at the 400 or 500level (excluding COMP 400 and PHYS 479), and of these at least 3 must be from a COMP course.
3 or 4 credits selected from:

COMP 400 Project in Computer Science (4 credits)
Overview
Computer Science (Sci) : A research project in any area of computer science, involving a programming effort and/or a theoretical investigation, and supervised by a faculty member in the School of Computer Science. Final written report required.
Terms: Fall 2022, Winter 2023
Instructors: M'hiri, Faten (Fall) Becerra, David (Winter)
3 hours
Prerequisites: 15 Computer Science credits.
Restriction: For Honours students, or nonHonours students with permission of the department.

PHYS 479 Physics Research Project (3 credits)
Overview
Physics : A supervised research project.
Terms: Fall 2022, Winter 2023
Instructors: Hanna, David (Fall) Hilke, Michael (Winter)
6 hours
Restriction: U2 or U3 students in a Physics program, or permission of the instructor.
6 or 7 credits selected from:

COMP 303 Software Design (3 credits)
Overview
Computer Science (Sci) : Principles, mechanisms, techniques, and tools for objectoriented software design and its implementation, including encapsulation, design patterns, and unit testing.
Terms: Fall 2022, Winter 2023
Instructors: Robillard, Martin (Fall) Guo, Jin (Winter)

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 2022, Winter 2023
Instructors: Maheswaran, Muthucumaru (Fall) Balmau, Oana (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 2022, Winter 2023
Instructors: Panangaden, Prakash (Fall) Crepeau, Claude (Winter)
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 2023
Instructors: Vetta, Adrian Roshan (Winter)
Any COMP course at the 400 or 500level (excluding COMP 400) (3 or 4 credits)
At least 4 credits selected from:

MATH 323 Probability (3 credits)
Overview
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.
Terms: Fall 2022, Winter 2023
Instructors: Nadarajah, Tharshanna; Sajjad, Alia (Fall) Nadarajah, Tharshanna; Sajjad, Alia (Winter)

MATH 340 Discrete
Mathematics (3 credits)
Overview
Mathematics & Statistics (Sci) : Discrete Mathematics and applications. Graph Theory: matchings, planarity, and colouring. Discrete probability. Combinatorics: enumeration, combinatorial techniques and proofs.
Terms: Winter 2023
Instructors: Norin, Sergey (Winter)

PHYS 351 Honours Classical Mechanics 2 (3 credits)
Overview
Physics : Rigid bodies, angular momentum, gyroscope, moment of inertia, principal axes, Euler's equations. Coupled oscillations and normal modes. Lagrangian mechanics and applications. Hamiltonian mechanics. Topics in advanced analytical mechanics.
Terms: Winter 2023
Instructors: Schutz, Katelin (Winter)

PHYS 359 Honours Laboratory in Modern Physics 1 (3 credits)
Overview
Physics : Advanced level experiments in modern physics stressing quantum effects and some properties of condensed matter.
Terms: Winter 2023
Instructors: Sankey (Childress), Jack; Brunner, Thomas (Winter)

PHYS 404 Climate Physics (3 credits)
Overview
Physics : This course covers the essentials of climate physics through the lens of onedimensional, vertical atmospheric models. This includes shortwave and longwave radiative transfer, convection, phase changes, clouds, greenhouse gases, and atmospheric escape. This is an adequate level of detail for understanding Earth's climate, paleoclimate, anthropogenic climate change, or pursing studies of Solar System planets and extrasolar planets.
Terms: Fall 2022
Instructors: Huang, Yi (Fall)

PHYS 432 Physics of Fluids (3 credits)
Overview
Physics : The physical properties of fluids. The kinematics and dynamics of flow. The effects of viscosity and turbulence. Applications of fluid mechanics in biophysics, geophysics and engineering.
Terms: Winter 2023
Instructors: Cumming, Andrew (Winter)

PHYS 434 Optics (3 credits)
Overview
Physics : Fundamental concepts of optics, including applications and modern developments. Light propagation in media; geometric optics and optical instruments; polarization and coherence properties of light; interference and interferometry; diffraction theory and applications in spectrometry and imaging; Gaussian beams, Fourier optics and photonic band structure. A laboratory component provides handson experience in optical setup design, construction and testing of concepts introduced in lectures.
Terms: Fall 2022
Instructors: Cooke, David (Fall)
Any number of PHYS courses at the 500 level (3 credits each)
Any number of COMP courses at the 400 or 500level (excluding COMP 400) (3 or 4 credits each)