Computer Science


Computer science is concerned in the broadest sense with the study of computation and applications of computing. Its development has been stimulated by collaborations with many areas including engineering, the physical and life sciences, mathematics and statistics and commerce.

Course offerings in the Computer Science program are intended to serve a wide variety of students, ranging from those whose primary interest is in information processing to those interested in applying computing to other fields.


The 2018-19 Academic Calendar contains the requirements for entry into all CS programs. The CS minor is open to any student. The CS major and specialist, information security specialist, and bioinformatics specialist are all restricted enrollment programs that require minimum marks in particular courses (CSC148 and MAT102) and a minimum CGPA.

The CGPA and minimum mark requirements will be set in May and in August 2019, once applications are received for each round of admissions. The requirements may change between the two application periods. However, we guarantee that the requirements in either period will not exceed a 3.0 CGPA, 73 in CSC148, and 73 in MAT102. If you meet these requirements, you will be admitted into any CS program to which you apply.


Here are common alternate majors to consider that pair well with a CS major or minor:

   * Applied Statistics

   * Communication, Culture Information and Technology (CCIT)

   * Economics

   * Geographical Information Systems (GIS)

   * Mathematics

   * Professional Writing and Communication

If you do not meet the requirements for entry to a CS program in your first year, the department strongly recommends that you plan as if you will graduate with a CS minor. The programs above would pair well with CS and can be completed in three years, meaning that you will stay on schedule to graduate. You may also have the opportunity to enter the CS major program in your second or third year if your academic performance in CS is strong.



You can be admitted to the CS program under the calendar guidelines or by requesting a waiver. To be considered for a CS program in your second or a later year of studies, apply to the program as normal (during the May or August POSt periods). If you meet the requirements in the calendar (minimum marks in first year courses and minimum required CGPA), then no additional work is required.

If you do not meet the calendar requirements but have a special circumstance that keeps you from meeting those requirements, such as transferring from another university or bad marks in the first year in an unrelated program, submit the Application of Waiver for Computer Science Program Entry Form

The department will consider your entire academic history, focusing on the most recent year of study, to make an individual decision about your waiver application. Waivers are intended to be used only for extenuating circumstances and are not guaranteed. You should, as mentioned previously, have a plan for graduating with a CS minor in case the waiver is not granted.

Waivers are never granted to first year students and are almost never granted for entry into a specialist program.



All CS majors and specialists contain a half-credit writing requirement. The recommended course to satisfy this requirement is CSC290H5, students can also satisfy the writing requirement with any of CCT110H5, ENG100H5, ENG110Y5, HSC200H5, HSC300H5, LIN204H5, WRI203H5.

If a student wishes to substitute another course to satisfy the writing requirement, the student should  draft a formal letter naming the replacement course and describing how it meets the desired outcome of familiarity with technical and professional modes of communication. Submit this letter to the Faculty Advisor. If your petition is approved, then the course you propose will be accepted in lieu of CSC290H5 when you are assessed for graduation.

The writing requirement for the program and a CSC290 prerequisite for a course are separate issues. It is possible that an instructor could request that CSC290 be strictly enforced as a prerequisite for their course, but in almost all cases, a course accepted as satisfying the department's writing requirement will also satisfy a course prerequisite 
of CSC290.



Students not enrolled in a computer science major or specialist program are restricted to completing a maximum of three 3rd or 4th year computer science courses. Every term, the department removes students from courses who exceed this limit to give all students a fair chance to enroll in upper year courses.

We typically remove non-program students by the beginning of the second week of the academic term. After the removals are complete, all students are permitted to enroll in as many CS courses as they would like, as long as there is space in the course. We believe this strikes a fair balance between (a) providing access to courses for students in the  specialist and major, (b) providing access to courses for students in the minor who have not yet completed three upper year courses, and (c) providing access to extra courses for students in the minor.