Concentrations
⚠︎ |
Concentrations become available from Fall 2025. Students who graduate before Winter 2026 convocation cannot secure a concentration designation on their transcript. |
An opportunity to specialize
Completing a concentration allows you to demonstrate specialization within the field of computer science. Concentrations can be completed by students in the Majors and Honours programs. Students can complete more than one concentration.
Each concentration requires the completion of 18 credit hours of courses, some required, some optional as listed below.
⚠︎ |
Some concentrations allow non-computer science courses as electives. Please note that such courses will not count towards the computer science requirements of your degree. |
When applying to graduate, a student who has completed a concentration can write to the Registrar to request that a concentration designation appears on their transcript.
We offer concentrations in these areas:
Artificial Intelligence
Data-centric Computing
Theory of Computation
Visual Computing and Games
Artificial Intelligence
The AI concentration gives an overview of the growing body of algorithmic and mathematical techniques that have proven practical in allowing computer systems to deal intelligently with the complexities and uncertainties of both human beings and the real world in an efficient and robust manner.
Core (both required)
COMP 3200: Algorithmic Techniques for Artificial Intelligence
COMP 3202: Introduction to Machine Learning
Electives (four required)
COMP 3201: Introduction to Nature-Inspired Computing
COMP 3401: Introduction to Data Mining
COMP 3766: Introduction to Robotic Manipulation
COMP 4301: Computer Vision
COMP 4303: Artificial Intelligence in Computer Games
COMP 4750: Introduction to Natural Language Processing
COMP 4766: Introduction to Autonomous Robotics
499A/B: Honours Project (provided the honours thesis is in the field of Artificial Intelligence)
Statistics 4486 Neural Networks and Deep Learning
Data-centric Computing
Data is essential in today’s industries, science and government, and computer scientists capable of working with data are in high demand. Data plays a vital role in decision making in many areas such as social sciences, business, biomedical science, and government policy. Our Data-centric Computing stream is intended for students who wish to pursue a major in computer science with a focus on data processing and analysis techniques at the higher level of their studies. The stream will prepare computer science students to deal with data at every step of the data processing cycle to transform data into useful information.
Core (all required)
COMP 3400: Data Preparation Techniques
COMP 3401: Introduction to Data Mining
COMP 4304: Data Visualization
COMP 4754: Database Systems
Electives (two required)
COMP 3202: Introduction to Machine Learning
COMP 3550: Introduction to Bioinformatics
COMP 3731: Introduction to Scientific Computing
COMP 4550: Bioinformatics: Biological Data Analysis
COMP 4734: Matrix Computations and Applications
COMP 4750: Introduction to Natural Language Processing
499A/B: Honours Project (provided the honours thesis is in the field of Data-centric Computing)
Statistics 3530: Analysis of Observational Data
Statistics 4411: Bayesian Data Analysis
Statistics 4486: Neural Networks and Deep Learning
Theory of Computation
Students concentration in this field will explore the limitations and capabilities of efficient computation. This includes areas such as computational complexity, algorithm design and analysis, logic, and combinatorics.
Core (all required)
COMP 3600: Algorithm Design and Analysis
COMP 3602: Introduction to the Theory of Computation
COMP 4742: Computational Complexity
Electives (three required)
COMP 4741: Formal Languages and Computability
COMP 4743: Graph Algorithms and Combinatorial Optimization
COMP 4750: Introduction to Natural Language Processing
499A/B: Honours Project (provided the honours thesis is in the field of Theory of Computation)
Mathematics 3240, 3300, 3320, 3340, 3370, 4252, 4320, 4321, 4331, 4340, 4341, 4370 (please see the University Calendar for course titles and descriptions)
Visual Computing and Games
Visual perception is responsible for most of our impressions about the world around us. The visual computing field in computer science studies how to use computer to both mimic humans’ visual processing power (such as object recognition) and to create visual content (such as games and movies). Computer games offer a great opportunity for computer scientists to learn and apply fundamental concepts of the design and creation of interactive experiences and visual content.
The courses in the VCG concentration cover a variety of sub-fields that are related to visual computing and interaction, including image processing, computer vision, multimedia, and game development. The concentration has a strong emphasis on hands-on learning and exploration of applied aspects of visual computing and games. Students completing this concentration will be equipped with skills that will allow them to develop professionally in these visually oriented fields, and will also be prepared for graduate studies in computer graphics, vision and human-computer interaction.
Core (all required)
COMP 3300: Interactive Technologies
COMP 3301: Visual Computing and Applications
COMP 4300: Introduction to Game Programming
Electives (three required)
COMP 3200: Algorithmic Techniques for Artificial Intelligence
COMP 3730: Introduction to Parallel Programming
COMP 3766: Introduction to Robotic Manipulation
COMP 4301: Computer Vision
COMP 4302: 3D Computer Graphics
COMP 4303: Artificial Intelligence in Computer Games
COMP 4304: Data Visualization
COMP 4766: Introduction to Autonomous Robotics
COMP 4768: Software Development for Mobile Devices
499A/B: Honours Project (provided the honours thesis is in the field of Visual Computing and Games)