The department of Computer Science is updating the prerequisite requirements for a number of courses to ensure they accurately reflect course expectations. We have found that many students who do not succeed in higher level classes are missing fundamental knowledge from earlier classes. These changes are intended to address this gap and ensure that you are better prepared. We understand that this will affect the program plans for many students, which is why we are not implementing these changes until Fall 2023. After that, however, exceptions will not be made to any course prerequisite, except under the specific scenario outlined below. The information is being provided ahead of the Academic Calendar updates to give you time to fill any gaps in the courses you have taken.
If you are in an Honours Computer Science program, you will have most of the new prerequisites based on courses required by the program — allowing for minimum grade requirements and updates to Statistics requirements (see below). If you are in the Major program, you may, in some circumstances, have to complete Computer Science courses not required by the program to register for certain advanced courses. You should remember that the main reason to choose the Major program is so you can obtain a more diverse education, not to take as many Computer Science courses as possible. The selection of a Minor, such as Statistics (Machine Learning and Data Mining are all about Statistics), is key to obtaining a meaningful Major degree.
For the 2023/2024 academic year students who need 30 (or fewer) credit hours to complete their degree may contact a Faculty of Science Academic Advisor to request to have the new prerequisites waived for COMP 4020, 4140, 4190, 4300, 4380, 4420, 4510, and 4710. Note that this exception is only valid for the 2023/2024 academic year — anyone not completing their degree in the 2023/2024 academic year will be subject to all the course prerequisites beginning in the 2024/2025 academic year.
A large number of courses will have STAT 1150 added as a prerequisite (STAT 1150 will also become the new degree requirement as of Fall 2023). We are allowing a variety of alternates to STAT 1150, including STAT 2000 (B) and STAT 2220. To facilitate this transition, 3000-level courses will temporarily allow STAT 1000, but that will change to STAT 1150 in the future.
The courses having STAT added/modified as a prerequisite are: 3010, 3170, 3190, 3430, 4020, 4140, 4190, 4360, 4420, and 4710.
It is imperative that students complete core 2000-level courses prior to the continuation of Computer Science studies in their third year (and beyond). To that end, the department of Computer Science is changing all 3000-level courses to ensure that they have at least one of COMP 2080, 2150, or 2280 as a prerequisite.
The courses having 2080 added as a prerequisite are: 3010 and 3430.
The courses having 2150 added as a prerequisite are: 3020, 3190, 3380, and 3490.
The Industrial Project course (4560) is being changed to ensure that anyone who doesn't otherwise have project work experience has the opportunity to do so with this course. This is being done by making it mutually exclusive with (can't be taken with) the Honours Project course (4520/4522) and the first co-op work-term (SCI 3980/COMP 2980).
The Undergraduate Honours Project course (4520) is being replaced by the Honours Project course (4522). This new course is only available to Honours and Joint Honours Computer Science students in the fourth year of their studies. Further, while it maintains the exact same expectations as 4520, it will count as a 6-credit hour course. That is, it counts as two half courses toward the completion of an Honours student's 4000-level COMP course degree requirements.
There are a number of additional prerequisite changes coming to a variety of courses to ensure that you have the material needed prior to registration. Here's the complete list of courses with new/modified prerequisites:
2160 (Programming Practices) COMP 1020 (C+) or COMP 1021 (C+). Pre- or corequisite: COMP 2140.
3010 (Distributed Computing) [[COMP 2150 and COMP 2080] or [ECE 3740 and ECE 3790]] and [one of STAT 1150, STAT 1000, STAT 1001, STAT 2220, or PHYS 2496].
3020 (Human-Computer Interaction 1) COMP 2150 or ECE 3740. A course in cognitive psychology, such as PSYC 2480 or PSYC 2481, is recommended.
3170 (Analysis of Algorithms and Data Structures) COMP 2080 and [one of STAT 1150, STAT 1000, STAT 1001, STAT 2220, or PHYS 2496].
3190 (Introduction to Artificial Intelligence) [COMP 2150 or ECE 3740] and [one of STAT 1150, STAT 1000, STAT 1001, STAT 2220 or PHYS 2496].
3350 (Software Engineering 1) 6 credit hours of COMP courses at the 3000 level or ECE 3740.
3380 (Databases Concepts and Usage) one of COMP 2150 or ECE 3740.
3430 (Operating Systems) [one of STAT 1150, STAT 1000, STAT 1001, STAT 2220, or PHYS 2496]; and one of [[COMP 2280 and COMP 2080] or [(COMP 2140 or the former COMP 2061) and ECE 3610 and ECE 3790)]].
3490 (Computer Graphics 1) [(COMP 2150 or ECE 3740) or ((COMP 2140 or the former COMP 2061) and 3 credit hours of MATH courses at the 2000 level)] and [one of MATH 1220, MATH 1300 (B), MATH 1301 (B), MATH 1310 (B), MATH 1210 (B), or MATH 1211 (B)] and [one of MATH 1230, MATH 1500 (B), MATH 1501 (B), MATH 1510 (B), the former MATH 1520 (B), or MATH 1524 (B)].
4020 (Human-Computer Interaction 2) COMP 3020 and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220, or PHYS 2496]. A course in cognitive psychology, such as PSYC 2480 or PSYC 2481, is recommended.
4050 (Project Management) COMP 3350 and (COMP 3040 or a course that fulfills the Written English requirement).
4140 (Introduction to Cryptography and Cryptosystems) [one of COMP 3170, MATH 2170, or the former MATH 2500] and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220 or PHYS 2496].
4190 (Artificial Intelligence) COMP 3190 and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220 or PHYS 2496].
4300 (Computer Networks) COMP 3010 and COMP 3430.
4350 (Software Engineering 2) COMP 3010 and COMP 3350 and COMP 3380.
4360 (Machine Learning) [COMP 3190 and (one of STAT 1150 (B), STAT 2220 (B), or PHYS 2496 (B)) and (one of MATH 1220, MATH 1300 (B), MATH 1301 (B), MATH 1310 (B), MATH 1210 (B), or MATH 1211 (B)) and (one of MATH 1230, MATH 1500 (B), MATH 1501 (B), MATH 1510 (B), the former MATH 1520 (B), or MATH 1524 (B))] or [STAT 2400 and MATH 2740 and DATA 2010].
4380 (Database Implementation) COMP 3010 and COMP 3380 and COMP 3430.
4420 (Advanced Design and Analysis of Algorithms) COMP 3170 and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220, or PHYS 2496].
4510 (Introduction to Parallel Computation) COMP 3170, COMP 3370, and COMP 3430.
4620 (Professional Practice in Computer Science) 6 credit hours of COMP courses at the 3000 or 4000 level and (COMP 3040 or a course that fulfills the Written English requirement).
4710 (Introduction to Data Mining) COMP 3380 and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220, or PHYS 2496] or consent of department.