COURSE 
CREDITS 
TITLE 
Required courses: 
4649 

COMP 202* 
3 
Introduction to Computing 1 
COMP 206 
3 
Introduction to Software Systems 
COMP 250 
3 
Introduction to Computer Science 
COMP 252 
3 
Algorithms and Data Structures 
COMP 273 
3 
Introduction to Computer Systems 
COMP 302 
3 
Programming Languages and Paradigms 
COMP 330 
3 
Theoretical Aspects: Computer Science 
COMP 362 
3 
Honours Algorithm Design 
MATH 235 
3 
Algebra 1 
MATH 242 
3 
Analysis 1 
MATH 248 
3 
Honours Advanced Calculus 
MATH 251 or MATH 247 
3 3 
Honours Algebra 2 Honours Applied Linear Algebra 
MATH 255 
3 
Honours Analysis 2 
MATH 356 
3 
Honours Probability 
MATH 357 
3 
Honours Statistics 
MATH 533 
4 
Honours Regression and Analysis of Variance 
Complementary courses: 
30 
(to be selected from the courses below) 
15 credits in Computer Science, selected as follows: 
At least 6 credits selected from: 
COMP 423 
3 
Data Compression 
COMP 424 
3 
Artifical Intelligence 
COMP 462 
3 
Computational Biology Methods 
COMP 490 
3 
Introduction to Probabilistic Analysis of Algorithms 
COMP 526 
3 
Probabilistic Reasoning and AI 
COMP 540** 
3 
Matrix Computations 
COMP 547 
4 
Cryptography and Data security 
COMP 552 
4 
Combinatorial Optimization 
COMP 564 
3 
Computational Gene Regulation 
COMP 566 
3 
Discrete Optimization 1 
COMP 567 
3 
Discrete Optimization 2 
The remaining COMP credits are selected from COMP courses at the 300level or above (except COMP 396, COMP 431). 
15 credits in Mathematics, selected as follows: 
At least 3 credits selected from: 
MATH 387 
3 
Honours Numerical Analysis 
MATH 397 
3 
Honours Matrix Numerical Analysis 
At least 8 credits selected from: 
MATH 523 
4 
Generalized Linear Models 
MATH 524 
4 
Nonparametric Statistics 
MATH 525 
4 
Sampling Theory and Applications 
MATH 556 
4 
Mathematical Statistics 1 
MATH 557 
4 
Mathematical Statistics 2 
The remaining MATH credits are selected from: 
MATH 350 
3 
Graph Theory and Combinatorics 
MATH 352 
1 
Problem Seminar 
MATH 354 
3 
Honours Analysis 3 
MATH 355 
3 
Honours Analysis 4 
MATH 578** 
4 
Numerical Analysis 1 
Notes: 
*Students who have sufficient knowledge in a programming language do not need to take COMP 202. 
**MATH 578 and COMP 540 cannot both be taken for program credit. 
Students entering the Joint Major are expected to have completed MATH 133, MATH 140, and MATH 141 or their equivalents. Otherwise they will be required to make up any deficiencies in these courses over and above the 7679 credits of courses in the program specification. 
Students must consult an Honours advisor in both departments. 