Link to the University of Waterloo home page
2008-2009

The Undergraduate Calendar

 

 

Departmental Honours Academic Plans: Requirements

Computer Science

Bachelor of Mathematics (Honours Computer Science)

In conjunction with the common degree requirements in Table I in "Degree Requirements,"  this plan requires at least 27 math courses. Students not taking CS 115 or 135 are required to take an additional third or fourth year CS major course. These overall requirements must include the Faculty core courses outlined in Table II in "Degree Requirements"  and the following courses:

All of

MATH 237 (or MATH 247) Calculus 3
MATH 239 (or MATH 249) Introduction to Combinatorics
CM 339/CS 341 Algorithms
CS 240 Data Structures and Data Management
CS 241 Foundations of Sequential Programs
CS 245 Logic and Computation
CS 246 Software Abstraction and Specification
CS 251 Computer Organization and Design
CS 350 Operating Systems
CS 360 Introduction to the Theory of Computing (CS 365 may be substituted for CS 360)
CS 370 Numerical Computation (AMATH 341/CM 271/CS 371 may be substituted for CS 370)

One additional CS course chosen from CS 340-398, 440-489.

Two additional CS courses chosen from CS 440-489.

One additional course chosen from

CO 487/CM 432 Applied Cryptography
CM 461/STAT 440 Computational Inference
CS 440-498
CS 499T Honours Thesis
CS 600- or 700-level courses
(CS 600- or 700-level courses may be taken only if an equivalent 400-level course does not exist and special permission is obtained from the instructor and a CS undergraduate advisor. Courses in this list may be counted as CS 0.5 units.)

Three of

Any ACTSC course explicitly listed as a requirement for the Honours Actuarial Science plan
Any AMATH course explicitly listed as a requirement for the Honours Applied Mathematics plan
AMATH/PMATH 331 Applied Real Analysis
AMATH/PMATH 332 Applied Complex Analysis
AMATH 343 Discrete Models
AMATH 373 Quantum Theory 1
CO 330 Combinatorial Enumeration
CO 342 Introduction to Graph Theory
CO 350 Linear Optimization
CO 351 Network Flow Theory
CO 367/CM 442 Nonlinear Optimization
Any PMATH course explicitly listed as a requirement for the Honours Pure Mathematics plan
PMATH 334 Introduction to Rings and Fields with Applications
PMATH 336 Introduction to Group Theory with Applications
Any STAT course (not including STAT 230/240 and STAT 231/241, which are part of the Faculty core) explicitly listed as a requirement for the Honours Statistics plan

The 5.0 non-math units must satisfy the same restrictions as specified for the Bachelor of Computer Science (honours).


Office of the Registrar
University of Waterloo
2nd Floor, Needles Hall
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4567