Bachelor of Science (BSc) in Computer Science
Download as PDF
For Major Degree requirements, or if completing this program as a Second Degree, refer to:
For other regulations related to the Faculty of Science, see: 3. Faculty of Science Regulations.
Department vs. Faculty Regulations
Programs in the Department of Computer Science are governed by a combination of general Faculty of Science regulations and the additional program specific regulations listed below.
It is essential for students to be familiar with both sets of regulations. It is helpful to read the Faculty Regulations first.
Students should consult Academic Requirements in their Student Centre periodically to ensure that requirements are being met. Also students are strongly urged to consult the Undergraduate Science Centre (USC) at all stages of their program.
First Courses in Computer Science
The Department of Computer Science offers the following courses for students who are interested in an introduction to the discipline of computer science or who wish to use computers more effectively. Each of Computer Science 217, 231 and 235 is intended primarily for a group of students (with differing academic objectives) who are interested in an introduction to computer science that includes an introduction to programming and that is available for credit in computer science programs. The pace at which programming concepts are introduced also differs in each course.
Computer Science 217 is recommended for students wishing to combine studies in computer science with studies in other disciplines, or who are in programs other than computer science and who are interested in a course that includes an introduction to programming. Material related to computer science will be introduced at a pace that is appropriate for students who are unfamiliar with programming or scripting. Upon completion of Computer Science 217, students who are interested in computer science programs would continue by taking Computer Science 219. The latter course includes additional lectures in order to ensure that students in this course sequence are adequately prepared for senior courses in computer science.
Computer Science 231 is recommended for computer science majors. Material related to computer science will be introduced at a somewhat faster pace than in Computer Science 217. Upon completion of Computer Science 231, students who are interested in computer science programs would continue by taking Computer Science 233.
Computer Science 235 is a challenging course intended for exceptional students. This course also includes an introduction to programming and it can be used in place of either Computer Science 217 and 219 or Computer Science 231 and 233 in the requirements for computer science programs. Students completing Computer Science 235 will have additional flexibility when choosing options in computer science and may be able to complete courses that are required for computer science programs more rapidly than would otherwise be possible.
Computer Science 203 is recommended for students who are not in computer science programs and who are interested in a course that introduces computer system fundamentals and tools, including spreadsheets, and database applications. This course generally does not include an extensive introduction to programming and it is not available for registration for computer science majors or minors.
Students that have completed Data Science 211 and wish to pursue a Computer Science Degree should take Computer Science 219.
Advanced Placement in Computer Science
Students in International Baccalaureate (IB) and Advanced Placement (AP) programs may be eligible for advanced credit in Computer Science courses, including Computer Science 217 and 219 or 231 and 233. See the Admissions section of this Calendar (A.13 Transfer Credit/Advanced Standing) for additional details.
Other students with backgrounds in Computer Science equivalent to Computer Science 231 or 231 and 233 may request advanced placement in Computer Science in order to have prerequisite requirements for these courses waived, after successful completion of an advanced placement examination. Interested students should see the Admissions section of this Calendar (A.13.2 Advanced Placement (AP) Program) for additional details, and contact the Department of Computer Science to apply.
Students must successfully complete a minimum of 60 units, to a maximum of 66 units, in Courses Constituting the Field of Computer Science while fulfilling the Program Requirements.
Students may focus their program on one of nine areas of interest by including a specified set of courses in their Major or Honours degree. Successful completion will mean that the area of concentration will appear on the transcript. The concentrations and course requirements are:
There is a Program Sequencing Guides for this program. This sequence describes both the recommended order in which courses should be taken and the recommended course(s) in instances where multiple courses may fulfill a degree requirement. All possible courses that may fulfill degree requirements are found in the Required Courses listed above.
Taking courses in the order of the Program Sequencing Guides will ensure students can complete their program in a timely fashion. The time to complete a program may be lengthened if students choose to complete their requirements in an alternate order.
To complete an optional enhancement to this degree program, refer to: