You are reading the 2024/25 Academic Calendar. The 2023/24 version remains in effect until August 31, 2024 and is available here.

Computer Science

The Department of Computer Science offers opportunities for study leading to bachelor's, master's, and doctoral degrees. For information on the Bachelor of Arts in Computer Science, see the Computer Science entry in the Arts section. For information on advanced degrees, see graduate Computer Science.

Students who are entering second year and wish to pursue a Computer Science Major, Honours, Combined Majors, or Combined Honours specializations, including students who have applied to enter the Faculty of Science and expect to have second-year standing upon admission, must apply using the online process administered by the Faculty of Science. Students will receive an email communication regarding the process in late May or early June. Due to the similarity in second year between the Major or Combined Major specializations, and the corresponding Honours or Combined Honours specializations, the Faculty of Science only admits students directly to either the Major or the Combined Major. Qualified students already admitted to a Computer Science specialization and wishing to transfer to Honours or Combined Honours specializations should apply to the department in April of their second or at the latest third year. Students already admitted to a Computer Science specialization and wishing to transfer to a different Computer Science Major or Combined Major specialization should contact an undergraduate Computer Science advisor for advice.

The Department of Computer Science accepts applications in April from current UBC Science students with third-year standing or higher or students with second-year standing who are ineligible for the central specialization application. For application forms and information regarding admission and continuation requirements, students are advised to review the Computer Science undergraduate information. The progress of continuing students will be reviewed at the end of each academic year. Students making satisfactory progress do not require annual specialization approval.

Co-operative Education Option

Co-operative education is a process of education which integrates academic study with related and supervised work experience in co-operating employer organizations.

A year-round Co-operative Education Option is available for students in Computer Science. The option is intended to help prepare interested and qualified students for careers in the computing industry with a minimum of 4 work placements supervised by practising professionals. Co-op advisors also visit students at their place of work and provide advice on technical reports required of all students in the Co-op Option.

To be eligible, students must be admitted to the second year of a Computer Science specialization in the Bachelor of Science program. Selection of students will be based on academic performance and general suitability to the work environment as determined by resumé and interview. The total enrolment will be subject to the availability of appropriate work placements and faculty advisors. The work placements are arranged by mutual agreement between students and employing organizations. Participating students register for CPSC 298, 299, 398, 399, or 499 as appropriate, and pay the Co-operative Education Option fee for each course (see Program and Course Fees). Graduation in the Option requires a student to complete at least four of CPSC 298, 299, 398, 399 and 499, in addition to the normal academic requirements. Students who complete less than five courses will have each satisfactorily completed course noted on their academic record.

Detailed information on the Option may be obtained from the Department of Computer Science or from the Co-operative Education Option.

Admission and Continuation Requirements for Honours and Combined Honours

Students who wish to register in an Honours or Combined Honours specialization in Computer Science, must seek approval from the Department Honours advisor prior to registering for second year.

To be admitted to an Honours or Combined Honours specialization in Computer Science, students must:

  1. satisfy the Faculty of Science requirements for admission to an Honours or Combined Honours specialization; and
  2. obtain a minimum average of 76%. Achievement of this minimum does not guarantee admission.

To be permitted to continue in an Honours or Combined Honours specialization in Computer Science, students must:

  1. satisfy the Faculty of Science requirements for continuing an Honours or Combined Honours specialization; and
  2. obtain an average of 72% or higher.

The Faculty of Science requirements for admission to or continuation in an Honours or Combined Honours specialization can be found at Introduction to Degree Options.

Lecture-based courses

In the description of the Computer Science specialization requirements, the words “lecture-based” courses refer to all CPSC courses except for CPSC 436I, 448, 449, 455 and 491.

Electives

COMM 337 has overlap with some of the first or second-year Computer Science courses and cannot be used as electives in any degree or combined degree specialization in Computer Science.

Specializations

Major (0376) and Honours (0154): Computer Science (CPSC)

First Year 
Communication Requirement16
CPSC 110 (or 103 and 107)24
CPSC 12134
MATH 100 or 102 or 104 (or 180 or 184 or 120 or 110)43
MATH 101 or 103 or 105 (or 121)43
Electives410
Total Credits30
1 For a full list of acceptable courses see Communication Requirement.
2 While CPSC 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC 103, 107 may be taken in its place using 2 credits of electives.
3 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term 1 of second year before going out on a Co-op work term.
4 Students are permitted to move elective credits between years. Students who take courses in MATH with extra credits will require fewer elective credits in later years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.

Major (0376): Computer Science (CPSC)

Second Year 
CPSC 21014
CPSC 213, 2218
MATH 200, 2216
STAT 241 or 25123
Electives39
Total Credits30
Third and Fourth Years 
CPSC 310, 313, 32010
CPSC courses numbered 300 or higher49
CPSC courses numbered 400 or higher4,59
Electives332
Total Credits60
Total Credits for Degree120
1 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term 1 of second year before going out on a Co-op work term.
2 May be replaced by STAT 200 or STAT 201 provided MATH/STAT 302 is taken as an elective in third or fourth year. STAT 200 is recommended for students with an interest in further STAT courses. STAT 201 is recommended for students with an interest in the Minor in Data Science.
3 Students are permitted to move elective credits between years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
 
4 Credits gained from undergraduate Student-Directed Seminars (CPSC 490) can not be used to fulfill this requirement. 
5 At least 3 credits must come from lecture based course(s). 

Honours (0154): Computer Science (CPSC)

Second Year 
CPSC 2101, 213, 22112
MATH 200 or 2263
MATH 221 or 2233
STAT 200 or 20123
Electives315
Total Credits36
Third and Fourth Years 
CPSC 310, 313, 32010
MATH 302 or STAT 3023
CPSC 34940
CPSC 44956
CPSC courses numbered 300 or higher612
CPSC courses numbered 400 or higher6,79
Electives326
Total Credits66
Total Credits for Degree132
1 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term 1 of second year before going out on a Co-op work term.
2 STAT 200 is recommended for students with an interest in further STAT courses. STAT 201 is recommended for students with an interest in the Minor in Data Science. 
3 Students are permitted to move elective credits between years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
4 Taken in third year. 
5 Taken in fourth year. Students who have completed a research intensive experience in a computer science field may be allowed to waive this requirement. Examples of research intensive experiences include full time summer internships in a research laboratory or Undergraduate Student Research Awards. If this requirement is waived, the student must take 6 additional credits of CPSC courses numbered 400 or higher.
6 Credits gained from undergraduate Student-Directed Seminars (CPSC 490) cannot be used to fulfill this requirement. 
7 At least 6 credits must come from lecture-based course(s). 

Combined Major: Computer Science and Another Science Subject

First Year 
Communication Requirement16
CPSC 110 (or 103 and 107)24
CPSC 12134
MATH 100 or 102 or 104 (or 180 or 184 or 120 or 110)43
MATH 101 or 103 or 105 (or 121)43
Other subject area credits or Electives4,510
Total Credits30
Second Year 
CPSC 21034
CPSC 213, 2218
At least 6 credits from MATH 200, 221, STAT 200, 201, 241, 251, BIOL 30066
Other subject area credits or Electives4,512
Total Credits30
Third and Fourth Years 
CPSC 310, 313, 32010
Other CPSC courses numbered 300 or above76
Further CPSC courses numbered 400 or above7,86
Other subject area credits numbered 300 or above521
Electives4,517
Total Credits60
Total Credits for Degree120
1 For a full list of acceptable courses see Communication Requirement.
2 While CPSC 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC 103, 107 may be taken in its place using 2 credits of electives.
3 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term 1 of second year before going out on a Co-op work term.
4 Students are permitted to move elective credits between years. Students who take courses in MATH with extra credits will require fewer elective credits in later years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
5 Other subject area credits are selected with consultation of an advisor of the other subject.
6 Credit will be granted for only one of STAT 200 and BIOL 300. 3 of these 6 credits may be deferred to third year. STAT 200 is recommended for students with an interest in further STAT courses. STAT 201 is recommended for students with an interest in the Minor in Data Science.
7 Credits gained from undergraduate Student-Directed Seminars (CPSC 490) can not be used to fulfill this requirement. 
8 At least 3 credits must come from lecture based course(s). 

Combined Major (1370): Computer Science and Biology

See Biology.

Combined Major (3401): Computer Science and Chemistry (CPSC, CHEM)

First Year 
Communication Requirement13
CHEM 121 (or 111 or 141)24
CHEM 12334
CPSC 110 (or 103 and 107)44
CPSC 12154
MATH 100 or 102 or 10463
MATH 101 or 103 or 10573
Electives86
Total credits31
Second Year 
CHEM 20394
CHEM 2083
CHEM 213, 2454
CPSC 2104
CPSC 213, 2218
MATH 2003
Electives83
Total credits29
Third Year 
CHEM 211104
CHEM 3003
CHEM 3123
MATH 2213
Total credits13
CHEM 3151
Third and Fourth Years 
Two of CHEM 218, 304, 311, 313, 318, 327, 330, 4126
CPSC 310, 313, 32010
CHEM Selections116
CPSC Selections12,139
CPSC and CHEM Selections12,146
Electives89
Total credits47
Total credits for degree120
1 Of the 6 credits required to satisfy the Communication Requirement, 3 credits are specified in third year (CHEM 300). The remaining 3 credits must be chosen from the list of acceptable courses, see Communication Requirement. ENGL credits beyond those needed to satisfy the Communication Requirement may be applied towards the Faculty of Science Arts Requirement.
2 Students who do not have B.C. High School Chemistry 12 (or its equivalent) must write the UBC Chemistry Basic Skills Test and may be required to take CHEM 100. CHEM 110 and 115 may substitute for CHEM 111. CHEM 120 and CHEM 115 may substitute for CHEM 121. 
3 CHEM 130 and CHEM 135 may substitute for CHEM 123. 
4 While CPSC 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC 103 and 107 may be taken in its place using 2 credits of electives. 
5 Students pursuing the Co-op option are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term 1 of second year before going out on a Co-op work term. 
6 MATH 180 or 184 or 120 or 110 may substitute for any of the specified differential calculus courses listed. 
7 MATH 121 may substitute for any of the specified integral calculus courses listed. 
8 Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
 
9 CHEM 223 and 225 may substitute for CHEM 203. Students with CHEM 235 and a score of 76% or higher in CHEM 233 may apply for admission to this specialization and will be allowed to use CHEM 233 and 235 in place of CHEM 203. 
10 CHEM 210 and 215 may substitute for CHEM 211. 
11 Chosen from 300- and 400-level CHEM lecture courses. At least 3 credits must be chosen from 400-level CHEM lecture courses. Recommended selections include CHEM 404, 412. 
12 Credits gained from undergraduate Student-Directed Seminars (CPSC 490) can not be used to fulfill this requirement. 
13 Chosen from 300- and 400-level CPSC courses. At least 3 credits must be chosen from 400-level CPSC lecture-based courses. Recommended selections include CPSC 302 or 303. 
14 Chosen from 300- and 400-level CPSC and CHEM lecture courses. With permission, qualified students may apply 3 credits towards CHEM 445 or CHEM 449. 

Combined Major (1429): Computer Science and Mathematics

See Mathematics.

Combined Major (1371): Computer Science & Microbiology and Immunology

See Microbiology and Immunology.

Combined Major (1391): Computer Science and Physics

First Year 
Communication Requirement16
CPSC 110 (or 103 and 107)24
CPSC 12134
MATH 100 (or 102 or 104 or 110 or 180 or 184 or 120)43
MATH 101 (or 103 or 105 or 121)43
PHYS 117 (or 106 or 107)53
PHYS 118 (or 108)53
PHYS 1191
Electives4,63
Total Credits30
Second Year 
CPSC 2103, 213, 22112
MATH 2007, 215, 2219
PHYS 200, 216, 219, 22910
Total Credits31
Third and Fourth Years 
CPSC 310, 313, 32010
CPSC 303 (or 302)3
Other CPSC courses numbered 300 or above8,93
Further CPSC courses numbered 400 or above8,9,103
MATH 31773
PHYS 203114
PHYS 301, 304, 3129
PHYS 319 (or 309)3
PHYS 348 or 409 or 420123
Additional CPSC or PHYS courses numbered 300 or above8,93
Electives4,615
Total Credits59
Total Credits for Degree120
1 For a full list of acceptable courses see Communication Requirement. 
2 While CPSC 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC 103, 107 may be taken in its place using 2 credits of electives. 
3 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both CPSC 221 and CPSC 213 in term 1 of second year before going out on a Co-op work term. 
4 If an alternate course is taken with a different credit value one should adjust the number of elective credits to compensate. 
5 Students who do not have B.C. High School Physics 12 (or its equivalent) must take PHYS 100 prior to other PHYS courses. Qualified students are encouraged to take PHYS (106 or 107)/108/119. Students that took PHYS 101 or 131 may enter the specialization but will need to take PHYS 106, 107, 117, or 170 before the required PHYS 216. 
6 Students are permitted to move elective credits between years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
 
7 Qualified students may replace MATH 200 and 317 with MATH 217 and 2 credits of electives, in consultation with an advisor. 
8 Students interested in computer modelling and simulation should take both CPSC 302, 303, and at least one of CPSC 402, 406, PHYS 410. 
9 Credits gained from undergraduate Student-Directed Seminars (CPSC 490, PHYS 490) cannot be used to fulfill this requirement. 
10 These 3 credits must come from lecture based course(s). 
11 The combination CHEM 201 and CHEM 304 may replace PHYS 203. 
12 Students who have taken CPSC 319 may replace this requirement with any upper-level PHYS course. 

Combined Major (1375): Computer Science and Statistics

First Year 
Communication Requirement16
CPSC 110 (or 103 and 107)24
CPSC 12134
DSCI 1003
MATH 100 or 102 or 104 (or 180 or 184 or 120 or 110)43
MATH 101 or 103 or 105 (or 121)43
Electives59
Total Credits32
Second Year 
CPSC 21034
CPSC 213, 2218
MATH 200, 2216
STAT 200, 2016
STAT/MATH 3023
Electives53
Total Credits30
Third and Fourth Years 
CPSC 310, 313, 32010
CPSC courses numbered 300 or above6,76
CPSC courses numbered 400 or above6,7,86
MATH 303, 3076
STAT 305, 3066
STAT courses numbered 300 or above66
STAT courses numbered 400 or above63
Electives515
Total Credits58
Total Credits for Degree120
1 For a full list of acceptable courses see Communication Requirement.
2 While CPSC 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC 103, 107 may be taken in its place using 2 credits of electives.
3 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term one of second year before going out on a Co-op work term.
4 If an alternate course is taken with a different credit value one should adjust the number of elective credits to compensate.
5 Students are permitted to move elective credits between years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
6 CPSC and STAT courses in databases, graphics, visualization, machine learning, artificial intelligence, simulation, data analysis, knowledge discovery, data mining, modelling, and numerical methods are strongly recommended.
7 Credits gained from undergraduate Student-Directed Seminars (CPSC 490) can not be used to fulfill this requirement. 
8 At least 3 credits must be chosen from 400-level CPSC lecture-based courses. 

Admission to this specialization must be approved by both Departments. Contact Computer Science for information.

Combined Honours (1372): Atmospheric Science and Computer Science

See Atmospheric Science.

Combined Honours (1460): Computer Science and Biology

See Biology.

Combined Honours (0021): Computer Science and Mathematics (CPSC, MATH)

First Year 
Communication Requirement16
CPSC 110 (or 103 and 107)24
CPSC 12134
MATH 120 (or 100 or 102 or 104 or 180 or 184)44
MATH 121 (or 101 or 103 or 105)4
PHYS 106 (or 107 or 117 or 101 or 131)53
Electives68
Total Credits33
Second Year 
CPSC 21034
CPSC 213, 2218
MATH 226 (or 200)73
MATH 215, 223 (or 221), 227 (or 317)9
Electives69
Total Credits33
Third Year 
CPSC 302 or 30383
CPSC 310, 313, 32010
MATH 320, 3216
9 credits from MATH 300, 301, 316, 322, 323, 3319
Electives65
Total Credits33
Fourth Year 
CPSC 420 or 4213
CPSC courses numbered 300 and above99
12 credits from MATH 400-406, 412, 418-428, 433-440, 443, 449, 450, CPSC 402, 40612
Electives69
Total Credits33
Total Credits for Degree132
1 For a full list of acceptable courses see Communication Requirement.
2 While CPSC 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC 103, 107 may be taken in its place using 2 credits of electives.
3 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term one of second year before going out on a Co-op work term.
4 See UBC-SFU-UVIC-UNBC Calculus Examination Certificate. Also, MATH 110 may substitute for any of the specified courses by decreasing the electives by 3 credits.
5 Students without Physics 12 must complete PHYS 100.
6 Students are permitted to move elective credits between years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
7 Students who take MATH 200 or who obtain less than 68% in MATH 226 must take MATH 220 and obtain 80% or higher in order to take the required course MATH 320.
8 May be deferred to the following year.
9 Credits gained from undergraduate Student-Directed Seminars (CPSC 490) can not be used to fulfill this requirement. 

Combined Honours (1373): Computer Science & Microbiology and Immunology

See Microbiology and Immunology.

Combined Honours (0138): Computer Science and Physics (CPSC, PHYS)

First Year 
Communication Requirement13
CHEM 121 (or 111 or 141)24
CPSC 110 (or 103 and 107)34
CPSC 12144
MATH 120 (or 100 or 102 or 104 or 110 or 180 or 184)54
MATH 121 (or 101 or 103 or 105)54
PHYS 106 (or 107 or 117)63
PHYS 108 (or 118)63
PHYS 11961
Electives73
Total Credits33
Second Year 
Communication Requirement13
CPSC 2104, 213, 22112
MATH 215, 21787
MATH 223 (or 221)93
PHYS 200, 219, 2297
Electives73
Total Credits35
Third Year 
CPSC 302 or CPSC 3033
CPSC 310, 3207
MATH 3163
PHYS 203, 301, 21610
PHYS 319 (or 309)3
Electives76
Total Credits32
Fourth Year 
PHYS 3043
Additional PHYS courses numbered 400 or above10,116
Additional CPSC courses numbered 300 or above11,126
Additional CPSC courses numbered 400 or above11,123
PHYS 449 or CPSC 449136
3 credits from CPSC 402, 406, MATH 405123
Electives75
Total Credits32
Total Credits for Degree132
1 A total of six credits of coursework is required to meet the Communication Requirement. For a full list of acceptable courses see Communication Requirements.
2 Students who do not have B.C. High School Chemistry 12 (or its equivalent) must write the UBC Chemistry Basic Skills Test and may be required to take CHEM 100. CHEM 110 may substitute for CHEM 111. CHEM 120 may substitute for CHEM 121.
3 While CPSC 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC 103, 107 may be taken in its place using 2 credits of electives.
4 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term one of second year before going out on a Co-op work term.
5 If an alternate course is taken with a different credit value one should adjust the number of elective credits to compensate. First-year physics, biology, chemistry, and mathematics can be replaced by SCIE 001.
6 Students who do not have B.C. High School Physics 12 (or its equivalent) must take PHYS 100 prior to other PHYS courses. Students who took PHYS 101 or 131 may enter the specialization but will need to take PHYS 106, 107, 117, or 170 before the required PHYS 216.
7 The number of electives in each year is chosen to balance the total number of credits (i.e., make the yearly total close to 33). However, since the number of available elective credits may not be a multiple of three, students are permitted to move elective credits between years. Students interested in senior chemistry courses or who are planning to enter a career in teaching are reminded that they should take a second course of introductory chemistry. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
 
8 May be replaced with MATH 200 and MATH 317 (using 2 elective credits).
9 Students with credit for MATH 152 prior to entering this specialization can substitute it for MATH 223. MATH 223 or MATH 221 can be taken in first year. Eligible students are highly recommended to take MATH 223.
10 Fourth-year PHYS electives are ASTR 403, 404, 406; MATH 345, 401, 402, 405, 418, 420, 450; PHYS 400, 401, 402, 403, 405, 407, 410, 437, 447, 473, 474. Qualified students are encouraged to take 500-level physics courses for which they must have permission of the Faculty of Science and the Dean of the Faculty of Graduate Studies.
11 Credits gained from undergraduate Student-Directed Seminars (CPSC 490, PHYS 490) cannot be used to fulfill this requirement. 
12 Every student must complete at least 3 credits from lecture based 400 level CPSC course(s). 
13 Students who elect to take CPSC 449 must take CPSC 349 in their third year.

Combined Honours (1376): Computer Science and Statistics (CPSC, STAT)

First Year 
Communication Requirement16
CPSC 110 (or 103 and 107)24
CPSC 12134
DSCI 1003
MATH 120 (or 100 or 102 or 104 or 180 or 184 or 110)4
MATH 121 (or 101 or 103 or 105)4
Electives47
Total Credits32
Second Year 
CPSC 21034
CPSC 213, 2218
MATH 22053
MATH 223 or 2213
MATH 2265 or 2003
STAT 200, 2016
STAT/MATH 3023
Electives43
Total Credits33
Third Year 
CPSC 302, 303, 304, 310, 32016
MATH 3036, 307, 3209
STAT 3063
STAT courses numbered 300 or above3
Electives43
Total Credits34
Fourth Year 
CPSC courses numbered 300 and above76
CPSC courses numbered 400 and above7,8,96
STAT 460, 4616
STAT courses numbered 400 and above3
6 credits from CPSC 340, 420, MATH 418, 419, 420, 421 or further STAT courses numbered 400 or above6
Electives46
Total Credits33
Total Credits for Degree132
1 For a full list of acceptable courses see Communication Requirement.
2 While CPSC 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC 103, 107 may be taken in its place using 2 credits of electives.
3 Students pursuing a Co-op option in Computer Science are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take one or both of CPSC 221 and CPSC 213 in term one of second year before going out on a Co-op work term.
4 Students are permitted to move elective credits between years. Students who take courses in MATH or PHYS with more or less credits than those recommended will require a different number of elective credits. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
5 Students obtaining 68% or higher in MATH 226 may replace MATH 220 with 3 elective credits.
6 May be replaced by MATH 419 in fourth year.
7 Credits gained from undergraduate Student-Directed Seminars (CPSC 490) can not be used to fulfill this requirement. 
8 At least 3 credits must be chosen from 400-level CPSC lecture-based courses. 
9 Courses from CPSC 402, 404, 406 are recommended.

Software Engineering Option

Admission into the Software Engineering option is limited and based on academic performance. Students who wish to enter the option have to apply to the Department of Computer Science before the end of their second year. More information may be obtained from the Department.

The option leads to a Bachelor of Science degree. It is not a CEAB accredited engineering degree program leading to the designation Professional Engineer (P.Eng.).

Major (1200): Computer Science and Software Engineering

First Year 
Same as Major and Honours Computer Science 
Second Year 
CPSC 2104
CPSC 213, 2218
MATH 200, 2216
STAT 241 or 25113
Electives29
Total Credits30
Third and Fourth Years 
CPSC 310, 311, 313, 319, 32017
CPSC 410, 411, 4219
One of CPSC 304, 317, 3443
One of CPSC 415, 416, 417, 444, CPEN 421, 432, EECE 443, 4943,43
One more of CPSC 304, 317, 344, 415, 416, 417, 444, CPEN 421, 432, EECE 443, 4943,43
Electives225
Total Credits60
Total Credits for Degree120
1 May be replaced by STAT 200 or STAT 201 provided MATH/STAT 302 is taken as an elective in third or fourth year. STAT 200 is recommended for students with an interest in further STAT courses. STAT 201 is recommended for students with an interest in the Minor in Data Science.
2 Students are permitted to move elective credits between years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
3 Students are encouraged to consider other courses in this group as electives.
4 Students electing to take CPEN or EECE courses must ensure that they meet the Faculty of Science Upper-level Requirement.

Honours (1201): Computer Science and Software Engineering

First and Second Year 
Same as in the regular Honours specialization. 
Third and Fourth Years 
CPSC 310, 311, 313, 319, 32017
CPSC 410, 411, 4219
One of CPSC 304, 317, 3443
One of CPSC 415, 416, 417, 444, CPEN 421, 432, EECE 443, 49413
One more of CPSC 304, 317, 344, 415, 416, 417, 444, CPEN 421, 432, EECE 443, 49413
CPSC 34920
CPSC 44936
MATH 302 or STAT 3023
Electives422
Total Credits66
Total Credits for Degree132
1 Students are encouraged to consider other courses in this group as electives.
2 Taken in third year. 
3 Taken in fourth year. It is recommended that students select a thesis topic in one of the following areas: software engineering, programming languages, or systems. Students who have completed a research intensive experience in a computer science field may be allowed to waive this requirement. Examples of research intensive experiences include full time summer internships in a research laboratory or Undergraduate Student Research Awards. If this requirement is waived, the student must take 6 additional credits of CPSC courses numbered 400 or higher.
4 Students are permitted to move elective credits between years. Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
 

Major in Mathematical Sciences

See Mathematics under Bachelor of Science.

B.Sc. Major in Cognitive Systems (1226): Computational Intelligence and Design

For specialization information and admission requirements, see Cognitive Systems (Science).

 

First Year 
Communication Requirement16
CPSC 110 (or 103 and 107)24
CPSC 12134
MATH 100 or 102 or 104 (or 120 or 180 or 184)43
MATH 101 or 103 or 105 (or 121)43
Electives4,5,6,710
Total Credits30
Second Year 
COGS 2003
CPSC 21034
CPSC 2214
LING 10083
PHIL 220 (or PHIL 320)93
STAT 200 or 201 or 241 or 251103
Electives4,5,6,710
Total Credits30
Third and Fourth Years 
COGS 300, 303, 401, 40213
CPSC 312, 320, 3229
PHIL 326, 351, 441, 451 or 4553
PSYC 3653
Cognitive Systems module courses numbered 300 or above6,7,11,1212
Electives4,5,620
Total Credits60
Total Credits for Degree120
1 For a full list of acceptable courses see Communication Requirement.
2 While CPSC 110 is the recommended route for students pursuing a program in Computer Science, CPSC 103, 107 may be taken in its place using 2 credits of electives. 
3 Students pursuing a Co-op option are advised to also take CPSC 210 in their first year or in the summer following their first year. Co-op students will then be in a position to take CPSC 221 in Term 1 of second year before going out on a Co-op work term.
4 Students attempting the COGS major should choose electives to obtain prerequisites to appropriate third- and fourth-year courses. Note that the B.Sc. requires at least 72 credits of science courses. Students taking more than 6 credits of first-year MATH can reduce the number of elective credits required in first, second or third year accordingly. MATH 110 may substitute for any of the specified differential calculus courses listed by decreasing the electives by 3 credits. Students are permitted to move elective credits between years.
5 Elective credits together with required courses must fulfill the Faculty of Science’s:
a) Foundational Requirement;
b) Laboratory Science Requirement;
c) Science Breadth Requirement;
d) Science and Arts Requirements;
e) Upper-level Requirement;
f) General Degree Requirements.
6 Prerequisites for Cognitive Systems module courses are recommended as electives for each year of study. Modules are sets of recommended courses that are directly relevant to Cognitive Systems. For the list of module courses, see Cognitive Systems program website. Courses explicitly listed as required cannot also be credited as module courses.
7 Students who are thinking of taking BIOL courses as Cognitive Systems module courses will need BIOL 361, and hence should plan on taking BIOL 112, CHEM 121 (or 111 or 141), CHEM 123 and BIOL 200 in first and second year.
8 Students should take LING 100 as soon as possible, preferably before taking COGS 200.
9 The prerequisite PHIL 220 may be waived for PHIL 320 with the consent of the instructor.
10 Students must achieve a grade of greater than 72% in this course, or else must take another 3 credits of MATH or STAT in order to be admitted to CPSC 320. STAT 200 is recommended for students with an interest in further STAT courses. STAT 201 is recommended for students with an interest in the Minor in Data Science.
11 At least 3 credits must be 400-level CPSC module courses and 9 credits must be non-CPSC module courses.
12 BIOL 455 and 458 can also be counted towards this requirement so long as PSYC 360 or PSYC 304 has not been taken.

Minor in Data Science

In cooperation with the department of Statistics, the department of Computer Science offers a Minor in Data Science.

 


UBC Crest The official logo of the University of British Columbia. Urgent Message An exclamation mark in a speech bubble. Caret An arrowhead indicating direction. Arrow An arrow indicating direction. Arrow in Circle An arrow indicating direction. Arrow in Circle An arrow indicating direction. Chats Two speech clouds. Facebook The logo for the Facebook social media service. Information The letter 'i' in a circle. Instagram The logo for the Instagram social media service. Linkedin The logo for the LinkedIn social media service. Location Pin A map location pin. Mail An envelope. Menu Three horizontal lines indicating a menu. Minus A minus sign. Pencil A pencil indicating that this is editable. Telephone An antique telephone. Plus A plus symbol indicating more or the ability to add. Search A magnifying glass. Twitter The logo for the Twitter social media service. Youtube The logo for the YouTube video sharing service.