Bachelor of Arts (B.A.)

The Major and Minor Computer Science programs for the B.A. and B.A. & Sc. degrees are similar.

Major Concentration Computer Science (36 credits)

This Major concentration represents an in-depth introduction to computer science and its sub-areas. Students that are interested in further study in Computer Science can combine the Major Concentration Computer Science with the Supplementary Minor in Computer Science to constitute a program very close to the Major Computer Science offered by the Faculty of Science.

More Information

Required Courses (21 credits)

MATH 133, MATH 140, and MATH 141 (or their equivalents) should be completed prior to taking courses in this program.

Students who have sufficient knowledge in a programming language do not need to take COMP 202 and should replace it with an additional computer science complementary course.

  • COMP 202 Foundations of Programming (3 credits)
  • COMP 206 Introduction to Software Systems (3 credits)
  • COMP 250 Introduction to Computer Science (3 credits)
  • COMP 251 Algorithms and Data Structures (3 credits)
  • COMP 273 Introduction to Computer Systems (3 credits)
  • MATH 222 Calculus 3 (3 credits)
  • MATH 240 Discrete Structures 1 (3 credits)

Complementary Courses (15 credits)

15 credits selected as follows:

3-6 credits from:

  • MATH 223 Linear Algebra (3 credits)
  • MATH 318 Mathematical Logic (3 credits)
  • MATH 323 Probability (3 credits)
  • MATH 324 Statistics (3 credits)
  • MATH 340 Discrete Structures 2 (3 credits)

At least 3 credits from:

  • COMP 330 Theory of Computation (3 credits)
  • COMP 350 Numerical Computing (3 credits)
  • COMP 360 Algorithm Design (3 credits)

At least 3 credits from:

  • COMP 302 Programming Languages and Paradigms (3 credits)
  • COMP 303 Software Design (3 credits)

The remaining credits are selected from COMP 230 and COMP courses at the 300 level or above (except COMP 364, COMP 396).

Major Concentration Software Engineering (36 credits)

The Major Concentration Software Engineering focuses on the techniques and methodology required to design and develop complex software systems and covers the subject commonly known as "Software Engineering". Arts students that are interested in further study in Computer Science can combine the Major Concentration in Software Engineering with the Supplementary Minor Concentration in Computer Science. For further information, please see an Advisor.

More Information

Students with two programs in the same department/unit must have a third program in a different department/unit to be eligible to graduate. Please refer to the Faculty of Arts regulations for "Faculty Degree Requirements", "About Program Requirements", and "Departmental Programs" for the Multi-track System options.

MATH 133, MATH 140, and MATH 141 (or their equivalents) must be completed prior to taking courses in this program.

Note: This program does not lead to certification as a Professional Engineer.

Required Courses (30 credits)

Students who have sufficient knowledge in a programming language do not need to take COMP 202 but can replace it with an additional Computer Science complementary course.

  • COMP 202 Foundations of Programming (3 credits)
  • COMP 206 Introduction to Software Systems (3 credits)
  • COMP 250 Introduction to Computer Science (3 credits)
  • COMP 251 Algorithms and Data Structures (3 credits)
  • COMP 273 Introduction to Computer Systems (3 credits)
  • COMP 302 Programming Languages and Paradigms (3 credits)
  • COMP 303 Software Design (3 credits)
  • COMP 421 Database Systems (3 credits)
  • MATH 223 Linear Algebra (3 credits)
  • MATH 240 Discrete Structures 1 (3 credits)

Complementary Courses (6 credits)

6-7 credits selected from the following list or from Computer Science (COMP) courses at the 300 level or above excluding COMP 364 and COMP 396.

  • COMP 322 Introduction to C++ (1 credit)
  • COMP 361D1 Software Engineering Project (3 credits)
  • COMP 361D2 Software Engineering Project (3 credits)
  • COMP 529 Software Architecture (4 credits)
  • COMP 533 Model-Driven Software Development (3 credits)
  • ECSE 539 Software Language Engineering (3 credits)

Minor Concentration Computer Science (18 credits)

The Minor Concentration Computer Science is designed for students who want to gain a basic understanding of computer science principles and may be taken in conjunction with any program in the Faculty of Arts.

Students should declare the minor and obtain approval for the selection of courses by completing a Minor Approval form. More information about this process can be found on the CS Minor page

More Information

Required Courses (9 credits)

MATH 133, MATH 140, and MATH 141 (or their equivalents) should be completed prior to taking courses in this program.

Students who have sufficient knowledge in a programming language do not need to take COMP 202 and should replace it with an additional Computer Science complementary course.

  • COMP 202 Foundations of Programming (3 credits)
  • COMP 206 Introduction to Software Systems (3 credits)
  • COMP 250 Introduction to Computer Science (3 credits)

Complementary Courses (9 credits)

9 credits selected from the following list or from Computer Science (COMP) courses at the 300 level or above excluding COMP 364 and COMP 396.

  • COMP 230 Logic and Computability (3 credits)
  • COMP 251 Algorithms and Data Structures (3 credits)
  • COMP 273 Introduction to Computer Systems (3 credits)
  • COMP 280 History and Philosophy of Computing (3 credits)
  • MATH 222 Calculus 3 (3 credits)
  • MATH 240 Discrete Structures 1 (3 credits)

Supplementary Minor Concentration in Computer Science (18 credits)

The Supplementary Minor Concentration may be taken only by students registered in the Major Concentration Computer Science or the Major Concentration Software Engineering. There may be no overlap in credits taken for this Supplementary Minor Concentration and the Major Concentration Computer Science/Software Engineering. Taken together, these constitute a program very close to the Major Computer Science offered by the Faculty of Science. Students must get their selection of courses approved by an Academic Adviser in the School of Computer Science.

More Information

Students with two programs in the same department/unit must have a third program in a different department/unit to be eligible to graduate. Please refer to the Faculty of Arts regulations for "Faculty Degree Requirements", "About Program Requirements" and "Departmental Programs" for the Multi-track System options.

Complementary Courses (18 credits)

18 credits selected from Computer Science (COMP) courses at the 300 level or above excluding COMP 364 and COMP 396.

Students may also select a maximum of 3 credits of MATH courses from the list below.

  • MATH 223 Linear Algebra (3 credits)
  • MATH 318 Mathematical Logic (3 credits)
  • MATH 323 Probability (3 credits)
  • MATH 324 Statistics (3 credits)
  • MATH 340 Discrete Structures 2 (3 credits)