Site Navigation
Welcome
Important Notice and Disclaimer
Academic Schedule
Types of Credentials and Sub-Degree Nomenclature
Undergraduate Degrees with a Major
Combined Degrees
Minor Programs
Student and Campus Services
Admissions
Academic Regulations
Experiential Learning
Tuition and General Fees
Student Financial Support
Architecture, Planning and Landscape, School of
Faculty of Arts
Cumming School of Medicine
Faculty of Graduate Studies
Haskayne School of Business
Faculty of Kinesiology
Faculty of Law
Faculty of Nursing
Qatar Faculty
Schulich School of Engineering
Faculty of Science
1. Summary of Programs
2. Faculty Student Affairs
3. Faculty Regulations
4. Program Details
4.1 Biological Sciences
4.2 Chemistry
4.3 Computer Science
4.3.1 Programs in Computer Science
4.3.2 Combined Degree Programs
4.3.3 Required Courses - Minor Program
4.4 Geoscience
4.5 Mathematics and Statistics
4.6 Non-Departmental Programs: Data Science, Environmental Science, Nanoscience, Natural Sciences, Neuroscience
4.7 Physics and Astronomy
4.8 Science Internship Program
5. Administration
Faculty of Social Work
Faculty of Veterinary Medicine
Werklund School of Education
Embedded Certificates
Continuing Education
COURSES OF INSTRUCTION
About the University of Calgary
Glossary of Terms
Summary of Changes for the 2022/23 Calendar
Addenda/Errata
Archives
Contact Us
University of Calgary Calendar 2022-2023 Faculty of Science 4. Program Details 4.3 Computer Science 4.3.1 Programs in Computer Science
4.3.1 Programs in Computer Science
Courses constituting the field of Computer Science
Required Courses - BSc Major Program

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 following requirements:

6 units - One of the following three sets of courses:

21 units - Computer Science 251, 331, 351, 355, 413, 449 and 457

3 units - Software Engineering 300 or 301

9 units - From the Field of Computer Science at the 300 level or above

12 units - From the Field of Computer Science at the 400 level or above

9 units - From the Field of Computer Science at the 500 level or above

6 units - One of Mathematics 211 or 213; one of Mathematics 249 or 265 or 275

3 units - Logic Requirement: Philosophy 279 or 377

3 units - Ethics Requirement: Philosophy 314

12 units - Breadth Requirement: Options selected from faculties other than the Faculty of Science, excluding courses in Table I. Science 311 may be counted among the 12 units from other faculties.

30 units - Non-Major Field Requirement: Options that are not in the Field of Computer Science

6 units - Options

Recommended Program Sequence for the BSc in Computer Science

There is a Recommended Course Sequence 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 Recommended Course Sequence 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.

Required Courses - BSc Honours Program

Students must successfully complete a minimum of 66 units, to a maximum of 78 units, in Courses Constituting the Field of Computer Science while fulfilling the following requirements:

6 units - One of the following three sets of courses:

27 units - Computer Science 251, 331, 351, 355, 413, 449, 457 and 502

3 units - Software Engineering 300 or 301

6 units - From the Field of Computer Science at the 300 level or above

9 units - From the Field of Computer Science at the 400 level or above

15 units - From the Field of Computer Science at the 500 level or above

6 units - One of Mathematics 211 or 213, one of Mathematics 249 or 265 or 275

3 units - Logic Requirement: Philosophy 279 or 377

3 units - Ethics Requirement: Philosophy 314

12 units - Breadth Requirement: Options selected from faculties other than the Faculty of Science, excluding courses in Table I. Science 311 may be counted among the 12 units from other faculties.

18 units - Non-Major Field Options that are not in the Field of Computer Science

12 units - Options

Recommended Program Sequence BSc Honours in Computer Science

There is a Recommended Course Sequence 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 Recommended Course Sequence 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.

Required Courses - BA Major Program

The BA program in Computer Science is undergoing review. Students interested in this program should seek advice from a program advisor in the Undergraduate Science Centre. Many options for diversifying a BSc in Computer Science are available to students.

This program is available to students wishing to complete a double major with an Arts discipline: It is only open to students who are also registered in a BA program offered by the Faculty of Arts. Students interested in this program should contact the Department of Computer Science for advice concerning the choice of courses in Computer Science that would complement their studies in Arts.

Students must successfully complete a minimum of 51 units, to a maximum of 66 units, in Courses Constituting the Field of Computer Science while fulfilling the following requirements:

6 units - One of the following three sets of courses:

18 units - Computer Science 2511, 3312, 355, 441, 449, and 481

3 units - Software Engineering 300 or 301

6 units - From the Field of Computer Science at the 300 level or above

12 units - From the Field of Computer Science at the 400 level or above

6 units - From the Field of Computer Science at the 500 level or above

6 units - One of Mathematics 211 or 213; and one of Mathematics 249 or 265 or 275

6 units - Logic Requirement: One of Philosophy 279 or 377 and 379

3 units - Ethics Requirement: Philosophy 314

9 units - Breadth Requirement: Options from faculties other than the Faculty of Science, excluding courses in Table I. Of these, at least 6 units must be from the Faculty of Arts. Science 311 may be counted among the courses from other faculties.

30 units - Non-Major Field Requirement: Options that are not in the Field of Computer Science

15 units - Options

1Students may complete Mathematics 271 or 273 in lieu of Computer Science 251 with consent of the Department. Students with Mathematics 271 or 273 will be required to complete Statistics 213, or obtain consent of the Department, in order to register for Computer Science 351.

2Students who have completed Computer Science 319 prior to admission to a program in Computer Science may use this course in lieu of Computer Science 331 as a program requirement. Students with Computer 319 will be required to complete a non-credit, on-line course in order to be qualified for senior courses in theoretical computer science.

Concentrations

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:

A. Concentration in Computer Game Development

Note: Students interested in taking courses offered by the Department of Art to complete these requirements are encouraged to contact that department for permission to enrol in courses normally restricted to BFA Art students.

B. Concentration in Software Engineering

Notes:

  • The Haskayne School of Business will consider waiving the prerequisites for senior courses (particularly Business Technology Management 463 and 465) on an individual request basis. Students should contact the particular Area Chair in the Haskayne School of Business regarding prerequisite waivers.
  • Honours students interested in Software Engineering should consider the use of Computer Science 502.06 to complete the Honours requirement for Computer Science 502.

1Students interested in using Computer Science 499 or 599 should contact the department to determine which topics, if any, are being offered in a given year that may be used to fulfill the requirements of this concentration.

C. Concentration in Theoretical Computer Science

Note: Honours students interested in Theoretical Computer Science should consider the use of Computer Science 502.02 to complete the Honours requirement for Computer Science 502.

D. Concentration in Scientific Computation

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.

1Students interested in using Computer Science 599 or 601 should contact the department to determine which topics, if any, are being offered in a given year that may be used to fulfill the requirements of this concentration.

E. Concentration in Human-Computer Interactions

Notes:

  • Honours students interested in Human-Computer Interactions should consider the use of Computer Science 502.07 to complete the Honours requirement for Computer Science 502.
  • Students interested in taking courses offered by the Department of Art to complete these requirements are encouraged to contact that department for permission to enrol in courses normally restricted to BFA Art students.

F. Concentration in Computer Graphics

Notes:

  • Honours students interested in Computer Graphics should consider the use of Computer Science 502.03 to complete the Honours requirement for Computer Science 502.
  • Students interested in taking courses offered by the Department of Art to complete these requirements are encouraged to contact that department for permission to enrol in courses normally restricted to BFA Art students.

1Students interested in using Computer Science 599 should contact the department to determine which topics, if any, are being offered in a given year that may be used to fulfill the requirements of this concentration.

G. Concentration in Information Security

Note: Honours students interested in Information Security should consider the use of Computer Science 502.04 to complete the Honours requirement for Computer Science 502. Computer Science 418 is strongly recommended over Mathematics 431.

H. Concentration in Networks and Distributed Computing

Note: Computer Science 526 is recommended over Computer Science 525, 528 or 530.

I. Concentration in Visualization and Analytics

Note: Students are strongly encouraged to complete both Computer Science 583 and 573.