Program Requirements
** NEW PROGRAM **
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 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 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 2018
Instructors: XiaoWen Chang (Fall)

MATH 240 Discrete Structures 1 (3 credits)
Overview
Mathematics & Statistics (Sci) : Mathematical foundations of logical thinking and reasoning. Mathematical language and proof techniques. Quantifiers. Induction. Elementary number theory. Modular arithmetic. Recurrence relations and asymptotics. Combinatorial enumeration. Functions and relations. Partially ordered sets and lattices. Introduction to graphs, digraphs and rooted trees.
Terms: Fall 2018, Winter 2019
Instructors: Jeremy Macdonald, Bogdan Nica (Fall) Jeremy Macdonald, Yann Batiste Pequignot (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 2019
Instructors: Tim Hoheisel (Winter)

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 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 2019
Instructors: Charles Roth (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 2018, Winter 2019
Instructors: Charles Roth (Fall) Stephen W Drury (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 2019
Instructors: JeanPhilippe Lessard (Winter)

PHYS 241 Signal Processing (3 credits)
Overview
Physics : Linear circuit elements, resonance, network theorems, diodes, transistors, amplifiers, feedback, integrated circuits.
Terms: Winter 2019
Instructors: Matthew Adam Dobbs (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 2018
Instructors: Charles Gale (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 2018
Instructors: David Hanna (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 2018
Instructors: Bradley Siwick (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 2019
Instructors: Thomas Brunner (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 2018
Instructors: Walter Reisner (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 2018
Instructors: Andrew Cumming (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 2018
Instructors: Tamar PeregBarnea (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 2019
Instructors: Paul Francois (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 2019
Instructors: Sarah Harrison (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 2018, Winter 2019, Summer 2019
Instructors: Nathan Friedman (Fall) Jorg Andreas Kienzle (Winter) Jorg Andreas Kienzle (Summer)
3 hours
Prerequisites: 15 Computer Science credits.
Restriction: For Honours students, or nonHonours students with permission of the department.

PHYS 479 Honours Research Project (3 credits)
Overview
Physics : Honours supervised research project.
Terms: Winter 2019, Summer 2019
Instructors: Guillaume Gervais (Winter)
6 hours
Restriction: Honours students or permission of instructor. Only open to students who have completed the U2 year in a Physics program.
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 2018, Winter 2019
Instructors: Mathieu Nassif, Joseph P Vybihal (Fall) Jin Guo (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 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)
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 2018, Winter 2019, Summer 2019
Instructors: David Stephens (Fall) David B Wolfson (Winter) Djivede Kelome (Summer)

MATH 340 Discrete Structures 2 (3 credits)
Overview
Mathematics & Statistics (Sci) : Review of mathematical writing, proof techniques, graph theory and counting. Mathematical logic. Graph connectivity, planar graphs and colouring. Probability and graphs. Introductory group theory, isomorphisms and automorphisms of graphs. Enumeration and listing.
Terms: Winter 2019
Instructors: Jerome Fortier (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 2019
Instructors: Sang Yong Jeon (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 2019
Instructors: Thomas Brunner (Winter)
Winter
6 hours
Corequisite: PHYS 457. Honours students or permission of instructor

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 2019
Instructors: Sang Yong Jeon (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; Fourier optics; selected special topics such as holography, lasers, beam optics, photonic crystals, advanced spectroscopy, stellar interferometry, quantum optics.
Terms: Winter 2019
Instructors: Vanessa Graber (Winter)
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)