Kemi teaching

Computer Science Majors

Major in Computer Science (BSc)

Students in the Faculty of Science must be in good standing (not on academic probation), and have taken CPSC 107 or CPSC 110 prior to applying to gain admission to a Computer Science specialization. This is a minimum requirement and does not guarantee admission. 

The Computer Science B.Sc. Major program includes the general First Year Science program, with further choices in mathematics, a thorough grounding in computer software design, and a broad choice of other studies in computing. It gives you freedom to pursue your interests in courses both within and outside Computer Science. You can select electives from various departments including, but not limited to, Psychology, Music, Economics, Visual Arts, Biology, Philosophy, etc. When the application period opens, you can find the application webform here.

1st Year Requirements

2nd, 3rd and 4th Year Requirements

Restricted Electives

Credit Exclusion List

If you are a Science student currently in a Major or Honours program, that means you already have a specialization, and you will need to apply to the CS Department for admission to a CPSC specialization by filling out our application webform

If you are in the Faculty of Science but not yet registered in any specialization you must apply for the CPSC Major using the centralized admission process administered by the Faculty of Science

If you're already in a Computer Science specialization, and wish to transfer to another Computer Science specialization (subject to meeting any requirements), you should apply before the May admission intakes. Make an appointment with a Computer Science advisor to discuss and facilitate the switch.

Computer Science Major (BA)

This program is ideal for students who have a strong interest in Computer Science and the Arts, and whose interests are more closely matched by the Faculty of Arts requirements rather than those offered through the Faculty of Science. For example, Arts students normally do not take biology, chemistry, and physics.

If you are in the Faculty of Arts, you must have met admission requirements before you can be admitted to the BA Major in Computer Science.  However, you can apply before your final grades are released.  E.g.  For spring admissions, you must apply by the deadline (before the final grades are released for Term 2 courses) if you expect to meet the requirements with your Term 2 courses. 

Students must meet the following requirement for admission:

70% average over grades obtained in CPSC 110 (or CPSC 107), CPSC 121 and CPSC 210

Please note that meeting the 70% average above does not guarantee admission: it is the minimum requirement to apply. If you meet this requirement, then your admissions average will usually be computed based on all credits attempted at UBC in the past 3 years.

Please note: the department does not process applications year round. When the application period opens, you can find the application webform here. Please note that course instructors, student advisors, and departmental administrators and assistants cannot provide additional details, and will not respond to requests for such information.

Computer Science BA Major

BA Degree Requirements

BA Program Requirements

Double Major in Computer Science

Unlike a Combined Major program, students enrolling in a Double Major are required to complete all the specialization requirements for both subject areas. In most cases, it will take longer than four years to complete a Double Major. BSc students wishing to undertake a Double Major in the Faculty of Science (e.g., BSc Major in Computer Science and another Science specialization), or in Arts (BA Major in Computer Science and another Arts specialization), may do so with the permission of an advisor in their home faculty -- and advisors in both departments. BA students wishing to undertake a Double Major where the second Major is the BSc in Computer Science (rather than the BA) should consult with an Arts advisor (see

Students not already in a Computer Science specialization:

Please refer to the instructions for the Major in Computer Science (BSc or BA), above, as you will be subject to the same competitive admissions process. If you are accepted, you will be required to complete the Double Major forms referenced below. Please do not request a signature for these forms prior to acceptance, as our office will not receive them.

Students already in a Computer Science specialization:

In order for a student currently in Computer Science to pursue a double major program, they need to obtain the appropriate form (see below) and submit an advising webform (link below) to book to see a Computer Science advisor.

Form:  Double Major - Science

Form:  Dual Degree and Double Major - Science and Arts

Advising Webform

Other programs may have additional admissions procedures (e.g. Biology and Microbiology & Immunology programs), and you may be required to go through additional steps after your appointment with the Computer Science advisor.


Software Engineering Option (Major or Honours)

A maximum of 30 students will be admitted to the Software Engineering options of the Computer Science Honours and Major specializations each year. The best 30 applicants (in terms of the overall and CPSC/MATH/STAT averages) will be admitted. Applicants must be enrolled in a Computer Science BSc specialization and must have completed all the required second year Computer Science courses (CPSC 210, 213, and 221) with overall and core averages of at least 72%. To apply, please fill out this application form.

Note: Being admitted to the Software Engineering option does not guarantee seats in the courses required by that option.

Students who already have a specialization other than CPSC and wish to apply to the department should apply using the same application process as that for the Computer Science Major program.


Cognitive Systems: Computational Intelligence and Design

The Cognitive Systems program is a multi-disciplinary undergraduate program involving four departments: Computer Science, Linguistics, Philosophy, and Psychology. It provides students with a thorough grounding in the principles and techniques used by intelligent systems (both natural and artificial) to interact with the world around them. Cognitive Systems has four different streams, one of which (Computational Intelligence and Design) is managed by the Computer Science Department. Please see the Cognitive Systems Website for more details.

Program RequirementsCurrent
B.Sc. Major in Cognitive Systems, Computational Intelligence and Design*
Restricted Electives*
Credit Exclusion List*

The application process is the same as that for the Computer Science Major program.  The Computational Intelligence and Design program is considered a Computer Science specialization.