The course requirements listed below are given as an overview for computer science students. For additional program information and full degree requirements, please consult the University Calendar.
Honours
Year 1
COMP 1010
Introductory Computer Science I
COMP 1020
Introductory Computer Science II
MATH 1300
Vector Geometry and Linear Algebra
MATH 1500
Introduction to Calculus
Year 2
COMP 2080
Analysis of Algorithms
COMP 2130
Discrete Mathematics for Computer Science
COMP 2140
Data Structures and Algorithms
COMP 2150
Object Orientation
COMP 2160
Programming Practices
COMP 2280
Introduction to Computer Systems
STAT 1000
Basic Statistical Analysis
6 credit hours from the Faculty of Arts
Year 3
COMP 3030
Automata Theory and Formal Languages
COMP 3170
Analysis of Algorithms and Data Structures
COMP 3350
Software Engineering
COMP 3370
Computer Organization
COMP 3430
Operating Systems
3 additional credit hours at the COMP 3000 level
Year 4
21 credit hours at the COMP 4000 level
Major
Year 1
COMP 1010
Introductory Computer Science I
COMP 1020
Introductory Computer Science II
MATH 1300
Vector Geometry and Linear Algebra
MATH 1500
Introduction to Calculus
Year 2
6 credit hours from the Faculty of Arts
Basic Statistical Analysis
COMP 2080
Analysis of Algorithms
COMP 2130
Discrete Mathematics for Computer Science
COMP 2140
Data Structures and Algorithms
COMP 2150
Object Orientation
COMP 2160
Programming Practices
COMP 2280
Introduction to Computer Systems
STAT 1000
Year 3
COMP 3430
Operating Systems
COMP 3370
Computer Organization
COMP 3350
Software Engineering
Year 4
21 credit hours at the COMP 3000 level or higher, including 6 credit hours at the COMP 4000 level
Computer Science - Mathematics Joint Honours
Year 1
COMP 1010
Introductory Computer Science I
COMP 1020
Introductory Computer Science II
MATH 1300
Vector Geometry and Linear Alge
MATH 1500
Introduction to Calculus
MATH 1700
Calculus 2
6 credit hours in the Faculty of Arts
Year 2
MATH 2600
Numerical Mathematics
MATH 2750
Intermediate Calculus
MATH 2352
Advanced Linear Algebra
MATH 2202
Fundamentals of Mathematical Analysis
COMP 2280
Introduction to Computer Systems
COMP 2160
Programming Practices
COMP 2140
Data Structures and Algorithms
COMP 2080
Analysis of Algorithms
STAT 1000
Basic Statistical Analysis
Year 3
MATH 3400
Combinatorics
MATH 3350 or both of MATH 3300 and MATH 3310
MATH 3740 or MATH 3760
Three of: COMP 3020, COMP 3290, COMP 3350, COMP 3380, COMP 3720
COMP 3430
Operating Systems
COMP 3370
Computer Organization
COMP 3170
COMP 3030
Automata and Formal Languages
Year 4
12 credit hours at the MATH 3000 level or higher, including 3 credit hours at the MATH 4000 level
Two of COMP 4020, COMP 4050, COMP 4290, COMP 4350, COMP 4380, COMP 4720
COMP 4310 or COMP 4420
Computer Science - Physics Joint Honours
Year 1
COMP 1010
Introductory Computer Science I
COMP 1020
Introductory Computer Science II
MATH 1300
Vector Geometry and Linear Algebra
MATH 1500
Introduction to Calculus
MATH 1700
Calculus 2
PHYS 1050
Physics 1: Mechanics
PHYS 1070
Physics 2: Waves and Modern Physics
6 credit hours from the Faculty of Arts
Year 2
COMP 2080
Analysis of Algorithms
COMP 2130
Discrete Mathematics for Computer Science
COMP 2140
Data Structures and Algorithms
COMP 2160
Programming Practices
COMP 2280
Introduction to Computer Systems
PHYS 2260
Optics
PHYS 2380
Quantum Physics
PHYS 2390
Theoretical Physics
PHYS 2490
Theoretical Physics
PHYS 2650
Classical Mechanics
Year 3
COMP 2190
Scientific Computing
COMP 3170
Analysis of Algorithms and Data Structures
COMP 3430
Operating Systems
PHYS 2600
Electromagnetic Field Theory
PHYS 2610
Circuit Theory and Introductory Electronics
PHYS 3380
Quantum Physics 2
PHYS 3670
Classical Thermodynamics
PHYS 3680
Statistical Mechanics
6 credit hours at the COMP 3000 level or higher
Year 4
12 credit hours at the COMP 3000 level or higher, including 9 credit hours at the COMP 4000 level
15 credit hours at the PHYS 3000 level or higher, including 6 credit hours at the PHYS 4000 level