Metadata
Title
Program and plan requirement checklists
Category
general
UUID
78db458025534f95bc988ab4fcb587da
Source URL
https://cs.uwaterloo.ca/checklists
Parent URL
https://cs.uwaterloo.ca
Crawl Time
2026-03-18T05:13:23+00:00
Rendered Raw Markdown

Program and plan requirement checklists

Source: https://cs.uwaterloo.ca/checklists Parent: https://cs.uwaterloo.ca

Using CS checklists

Expand all Collapse all

How to complete your checklist

Print or edit one of the above checklist. The following guide highlight key areas and further describe them in more detail below:

  1. Calendar Year: The default calendar year is the one in effect when you started in the Faculty of Math (to which CS is a part of), although you can choose a more recent one. For example, if you started in Math in Fall 2020 but joined CS Fall 2022, then you can use the 20/21 calendar and any calendar year after that. If you started in Engineering Fall 2020 but joined CS Fall 2022, then you must used the 22/23 calendar year instead. Students pursing a double major students can use different calendars for each program.
  2. Required Courses: For "required courses", each course can be used to fulfil at most one requirement.
  3. Additional Contraints: You can use a single course to satisfy more than one constraint. As an example, you can use three courses (PSYCH 101, PSYCH 211, and PSYCH 312) to satisfy the breadth requirement (1.0 units from the social sciences) and to satisfy the depth requirement (1.5 units with the same prefix forming a prerequisite chain of length three).
  4. To save space, a requirement such as “CS 115, 135, or 145” is abbreviated as “CS 1[134]5”.
  5. Math Courses: Math units are courses offered by the Math Faculty (e.g., ACTSC, AMATH, CO, PMATH, STAT, etc.) except for COMM and MTHEL courses, plus a set of math-intensive courses offered by other Faculties.
  6. Breadth and Depth: To fulfill the Breadth and Depth requirements, you'll need to take courses in certain subjects, such as "1.0 units from the humanities". For information on the subject areas, see "Elective breadth requirements" in the calendar. \ \ You can count a non-math course towards both Breath and Depth requirements. For example, if you pass ECON 101 and 201, then you've satisfied 1.0 units of the Social Science Breadth requirement. If you take ECON 301 after, then ECON 101, 201, and 301 satisfy the Depth requirement. Go to the Breadth and Depth page to find a list of courses you can use to satisfy this requirement and which category they fall under.
  7. Non-Math Courses: Non-Math units are courses that must be offered by Faculties other than Math, plus COMM and MTHEL courses. In other words, these courses must not be Math courses.
  8. Depth Requirements: To satisfy the depth requirement, you can use 1) three courses or 1.5 units with the same prefix where at least one of those courses is 3XX or higher (e.g., ECON 101, ECON 102, ECON 344).\ \ Or, you can use 2) three courses or 1.5 units with the same prefix that form a prerequisite chain of three. A prerequisite chain of length three is created when course Z has course Y as a prerequisite, and course Y has course X as a prerequisite. For example, you can use PHYS 111, PHYS 112, and PHYS 224 to satisfy your depth requirement since you need to take PHYS 111 before you can take PHYS 112 and PHYS 112 before you can take PHYS 224.
  9. Elective Courses: Electives units can be fulfilled by taking Math or non-Math courses.

Note: For more details, see degree requirements for all math students or the academic plan requirements for Computer Science programs.

Note: Some courses are cross-listed and have different course prefixes (e.g., PHIL 205 is cross-listed with ECON 261). Cross-listed courses can count as one subject or the other, but not simultaneously both when completing your degree requirements.

Example of a completed checklist

Year Example of a completed checklist
22/23 BCS example
21/22 BCS example

Video Tutorial

Remote video URL

View "How to pick your CS checklist and fill it in" on YouTube

The checklists below are available so you can see your plan requirements in an easy-to-read format. In the case of any discrepancy, the Undergraduate Calendar is always the final authority. Please select your program and the appropriate calendar year below.

Major program checklists

Expand all Collapse all

Bachelor of Computer Science (BCS)

Year BCS BCS with Specializations
25/26 BCS AI Bio Bus CFA DH GD HCI SE
24/25 BCS AI Bio Bus CFA DH HCI SE
23/24 BCS AI Bio Bus CFA DH HCI SE
22/23 BCS Bio Bus CFA DH HCI SE
21/22 BCS Bio Bus CFA DH HCI SE
20/21 BCS Bio Bus CFA DH HCI SE
19/20 BCS Bio Bus CFA DH HCI SE
18/19 BCS Bio Bus CFA DH HCI SE
17/18 BCS Bio Bus CFA DH HCI SE
16/17 BCS Bio Bus CFA DH HCI SE
15/16 BCS Bio Bus DH SE
14/15 BCS Bio Bus DH SE
13/14 BCS Bio Bus DH SE
12/13 BCS Bio Bus DH SE
11/12 BCS Bio Bus DH SE
10/11 BCS Bio Bus DH SE
08/09 BCS Bio Bus DH SE
07/08 BCS Bio Bus DH SE
06/07 BCS Bio Bus DH SE

BMath Computer Science (BMath CS)

Year BMath(CS) BMath(CS) with Specializations
25/26 BMath(CS) AI Bio Bus CFA DH GD HCI SE
24/25 BMath(CS) AI Bio Bus CFA DH HCI SE
23/24 BMath(CS) AI Bio Bus CFA DH HCI SE
22/23 BMath(CS) Bio Bus CFA DH HCI SE
21/22 BMath(CS) Bio Bus CFA DH HCI SE
20/21 BMath(CS) Bio Bus CFA DH HCI SE
19/20 BMath(CS) Bio Bus CFA DH HCI SE
18/19 BMath(CS) Bio Bus CFA DH HCI SE
17/18 BMath(CS) Bio Bus CFA DH HCI SE
16/17 BMath(CS) Bio Bus CFA DH HCI SE
15/16 BMath(CS) Bio Bus DH
14/15 BMath(CS) Bus DH
13/14 BMath(CS) Bus DH
12/13 BMath(CS) Bus DH
11/12 BMath(CS) Bus DH
10/11 BMath(CS) Bus DH
08/09 BMath(CS) Bus DH
07/08 BMath(CS) Bus DH
06/07 BMath(CS) Bus DH

BCS (Data Science)

Year BCS Data Science
25/26 Data Science
24/25 Data Science
23/24 Data Science
22/23 Data Science
21/22 Data Science
20/21 Data Science
19/20 Data Science
18/19 Data Science
17/18 Data Science

Joint CS

Year Joint CS
25/26 Joint
24/25 Joint
23/24 Joint
22/23 Joint
21/22 Joint
20/21 Joint
19/20 Joint
18/19 Joint
17/18 Joint
16/17 Joint
15/16 Joint
14/15 Joint
13/14 Joint
07/08 Joint
06/07 Joint

[Looking for Breadth and Depth?

Breadth and Depth requirements page](https://cs.uwaterloo.ca/current-undergraduate-students/majors/breadth-and-depth-requirements)

[Determine which course to take next

Suggested Course Sequences](https://cs.uwaterloo.ca/suggested-sequences)

[BBA/BCS students

Double Degree Checklists](https://cs.uwaterloo.ca/bbabcs)

Minor plan checklists

Expand all Collapse all

Computing minor

If you want to be signed into the Computing minor then you need to complete a Plan Modification Form and then email it to csadvisor@uwaterloo.ca for approval.

Please do not contact the Computing and Financial Management advisors as the program is distinctly separate from the Computing minor.

25/26 Computing minor
24/25 Computing minor
23/24 Computing minor
22/23 Computing minor
21/22 Computing minor
20/21 Computing minor
19/20 Computing option
18/19 Computing Option
17/18 Computing Technology option
16/17 Computing Technology option
15/16 CS minor
14/15 CS minor
13/14 CS minor
12/13 CS minor
11/12 CS minor
10/11 CS minor
09/10 CS minor for math students CS minor for non-math students
08/09 CS minor for math students CS minor for non-math students
07/08 CS minor for math students CS minor for non-math students

Computer Science minor

The Computer Science minor, beginning in 2016/2017, is generally not available to students outside the Faculty of Mathematics because it includes several restricted courses. Students are encouraged to consider the Computing minor as an alternative to the Computer Science minor.

25/26 CS minor
24/25 CS minor
23/24 CS minor
22/23 CS minor
21/22 CS minor
20/21 CS minor
19/20 CS minor
18/19 CS minor
17/18 CS minor
16/17 CS minor