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_V 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_V 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_V courses except for CPSC_V 436I, 448, 449, 455 and 491.

Electives

COMM_V 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_V 110 (or 103 and 107)24
CPSC_V 12134
MATH_V 100 or 102 or 104 (or 180 or 184 or 120 or 110)43
MATH_V 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_V 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC_V 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_V 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_V 221 and CPSC_V 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_V 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_V 21014
CPSC_V 213, 2218
MATH_V 200, 2216
STAT_V 241 or 25123
Electives39
Total Credits30
Third and Fourth Years 
CPSC_V 310, 313, 32010
CPSC_V courses numbered 300 or higher49
CPSC_V 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_V 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_V 221 and CPSC_V 213 in term 1 of second year before going out on a Co-op work term.
2 May be replaced by STAT_V 200 or STAT_V 201 provided MATH_V/STAT_V 302 is taken as an elective in third or fourth year. STAT_V 200 is recommended for students with an interest in further STAT_V courses. STAT_V 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_V 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_V 2101, 213, 22112
MATH_V 200 or 2263
MATH_V 221 or 2233
STAT_V 200 or 20123
Electives315
Total Credits36
Third and Fourth Years 
CPSC_V 310, 313, 32010
MATH_V 302 or STAT_V 3023
CPSC_V 34940
CPSC_V 44956
CPSC_V courses numbered 300 or higher612
CPSC_V 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_V 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_V 221 and CPSC_V 213 in term 1 of second year before going out on a Co-op work term.
2 STAT_V 200 is recommended for students with an interest in further STAT_V courses. STAT_V 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_V courses numbered 400 or higher.
6 Credits gained from undergraduate Student-Directed Seminars (CPSC_V 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_V 110 (or 103 and 107)24
CPSC_V 12134
MATH_V 100 or 102 or 104 (or 180 or 184 or 120 or 110)43
MATH_V 101 or 103 or 105 (or 121)43
Other subject area credits or Electives4,510
Total Credits30
Second Year 
CPSC_V 21034
CPSC_V 213, 2218
At least 6 credits from MATH_V 200, 221, STAT_V 200, 201, 241, 251, BIOL_V 30066
Other subject area credits or Electives4,512
Total Credits30
Third and Fourth Years 
CPSC_V 310, 313, 32010
Other CPSC_V courses numbered 300 or above76
Further CPSC_V 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_V 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC_V 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_V 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_V 221 and CPSC_V 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_V 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_V 200 and BIOL_V 300. 3 of these 6 credits may be deferred to third year. STAT_V 200 is recommended for students with an interest in further STAT_V courses. STAT_V 201 is recommended for students with an interest in the Minor in Data Science.
7 Credits gained from undergraduate Student-Directed Seminars (CPSC_V 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_V 121 (or 111 or 141)24
CHEM_V 12334
CPSC_V 110 (or 103 and 107)44
CPSC_V 12154
MATH_V 100 or 102 or 10463
MATH_V 101 or 103 or 10573
Electives86
Total credits31
Second Year 
CHEM_V 20394
CHEM_V 2083
CHEM_V 213, 2454
CPSC_V 2104
CPSC_V 213, 2218
MATH_V 2003
Electives83
Total credits29
Third Year 
CHEM_V 211104
CHEM_V 3003
CHEM_V 3123
MATH_V 2213
Total credits13
CHEM_V 3151
Third and Fourth Years 
Two of CHEM_V 218, 304, 311, 313, 318, 327, 330, 4126
CPSC_V 310, 313, 32010
CHEM_V Selections116
CPSC_V Selections12,139
CPSC_V and CHEM_V 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_V 300). The remaining 3 credits must be chosen from the list of acceptable courses, see Communication Requirement. ENGL_V 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_V 100. CHEM_V 110 and 115 may substitute for CHEM_V 111. CHEM_V 120 and CHEM_V 115 may substitute for CHEM_V 121. 
3 CHEM_V 130 and CHEM_V 135 may substitute for CHEM_V 123. 
4 While CPSC_V 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC_V 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_V 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_V 221 and CPSC_V 213 in term 1 of second year before going out on a Co-op work term. 
6 MATH_V 180 or 184 or 120 or 110 may substitute for any of the specified differential calculus courses listed. 
7 MATH_V 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_V 223 and 225 may substitute for CHEM_V 203. Students with CHEM_V 235 and a score of 76% or higher in CHEM_V 233 may apply for admission to this specialization and will be allowed to use CHEM_V 233 and 235 in place of CHEM_V 203. 
10 CHEM_V 210 and 215 may substitute for CHEM_V 211. 
11 Chosen from 300- and 400-level CHEM_V lecture courses. At least 3 credits must be chosen from 400-level CHEM_V lecture courses. Recommended selections include CHEM_V 404, 412. 
12 Credits gained from undergraduate Student-Directed Seminars (CPSC_V 490) can not be used to fulfill this requirement. 
13 Chosen from 300- and 400-level CPSC_V courses. At least 3 credits must be chosen from 400-level CPSC_V lecture-based courses. Recommended selections include CPSC_V 302 or 303. 
14 Chosen from 300- and 400-level CPSC_V and CHEM_V lecture courses. With permission, qualified students may apply 3 credits towards CHEM_V 445 or CHEM_V 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_V 110 (or 103 and 107)24
CPSC_V 12134
MATH_V 100 (or 102 or 104 or 110 or 180 or 184 or 120)43
MATH_V 101 (or 103 or 105 or 121)43
PHYS_V 117 (or 106 or 107)53
PHYS_V 118 (or 108)53
PHYS_V 1191
Electives4,63
Total Credits30
Second Year 
CPSC_V 2103, 213, 22112
MATH_V 2007, 215, 2219
PHYS_V 200, 216, 219, 22910
Total Credits31
Third and Fourth Years 
CPSC_V 310, 313, 32010
CPSC_V 303 (or 302)3
Other CPSC_V courses numbered 300 or above8,93
Further CPSC_V courses numbered 400 or above8,9,103
MATH_V 31773
PHYS_V 203114
PHYS_V 301, 304, 3129
PHYS_V 319 (or 309)3
PHYS_V 348 or 409 or 420123
Additional CPSC_V or PHYS_V 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_V 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC_V 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_V 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_V 221 and CPSC_V 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_V 100 prior to other PHYS_V courses. Qualified students are encouraged to take PHYS_V (106 or 107)/108/119. Students that took PHYS_V 101 or 131 may enter the specialization but will need to take PHYS_V 106, 107, 117, or 170 before the required PHYS_V 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_V 200 and 317 with MATH_V 217 and 2 credits of electives, in consultation with an advisor. 
8 Students interested in computer modelling and simulation should take both CPSC_V 302, 303, and at least one of CPSC_V 402, 406, PHYS_V 410. 
9 Credits gained from undergraduate Student-Directed Seminars (CPSC_V 490, PHYS_V 490) cannot be used to fulfill this requirement. 
10 These 3 credits must come from lecture based course(s). 
11 The combination CHEM_V 201 and CHEM_V 304 may replace PHYS_V 203. 
12 Students who have taken CPSC_V 319 may replace this requirement with any upper-level PHYS_V course. 

Combined Major (1375): Computer Science and Statistics

First Year 
Communication Requirement16
CPSC_V 110 (or 103 and 107)24
CPSC_V 12134
DSCI_V 1003
MATH_V 100 or 102 or 104 (or 180 or 184 or 120 or 110)43
MATH_V 101 or 103 or 105 (or 121)43
Electives59
Total Credits32
Second Year 
CPSC_V 21034
CPSC_V 213, 2218
MATH_V 200, 2216
STAT_V 200, 2016
STAT_V/MATH_V 3023
Electives53
Total Credits30
Third and Fourth Years 
CPSC_V 310, 313, 32010
CPSC_V courses numbered 300 or above6,76
CPSC_V courses numbered 400 or above6,7,86
MATH_V 303, 3076
STAT_V 305, 3066
STAT_V courses numbered 300 or above66
STAT_V 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_V 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC_V 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_V 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_V 221 and CPSC_V 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_V and STAT_V 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_V 490) can not be used to fulfill this requirement. 
8 At least 3 credits must be chosen from 400-level CPSC_V 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_V 110 (or 103 and 107)24
CPSC_V 12134
MATH_V 120 (or 100 or 102 or 104 or 180 or 184)44
MATH_V 121 (or 101 or 103 or 105)4
PHYS_V 106 (or 107 or 117 or 101 or 131)53
Electives68
Total Credits33
Second Year 
CPSC_V 21034
CPSC_V 213, 2218
MATH_V 226 (or 200)73
MATH_V 215, 223 (or 221), 227 (or 317)9
Electives69
Total Credits33
Third Year 
CPSC_V 302 or 30383
CPSC_V 310, 313, 32010
MATH_V 320, 3216
9 credits from MATH_V 300, 301, 316, 322, 323, 3319
Electives65
Total Credits33
Fourth Year 
CPSC_V 420 or 4213
CPSC_V courses numbered 300 and above99
12 credits from MATH_V 400-406, 412, 418-428, 433-440, 443, 449, 450, CPSC_V 402, 40612
Electives69
Total Credits33
Total Credits for Degree132
1 For a full list of acceptable courses see Communication Requirement.
2 While CPSC_V 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC_V 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_V 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_V 221 and CPSC_V 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_V 110 may substitute for any of the specified courses by decreasing the electives by 3 credits.
5 Students without Physics 12 must complete PHYS_V 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_V 200 or who obtain less than 68% in MATH_V 226 must take MATH_V 220 and obtain 80% or higher in order to take the required course MATH_V 320.
8 May be deferred to the following year.
9 Credits gained from undergraduate Student-Directed Seminars (CPSC_V 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_V 121 (or 111 or 141)24
CPSC_V 110 (or 103 and 107)34
CPSC_V 12144
MATH_V 120 (or 100 or 102 or 104 or 110 or 180 or 184)54
MATH_V 121 (or 101 or 103 or 105)54
PHYS_V 106 (or 107 or 117)63
PHYS_V 108 (or 118)63
PHYS_V 11961
Electives73
Total Credits33
Second Year 
Communication Requirement13
CPSC_V 2104, 213, 22112
MATH_V 215, 21787
MATH_V 223 (or 221)93
PHYS_V 200, 219, 2297
Electives73
Total Credits35
Third Year 
CPSC_V 302 or CPSC_V 3033
CPSC_V 310, 3207
MATH_V 3163
PHYS_V 203, 301, 21610
PHYS_V 319 (or 309)3
Electives76
Total Credits32
Fourth Year 
PHYS_V 3043
Additional PHYS_V courses numbered 400 or above10,116
Additional CPSC_V courses numbered 300 or above11,126
Additional CPSC_V courses numbered 400 or above11,123
PHYS_V 449 or CPSC_V 449136
3 credits from CPSC_V 402, 406, MATH_V 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_V 100. CHEM_V 110 may substitute for CHEM_V 111. CHEM_V 120 may substitute for CHEM_V 121.
3 While CPSC_V 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC_V 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_V 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_V 221 and CPSC_V 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_V 001.
6 Students who do not have B.C. High School Physics 12 (or its equivalent) must take PHYS_V 100 prior to other PHYS_V courses. Students who took PHYS_V 101 or 131 may enter the specialization but will need to take PHYS_V 106, 107, 117, or 170 before the required PHYS_V 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_V 200 and MATH_V 317 (using 2 elective credits).
9 Students with credit for MATH_V 152 prior to entering this specialization can substitute it for MATH_V 223. MATH_V 223 or MATH_V 221 can be taken in first year. Eligible students are highly recommended to take MATH_V 223.
10 Fourth-year PHYS_V electives are ASTR_V 403, 404, 406; MATH_V 345, 401, 402, 405, 418, 420, 450; PHYS_V 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_V 490, PHYS_V 490) cannot be used to fulfill this requirement. 
12 Every student must complete at least 3 credits from lecture based 400 level CPSC_V course(s). 
13 Students who elect to take CPSC_V 449 must take CPSC_V 349 in their third year.

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

First Year 
Communication Requirement16
CPSC_V 110 (or 103 and 107)24
CPSC_V 12134
DSCI_V 1003
MATH_V 120 (or 100 or 102 or 104 or 180 or 184 or 110)4
MATH_V 121 (or 101 or 103 or 105)4
Electives47
Total Credits32
Second Year 
CPSC_V 21034
CPSC_V 213, 2218
MATH_V 22053
MATH_V 223 or 2213
MATH_V 2265 or 2003
STAT_V 200, 2016
STAT_V/MATH_V 3023
Electives43
Total Credits33
Third Year 
CPSC_V 302, 303, 304, 310, 32016
MATH_V 3036, 307, 3209
STAT_V 3063
STAT_V courses numbered 300 or above3
Electives43
Total Credits34
Fourth Year 
CPSC_V courses numbered 300 and above76
CPSC_V courses numbered 400 and above7,8,96
STAT_V 460, 4616
STAT_V courses numbered 400 and above3
6 credits from CPSC_V 340, 420, MATH_V 418, 419, 420, 421 or further STAT_V 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_V 110 is the recommended route for students pursuing a specialization in Computer Science, CPSC_V 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_V 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_V 221 and CPSC_V 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_V or PHYS_V 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_V 226 may replace MATH_V 220 with 3 elective credits.
6 May be replaced by MATH_V 419 in fourth year.
7 Credits gained from undergraduate Student-Directed Seminars (CPSC_V 490) can not be used to fulfill this requirement. 
8 At least 3 credits must be chosen from 400-level CPSC_V lecture-based courses. 
9 Courses from CPSC_V 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_V 2104
CPSC_V 213, 2218
MATH_V 200, 2216
STAT_V 241 or 25113
Electives29
Total Credits30
Third and Fourth Years 
CPSC_V 310, 311, 313, 319, 32017
CPSC_V 410, 411, 4219
One of CPSC_V 304, 317, 3443
One of CPSC_V 415, 416, 417, 444, CPEN_V 421, 432, EECE_V 443, 4943,43
One more of CPSC_V 304, 317, 344, 415, 416, 417, 444, CPEN_V 421, 432, EECE_V 443, 4943,43
Electives225
Total Credits60
Total Credits for Degree120
1 May be replaced by STAT_V 200 or STAT_V 201 provided MATH_V/STAT_V 302 is taken as an elective in third or fourth year. STAT_V 200 is recommended for students with an interest in further STAT_V courses. STAT_V 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_V or EECE_V 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_V 310, 311, 313, 319, 32017
CPSC_V 410, 411, 4219
One of CPSC_V 304, 317, 3443
One of CPSC_V 415, 416, 417, 444, CPEN_V 421, 432, EECE_V 443, 49413
One more of CPSC_V 304, 317, 344, 415, 416, 417, 444, CPEN_V 421, 432, EECE_V 443, 49413
CPSC_V 34920
CPSC_V 44936
MATH_V 302 or STAT_V 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_V 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_V 110 (or 103 and 107)24
CPSC_V 12134
MATH_V 100 or 102 or 104 (or 120 or 180 or 184)43
MATH_V 101 or 103 or 105 (or 121)43
Electives4,5,6,710
Total Credits30
Second Year 
COGS_V 2003
CPSC_V 21034
CPSC_V 2214
LING_V 10083
PHIL_V 220 or PHIL_V 222 or PHIL_V 32093
STAT_V 200 or 201 or 241 or 251103
Electives4,5,6,710
Total Credits30
Third and Fourth Years 
COGS_V 300, 303, 401, 40213
CPSC_V 312, 320, 3229
PHIL_V 326, 351, 441, 451 or 4553
PSYC_V 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_V 110 is the recommended route for students pursuing a program in Computer Science, CPSC_V 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_V 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_V 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_V can reduce the number of elective credits required in first, second or third year accordingly. MATH_V 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_V courses as Cognitive Systems module courses will need BIOL_V 361, and hence should plan on taking BIOL_V 112, CHEM_V 121 (or 111 or 141), CHEM_V 123 and BIOL_V 200 in first and second year.
8 Students should take LING_V 100 as soon as possible, preferably before taking COGS_V 200.
9 The prerequisite PHIL_V 220 may be waived for PHIL_V 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_V or STAT_V in order to be admitted to CPSC_V 320. STAT_V 200 is recommended for students with an interest in further STAT_V courses. STAT_V 201 is recommended for students with an interest in the Minor in Data Science.
11 At least 3 credits must be 400-level CPSC_V module courses and 9 credits must be non-CPSC_V module courses.
12 BIOL_V 455 and 458 can also be counted towards this requirement so long as PSYC_V 360 or PSYC_V 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.