Program and plan requirement checklists

The following page provides instruction and additional details to assist students on how to complete a checklist for plans offered by the School of Computer Science. Use the links below to skip to the desired section and field faster.


Jump to: Checklist Guide | Bachelor of Computer Science (BCS and BCS DS) | Bachelor of Mathematics (BMath CS) | CS Joint | Computing and CS Minors


Checklist guide on or after 2026/2027

Outline of a BCS checklist with areas highlighted

Guideline for CS checklists on or before 2025/2026

  1. Calendar Year: The Undergraduate Calendar contains the academic regulations, programs, and course information that apply during the academic year. Interestingly, the university calendar year is an academic year, and not a regular January-to-December year (think of it as a school year). It begins on September 1 and ends on August 31 of the following year. 

    Your default calendar year is typically the one that was in effect when you first entered the Faculty of Mathematics (which includes Computer Science), although you may choose to follow a more recent calendar. For example, if you began your studies in the Faculty of Mathematics in Fall 2024 and joined Computer Science in Fall 2025, you may follow the 2024/25 calendar or any later calendar year. However, if you started in another faculty, such as Engineering, in Fall 2024 and transferred into Computer Science in Fall 2025, your earliest eligible calendar would be the 2025/26 calendar or any subsequent calendar. If you'd like to follow a more recent calendar, then please complete a Plan Modification Form and send it to CS advisors for approval. 

    Students pursuing a double major may follow different calendar years for each program, provided they meet the requirements associated with those calendars.

  2. To save space, a requirement such as “CS 115, 135, or 145” is abbreviated as “CS 1[134]5”.

  3. Elective Courses: Electives units can be fulfilled by any courses.

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.


CS Major checklists

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.

Bachelor of Computer Science (BCS) Checklists

Year BCS BCS with Specializations* BCS Data Science
26/27 BCS AI BIO BUS CFA DHW GD HCI SE DS
25/26 BCS AI BIO BUS CFA DHW GD HCI SE DS
24/25 BCS AI BIO BUS CFA DHW   HCI SE DS
23/24 BCS AI BIO BUS CFA DHW   HCI SE DS
22/23 BCS   BIO BUS CFA DHW   HCI SE DS
21/22 BCS   BIO BUS CFA DHW   HCI SE DS
20/21 BCS   BIO BUS CFA DHW   HCI SE DS
19/20 BCS   BIO BUS CFA DHW   HCI SE DS
18/19 BCS   BIO BUS CFA DHW   HCI SE DS

*Specializations were called Options in the 18/19 calendar and earlier


Bachelor of Mathematics, Computer Science (BMath CS) Checklists

Year

BMath CS BMath CS with Specializations*
26/27 BMath CS AI BIO BUS CFA DHW GD HCI SE
25/26 BMath CS AI BIO BUS CFA DHW GD HCI SE
24/25 BMath CS AI BIO BUS CFA DHW   HCI SE
23/24 BMath CS AI BIO BUS CFA DHW   HCI SE
22/23 BMath CS   BIO BUS CFA DHW   HCI SE
21/22 BMath CS   BIO BUS CFA DHW   HCI SE
20/21 BMath CS   BIO BUS CFA DHW   HCI SE
19/20 BMath CS   BIO BUS CFA DHW   HCI SE
18/19 BMath CS   BIO BUS CFA DHW   HCI SE

*Specializations were called Options in the 18/19 calendar and earlier 


Computing and CS Minors

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.

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.

Year Computing Minor CS Minor
26/27 Computing Minor CS Minor
25/26 Computing Minor CS Minor
24/25 Computing Minor CS Minor
23/24 Computing Minor CS Minor
22/23 Computing Minor CS Minor
21/22 Computing Minor CS Minor
20/21 Computing Minor CS Minor
19/20 Computing Option CS Minor
18/19 Computing Option CS Minor

Checklist Archives

Archival checklists for CS major and minor plans

 BCS

Year BCS

BCS with options

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 CS

Year BMath(CS)

BMath(CS) with Specializations

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      

 Joint CS

Year Joint CS
17/18 Joint
16/17 Joint
15/16 Joint
14/15 Joint
13/14 Joint
07/08 Joint
06/07

Joint

 Computing and CS Minors

Year Computing minor*  CS minor
17/18 Computing Technology option CS minor
16/17 Computing Technology option CS minor
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  

*The Computing Minor was previously known as the Computing Option, Computing Technology Option, and CS minor (for Maths and non-math students).