Specializations

Artificial Intelligence

Artificial Intelligence (AI) is the investigation of agents that make rational decisions based on input from external sources. These sources can be data from financial markets or biological systems, or physical input provided by cameras and other sensors. In the AI specialization, students can get experience in machine learning, robotics and other state-of-the-art systems.

  • COMP 3190 – Introduction to Artificial Intelligence
  • Two of:
    • COMP 4180 – Intelligent Mobile Robotics
    • COMP 4190 – Artificial Intelligence
    • COMP 4200 – Expert Systems
    • COMP 4360 – Machine Learning

Computer Systems

This specialization helps students learn more about the lower levels of computing, with a focus on hardware-oriented aspects, compilers, operating systems and parallel computing.

  • One of:
    • COMP 3010 – Distributed Computing
    • COMP 3290 – Introduction to Compiler Construction
  • Two of:
    • COMP 4430 – Operating Systems
    • COMP 4550 – Real-Time Systems
    • COMP 4510 – Introduction to Parallel Computation
    • COMP 4690 – Computer Systems and Architecture

Databases

Students in this specialization learn about how computers can manage, maintain, and mine the vast amounts of data produced by modern society, from areas as diverse as commerce, medicine and climate science.

  • COMP 3380 – Database Concepts and Usage
  • COMP 4380 – Database Implementation
  • One of:
    • COMP 4710 – Introduction to Data Mining
    • COMP 4740 – Advanced Databases

Human-Computer Interaction and Graphics

Students in this specialization learn how to design, implement, and evaluate ways for people to interact with computing technology, including how to address people’s needs and abilities, how to render and visualize information, and how to use novel technologies to improve interactions.

  • COMP 3020 – Human-Computer Interaction
  • COMP 3490 – Computer Graphics
  • One of:
    • COMP 4020 – Human-Computer Interaction 2
    • COMP 4490 – Computer Graphics 2

Networks and Security

In this specialization students learn in-depth about means for communicating between computers, including the low-level mechanics of networking as well as higher-level concerns like security and cryptography.

  • COMP 4140 – Introduction to Cryptography and Cryptosystems
  • COMP 4300 – Computer Networks
  • COMP 4580 – Computer Security

Software Engineering

Students in this specialization study the design and assembly of software systems. As projects often need large groups to manage complex systems, students in this specialization will require skills in software design, project development and effective communication.

  • COMP 3010 – Distributed Computing
  • COMP 3020 – Human-Computer Interaction
  • COMP 3040 – Technical Communication in Computer Science
  • COMP 3380 – Database Concepts and Usage
  • COMP 4620 – Professional Practice in Computer Science
  • COMP 4050 – Project Management
  • COMP 4350 – Software Engineering 2

Theoretical Computer Science

In this specialization students focus on the mathematical and computational aspects of computer science, and learn how to study the limits of computing and the practicality of algorithms.

  • COMP 3030 – Automata Theory and Formal Languages
  • COMP 3170 – Analysis of Algorithms and Data Structures
  • COMP 4420 – Advanced Design and Analysis of Algorithms
  • Two of:
    • COMP 4340 – Graph Theory Algorithms
    • COMP 4140 – Introduction to Cryptography and Cryptosystems
    • COMP 4510 – Introduction to Parallel Computation

Web-Based Systems

Students in this specialization learn the fundamentals and mechanics of web-based software.

  • COMP 3010 – Distributed Computing
  • COMP 3020 – Human-Computer Interaction
  • COMP 3380 – Database Concepts and Usage
  • COMP 4350 – Software Engineering 2
  • COMP 4580 – Computer Security

View all Programs