See the subsections on Enrolment Limitations in Section 3 (Faculty Regulations) and in Section 5 (Program Details) under Computer Science.
In some cases, courses that are no longer offered can be substituted for newer courses listed in the following requirements. Additional information about course substitutions is available from the Department of Computer Science.
Courses constituting the field of Computer Science
0.5 FCE - Ethics Requirement: One of Philosophy 249, 329, or an alternative course, including an introduction to professional ethics, with the consent of the Department (Philosophy 329 is preferred when available);
4.0 FCE - Taken from the field of Computer Science: one and one-half numbered 500 or above, two numbered 400 or above, and one-half numbered 300 or above;
7.0 FCE - Non-CPSC Requirement: Options that are not in the field of Computer Science;
1.0 FCE - Options.
Note 1: Courses used to satisfy the above Logic Requirement, Ethics Requirement and Non-CPSC Requirement must include at least four FCE chosen from Faculties other than the Faculty of Science. Of these four FCE, students must take at least one FCE from the Faculty of Arts. The four FCE from other faculties may not be chosen from the courses listed in Table I in 3.4 Program Requirements.
Note 3: Science 311 may be counted among four FCE from other faculties.
Note 4: The Department offers several concentrations that can provide focus on specific areas of computer science. Students interested in these concentrations need to choose their options carefully, including the options taken in the first two years of the program, to fulfill the concentration requirements.
Required Courses - BSc Honours Program
1.0 FCE - One of the following three sets of courses:
0.5 FCE - Ethics Requirement: One of Philosophy 249, 329, or an alternative course, including an introduction to professional ethics, with the consent of the Department (Philosophy 329 is preferred when available);
3.5 FCE - Taken from the field of Computer Science: two numbered 500 or above, and one and one-half numbered 400 or above;
4.5 FCE - Non-CPSC Requirement: Options that are not in the field of Computer Science
2.0 FCE - Options.
Note 1: Courses used to satisfy the above Logic Requirement, Ethics Requirement and Non-CPSC Requirement must include at least four FCE chosen from Faculties other than the Faculty of Science. Of these four FCE, students must take at least one FCE from the Faculty of Arts.
The four FCE from other faculties may not be chosen from the courses listed in Table I in 3.4 Program Requirements.
Note 3: Science 311 may be counted among the four FCE from other faculties.
Note 4: The Department offers several concentrations that can provide focus on specific areas of computer science. Students interested in these concentrations need to choose their options, including the options taken in the first two years of the program, carefully to fulfill the concentration requirements.
Required Courses - BA Major Program
1.0 FCE - One of the following three sets of courses:
0.5 FCE - Ethics Requirement: One of Philosophy 249, 329, or an alternative course, including an introduction to professional ethics, with the consent of the Department (Philosophy 329 is preferred when available);
4.0 FCE - Taken from the field of Computer Science: one numbered 500 or above, two numbered 400 or above, and one numbered 300 or above;
8.0 FCE - Breadth Requirement: Non-Science options. These courses may not be chosen from the courses listed in Table I in 3.4 Program Requirements.
1.0 FCE - Options.
Note 1: Courses used to satisfy the above Logic Requirement, Ethics Requirement and Non-CPSC Requirement must include at least four FCE chosen from Faculties other than the Faculty of Science. Of these four FCE, students must take at least one FCE from the Faculty of Arts.
Note 2: Science 311 may be counted among the four FCE from other faculties.
Recommendations
Computer Science 101 and 102 are recommended but not required. These are offered during Block Weeks preceding the beginning of session, but may not be available in all years.
Students unable to take Philosophy 279 in first year may substitute Philosophy 377 and should take this course in the Fall of second year. Philosophy 379 is not required for a BSc in Computer Science but is recommended. This course is required for an Honours BSc in Computer Science and for a BA in Computer Science.
A course in technical writing, such as Communications Studies 363 or Science 311, is highly recommended. If no such course is available then any course in which a student's writing will be assessed should be considered.
Courses offered by the Haskayne School of Business are often a good choice for non-science options for future software developers. Space permitting, and provided the Area Chair and Associate Dean (Undergraduate Affairs) in the Haskayne School of Business have given approval, registration in restricted Management Information Systems (MGIS) courses may be permitted. Consult the Undergraduate Programs Office in the Haskayne School of Business (Scurfield Hall 351) for details.
To ensure compliancy with CSAC accreditation breadth requirements, students should ensure that they complete five full-course equivalents that are not in computer science or mathematics as part of their degree program, provided that program requirements allow for this course selection.
Recommended Program Sequence BSc (Majors and Honours)
There are many sequences in which courses can be taken in order to complete requirements for the BSc in Computer Science and BSc Honours in Computer Science programs. In general, the following tables simply list one commonly used sequence. For information about alternatives, see the note on “First Courses in Computer Science,” above, the preceding list of requirements for whichever Computer Science program is of interest, the above recommendations, and recommendations concerning Mathematics and Statistics courses that are included in the description of Mathematics and Statistics programs.
Students interested in a specific concentration need to choose their computer science, science and non-science options according to the concentration requirements. This includes options taken in year 1 and 2 of the program.
*Computer Science 319 may be taken as an alternative to Computer Science 331 and may be a better choice for students who have not completed Mathematics 271 or 273 in first year. This course is normally available during the Winter term.
**Students are encouraged to complete these required 400-level courses in Computer Science as soon as possible. Choice of 500-level options in Computer Science will be limited if this advice is not followed.
Students may focus their program on one of seven areas of interest by including a specified set of courses, into 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:
One of Physics 211, 221 or 227, and 1.5 FCE from the Faculty of Science that are not in the field of Computer Science or already required in the program;
Music 209, 211, 213, 225, 309, 311, 313, 325, 329, 341, 343, 351, 355, 415, 417, 441, 443, 445, 447, 451, 453, 511, 513, 551 or any Music course listed as formerly Music Theory and Composition.
0.5 FCE chosen from the Non-Functional Properties List, given below;
0.5 FCE chosen from the Process and Management List, given below;
0.5 FCE chosen from the Applied Development List, given below;
0.5 FCE chosen from the Business List, given below;
1.0 FCE chosen from Software Engineering 501 or from any of the Non-Functional Properties List, Process and Management List, Applied Development List, or Business List, given below.
Note: The Haskayne School of Business will consider waiving the prerequisites for senior courses (particularly Management Information Systems 463 and 465) on an individual request basis. Students should contact the particular Area Chair in the Haskayne School of Business regarding prerequisite waivers.
Note: Honours students interested in Software Engineering should consider the use of Computer Science 502.06 to complete the Honours requirement for Computer Science 502.
C. Concentration in Algorithms and Complexity Theory
Note: Honours students interested in Algorithms and Complexity should consider the use of Computer Science 502.02 to complete the Honours requirement for Computer Science 502.
2.0 FCE in science excluding courses in the field of Computer Science and excluding courses offered by the Department of Mathematics and Statistics.
Note: Honours students interested in Scientific Computation should consider the use of Computer Science 502.05 to complete the Honours requirement for Computer Science 502.
Note: Honours students interested in Computer Graphics should consider the use of Computer Science 502.03 to complete the Honours requirement for Computer Science 502.