4000-Level Courses in Computer Science

COMP 4019: Secure System Design
COMP 4300: Introduction to Game Programming [VCG]
COMP 4301: Computer Vision
COMP 4302: 3D Computer Graphics
COMP 4303: Artificial Intelligence in Computer Games
COMP 4304: Data Visualization [DcC]
COMP 4550: Bioinformatics: Biological Data Analysis
COMP 4711: Structure of Programming Languages
COMP 4712: Compiler Construction
COMP 4715 and COMP 4717: Special Topics in Programming Languages
COMP 4718: Survey of Software Engineering
COMP 4721: Operating Systems
COMP 4723: Introduction to Microprocessors
COMP 4726 to 4729: Special Topics in Computer Systems
COMP 4734: Matrix Computations and Applications
COMP 4736 to 4739: Special Topics in Numerical Computations
COMP 4741: Formal Languages and Computability
COMP 4742: Computational Complexity [ToC]
COMP 4743: Graph Algorithms and Combinatorial Optimization
COMP 4745 to 4749: Special Topics in Theoretical Aspects
COMP 4750: Introduction to Natural Language Processing
COMP 4754: Database Systems [DcC]
COMP 4759: Computer Networks
COMP 4766: Introduction to Autonomous Robotics
COMP 4768: Software Development for Mobile Devices
COMP 4770: Team Project
COMP 4800 to 4825: Special Topics
COMP 499A/B: Honours Project

Courses marked [X] are required for these concentrations:

[AI] = Artificial Intelligence

[DcC] = Data-centric Computation

[ToC] = Theory of Computation

[VCG] = Visual Computing and Games

Some 4000-level courses are highly specialized and rarely offered, whenever departmental resources permit.