University of Calgary : 5.3.1 Programs in Computer Science

UofC " This Is Now

Search Calendar:


Site Navigation
Welcome
Important Notice and Disclaimer
Fee Payment Deadlines
Academic Schedule
Undergraduate Degrees with a Major
Combined Degrees
Minor Programs
Student Services
Undergraduate Admissions
Academic Regulations
Tuition and General Fees
English for Academic Purposes Program
Faculty of Arts
Cumming School of Medicine
Faculty of Environmental Design
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. Administration
5. Program Details
5.1 Biological Sciences
5.2 Chemistry
5.3 Computer Science
5.3.1 Programs in Computer Science
5.3.2 BSc Major and Honours in Computer Science Internship Programs
5.3.3 Combined Degree Programs
5.3.4 Required Courses - Minor Program
5.4 Geoscience
5.5 Mathematics and Statistics
5.6 Non-Departmental Programs: Environmental Science, Nanoscience, Natural Sciences, Neuroscience
5.7 Physics and Astronomy
Faculty of Social Work
Faculty of Veterinary Medicine
Werklund School of Education
Co-operative Education/Internship
Continuing Education
Awards and Financial Assistance
COURSES OF INSTRUCTION
About the University of Calgary
Where
Who's Who
Glossary of Terms
Contact Us
Archives
Summary of Revisions
University of Calgary Calendar 2014-2015 Faculty of Science 5. Program Details 5.3 Computer Science 5.3.1 Programs in Computer Science
5.3.1 Programs in Computer Science
Admission

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
Required Courses - BSc Major Program

1.0 FCE - One of the following three sets of courses:

3.5 FCE - Computer Science 313, 319 or 331, 449, 355, 359, 413 and 457;

0.5 FCE - One of Software Engineering 301 or Computer Science 301;

2.0 FCE - One of Mathematics 211 or 213; Mathematics 249 or 265 or 275; one of Mathematics 271 or 273; and one of Statistics 213, 321, or an alternative course in Statistics with the consent of the Department (Statistics 321 is preferred);

0.5 FCE - Logic Requirement: Philosophy 279 or 377;

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: 1.5 FCE of these must be numbered 500 or above, 2.0 FCE at the 400 level or above, and 0.5 FCE at the 300 level or above;

7.0 FCE - Non-CPSC Requirement: Options that are not in the field of Computer Science;

1.0 FCE - Options.

Notes:

  • 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.
  • Statistics 321 has one of Mathematics 253 or 267 or 277 as a prerequisite.
  • Science 311 may be counted among four FCE from other Faculties.
  • 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:

4.5 FCE - Computer Science 313, 319 or 331, 449, 355, 359, 413, 457 and 502;

0.5 FCE - One of Software Engineering 301 or Computer Science 301;

2.0 FCE - One of Mathematics 211 or 213, one of Mathematics 249 or 265 or 275, one of Mathematics 271 or 273, and one of Statistics 213, 321, or an alternate course in Statistics with the consent of the Department (Statistics 321 is preferred);

0.5 FCE - Logic Requirement: Philosophy 279 or 377;

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: 2.5 FCE of these courses must be at the 500 level or above, and 1.5 FCE at the 400 level or above;

4.5 FCE - Non-CPSC Requirement: Options that are not in the field of Computer Science

2.5 FCE - Options.

Notes:

  • 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.
  • Statistics 321 has one of Mathematics 253 or 267 or 277 as a prerequisite.
  • Science 311 may be counted among the four FCE from other Faculties.
  • 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

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

1.0 FCE - One of the following three sets of courses:

2.5 FCE - Computer Science 319 or 331, 449, 355, 441, and 481;

0.5 FCE - One of Software Engineering 301 or Computer Science 301;

1.5 FCE - One of Mathematics 211 or 213, one of Mathematics 249 or 265 or 275, and one of Mathematics 271 or 273;

1.0 FCE - Logic Requirement: One of Philosophy 279 or 377 and 379;

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 will make up the Arts component of the students major program but may not be chosen from the courses listed in Table I in 3.4 Program Requirements without consent of the Department.

1.0 FCE - Options.

Notes:

  • 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.
  • 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 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.

First Year

 

Fall

Winter

Computer Science 101

 

Computer Science 231

Computer Science 233

Mathematics 211

Mathematics 271

Required course in Mathematics and Statistics

Required course in Mathematics and Statistics

Philosophy 279

Option

Option

Non-science option

Second Year

 

Computer Science 102

 

Computer Science 331*

Computer Science 313

Computer Science 355

Computer Science 359

Option

Software Engineering 301 or Computer Science 301

Option

Philosophy 379 or option

Non-science option

Non-science option

Third Year

 

Computer Science 413**

Option in the Field of Computer Science

Computer Science 449**

Option in the Field of Computer Science

Computer Science 457**

Option in the Field of Computer Science

Option

Option

Non-science option

Non-science option

Fourth Year

 

Computer Science 502 ***

Computer Science 502 ***

Option in the Field of Computer Science

Option in the Field of Computer Science

Option in the Field of Computer Science

Option in the Field of Computer Science

Option

Option in the Field of Computer Science

Non-science option

Non-science option

*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.

***Computer Science 502 is required for the Honours program. Computer Science Majors interested in a research project should consider Computer Science 503.

Concentrations

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:

A. Concentration in Computer Game Design

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 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.
  • 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.

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.

E. Concentration in Human-Computer Interactions

Notes:

  • Honours students interested in Human-Computer Interaction should consider the use of Computer Science 502.07 to complete the Honours requirement for Computer Science 502. Students taking Computer Science 503 should consider the use of Computer Science 503.07 to complete the requirements for this concentration.
  • 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.

G. Concentration in Information Security

Note: Honours students interested in Concentration 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 recommended over Pure Mathematics 418.