In addition to the core courses that are taken by all B.C.S. students, each of the various streams has additional courses that MUST be taken to fulfill the stream requirements.  Below is a list of these courses for each of the individual streams.  For a complete list of program stream requirements, please see the 2022-23 Undergraduate Calendar:

Algorithms

  • COMP 3801 – Algorithms for Modern Data Sets
  • COMP 3803 – Introduction to Theory of Computation
  • COMP 4001 – Distributed Computing
  • COMP 4804 – Design and Analysis of Algorithms II

Artificial Intelligence and Machine Learning

  • COMP 3105 – Introduction to Machine Learning
  • COMP 3106 – Introduction to Artificial Intelligence
  • COMP 4107 – Neural Networks

Computer Game Development

  • COMP 1501 – Introduction to Computer Game Design
  • COMP 2501 – Computer Game Design and Development
  • COMP 3501 – Foundations of Game Programming and Computer Graphics
  • COMP 4501 – Advanced Facilities for Real-Time Games

Computer and Internet Security

  • COMP 3008 – Human-Computer Interaction
  • COMP 3109 – Applied Cryptography and Authentication
  • COMP 3203 – Principles of Computer Networks
  • COMP 4108 – Computer Systems Security

Software Engineering

  • COMP 3008 – Human-Computer Interaction
  • COMP 4004 – Software Quality Assurance
  • SYSC 3303 – Real-Time Concurrent Systems
  • SYSC 4106 – The Software Economy and Project Management

Management and Business Systems

  • BUSI 1003 and 0.5 credit in 2000-level BUSI or
    • BUSI 1001 – Principles of Financial Accounting &
    • BUSI 1002 – Management Accounting
  • BUSI 2121 – Introduction to Organizational Behaviour
  • BUSI 2301 – Introduction to Supply and Operations Management
  • BUSI 2503 – Introduction to Finance
  • BUSI 3402 – Systems Analysis and Design
  • ECON 1001 – Introduction to Microeconomics
  • ECON 1002 – Introduction to Macroeconomics