This website stores cookies on your computer. These cookies are used to collect information about how you interact with our website and allow us to remember your browser. We use this information to improve and customize your browsing experience, for analytics and metrics about our visitors both on this website and other media, and for marketing purposes. By using this website, you accept and agree to be bound by UVic’s Terms of Use for web and social media privacy.  If you do not agree to the above, you can configure your browser’s setting to “do not track.”

Skip to main content

Our breadth requirement ensures that our students graduate with a firm grasp of the overall field of computer science. This is fulfilled by taking computer science (CSC) courses in a broad range of categories and areas.

Graduate students who began their current programs before September 2026 may graduate under the breadth requirement that was in effect from January 2022 through August 2026: this is the three-category breadth requirement. Grad students who started their current program September 2026 or later, must use the ACM category breadth requirement.  

Categories - As of September 2026

The breadth requirement is defined in this graduate student handbook. It is an additional requirement to the course requirements specified in the academic graduate calendar, which are also described in Section 4.1.1 of the graduate handbook.

To meet the breadth requirement, students must have passed (with a grade of B or higher) courses that cover at least four of the top-level areas of the ACM CS2023 core knowledge areas. Each graduate course can cover a maximum of two of these areas. A course is considered to cover an area if at least 20% of its instruction time is about the area.   

As of 2023, the list of ACM CS2023 core knowledge areas is the following:

  • Algorithmic Foundations (AL)
  • Architecture and Organization (AR)
  • Artificial Intelligence (AI)
  • Data Management (DM)
  • Foundations of Programming Languages (FPL)
  • Graphics and Interactive Techniques (GIT)
  • Human-Computer Interaction (HCI)
  • Mathematical and Statistical Foundations (MSF)
  • Networking and Communication (NC)
  • Operating Systems (OS)
  • Parallel and Distributed Computing (PDC)
  • Security (SEC)
  • Society, Ethics, and the Profession (SEP)
  • Software Development Fundamentals (SDF)
  • Software Engineering (SE)
  • Specialized Platform Development (SPD)
  • Systems Fundamentals (SF)

Breadth is met by a minimum of two 500-level CSC courses. Directed Studies, 400 (undergrad) level, out-of-department courses, and courses completed with a grade below B (<73%) do not count towards breadth. The supervisory committee approves that the courses taken by the student meet the breadth requirement. The committee provides a written justification, signed by each member of the fully formed supervisory committee, of how the student’s planned courses cover which areas, and attests that all members of the committee agree that breadth, as defined in the graduate handbook, has been met. The document must be submitted by the supervisor for filing to the graduate program assistant. The breadth requirement is not met until the justification is filed.

If a student and supervisory committee wish to use a course from an outside institution (for example, a course taken through the WDA) towards the breadth requirement, the supervisory committee can request that the graduate studies committee permit this deviation from the constraints listed above. In this case, the supervisory committee must provide a rationale for why it was not possible or desirable to meet the constraint as written. The graduate studies committee may approve this request or decline it with a recommendation for corrective action.

Categories - Pre-September 2026

Systems

  • software engineering
  • programming languages
  • hardware and software systems
  • networks and distributed systems

Theory

  • design and analysis of algorithms
  • scientific computing
  • complexity theory
  • logic and discrete mathematics

Applications

  • databases
  • artificial intelligence
  • bioinformatics
  • graphics and user interfaces

MSc breadth requirements - pre-September 2026

You must complete courses covering the 3 main categories (systems, theory, applications) with at least a B grade.  There should be no more than 2 courses in the same category as your thesis topic. Variations are acceptable if documented and approved by the supervisory committee. The supervisory committee is responsible for checking that the breadth requirement is satisifed according to the expectations and to any variations. 

Breadth categories of CSC 500-level courses

PhD breadth requirements - pre-September 2026

You must complete courses covering the 3 main categories (systems, theory, applications) with at least a B grade. You must take at least one 500-level UVic CSC course in each category. 

Topics courses will have a category specified in the official outline for the course. Directed studies courses are not eligible for the fulfillment of this part of the requirement, nor is "other verifiable experience." 

The minimum grade required for each course is the equivalent of B. In cases where a grade below B is obtained for a course, it is the responsibility of the student and supervisor to ensure that any remedial action is consistent with the breadth proposal. If it is not, a new breadth proposal must be submitted and approved by the committee. 

PhD breadth requirements proposal template

Breadth categories of CSC 500-level courses