Our Programs

What undergrad programs do you offer?

The following programs are available to students at the undergraduate level: Major, Combined Major, Double Major, Honours, Combined Honours, Cognitive Systems, and Software Engineering ... all with or without co-op options. Choosing any one of these will allow you to become well-versed in core computer science concepts while giving you the freedom to tailor your education to match your interests. We also offer a Bachelor of Arts (BA) Major in Computer Science and a Bachelor of Commerce (BCOM) Combined Major in Business and Computer Science. For specific program and option requirements, please see our Degree Programs page.

What is a Combined Major?

The Combined Major program enables students to combine computer science with other disciplines such as biology, microbiology & immunology, physics, statistics or (with advisor approval) a science subject of the student's choosing.

How Does a Combined Major Differ from a Double Major?

In a Combined Major, students complete the core upper-level courses in both disciplines. In a Double Major, students complete all upper-level requirements from both disciplines. Each option offers a method for building a foundation in more than one subject area. A Combined Major typically takes the standard four years to complete, whereas a Double Major may take longer.

What is the Cognitive Systems Program?

The Cognitive Systems Program offers courses from the departments of Computer Science, Psychology, Linguistics, and Philosophy. Students may pursue one of four "streams" within the program. The computer science-oriented stream is called Computational Intelligence and Design. For more detailed information, see www.cogsys.ubc.ca.

Do you offer any programs for students who already hold a Bachelor's Degree?

The department offers two second-degree programs. The first is a Bachelor of Science in Computer Science (BSC). To earn a second bachelorís degree, you need to satisfy two broad conditions. You must, of course, meet all of the requirements for the degree you seek (that have not already been met in your previous study), and you must complete an additional 60 credits, of which 48 must be at the 300 level or above.

The second is the only Bachelor of Computer Science available in Western Canada. The Bachelor of Computer Science program is designed as a second-degree program for students who have completed a bachelorís degree in an area other than computer science. This intensive program is 20 months in length and includes an optional Co-op component. Typically this degree attracts students who wish to complement their first degree with computer science skills and knowledge, those who work in industry and wish to further their careers, or those who wish to change careers. For more information, visit the Bachelor of Computer Science web site at www.bcs-ics.cs.ubc.ca

Do you have a program specific to computer gaming?

The department focuses on building a strong foundation in computer science so that students can adapt to new environments as their careers progress. The concepts and skills we teach in our program provide students with everything they need to know to be effectively employed in the gaming industry. As examples, we teach courses in human-computer interaction, artificial intelligence, graphics and animation, all of which are useful for gaming industry employment.

Planning your Degree

Why would a student choose the Software Engineering Option rather than a straight major in Computer Science?

The software engineering option replaces some upper-level Computer Science elective courses with required courses related to software engineering and would be the preferred option for students who are considering a career in software engineering.Students who complete this option will have the Software Engineering option recorded on their degree along with the Major in Computer Science designation. 

Do I need programming experience to enroll in first-year Computer Science courses such as 110 or 121?

No. We have designed our curriculum so that first year students do not require previous computing experience to succeed.

When will you inform me regarding my acceptance or rejection?

The Department of Computer Science plays no direct role in undergraduate admissions. Please contact the Admissions office of the Registrar in Brock Hall.

Getting the Most out of your Degree

Can I enroll in the Co-op Program regardless of the Major Program in Computer Science I'm taking?

Yes! If you are enrolled in any of the department's programs you are eligible to participate in Co-op. Visit the Science Co-op website at www.sciencecoop.ubc.ca or speak to our Computer Science Co-op Coordinators Constance Wun at cwun@cs.ubc.ca or 604-822-9640 or Betty Cho at bcho@sciencecoop.ubc.ca or 604-822-0933.

How can I get involved outside the classroom?

The department has many ways for students to engage outside the classroom.

Volunteer opportunities:

  • Most committees have at least one undergraduate and graduate student representative.
  • You may become an executive member of the Computer Science Students Society (CSSS).
  • You can become a mentor or a mentee through the Tri-Mentoring Program.
  • Girlsmart workshops for Grade 6 girls and the TechTrek workshops for grade 8-12 high school students.

The department is always eager to meet students who are willing to share their knowledge with high school students, especially if you are a good public speaker and enjoy speaking in front of groups.

The Department is always in need of volunteers to help with outreach events. For more information on getting involved with the department, please contact Michele Ng at mng@cs.ubc.ca or 604-822-5693, or Giuliana Villegas at villegas@cs.ubc.ca or 604-822-2213.

Paid opportunities

  • You take a semester to go on a Co-op work term with a company.
  • You can help other students by being a paid Teaching Assistant - See Student Careers for job postings.
  • You can apply to do work as a paid Research Assistant - See Student Careers for job postings. 

About the Department

What is notable about UBC Computer Science research?

Our internationally-renowned professors lead a department that is distinguished by a focus on interdisciplinary research, making it a top department in Canada and in the world. For more information on the department's many research activities, see www.cs.ubc.ca/cs-research.

What is the difference between research faculty and instructors?

Research professors pursue their research interests in addition to teaching, while instructors teach, develop curriculum, and administer our undergraduate program.

Getting Help

I'm a current student having difficulties with my computer science studies. What are my options for getting help?

For specific questions about a course, you should speak directly with instructors or TAs. For students of 101,110, and 121, you can find regular help in the Demco Learning Centre, located in ICCS X150 near the Reboot Café. If you would like to speak with a Computer Science department advisor, please see our page on Academic Advising for more information.

I'm a current student and I have a suggestion for improving the experience of undergraduate students in the department. Who should I talk to?

If the issue is course related, students are encouraged to speak to the instructor of the course. If the issue is related to a TA in the learning centre or elsewhere you can also fill out this form to provide anonymous feedback to the TA Coordinator. If this doesn't resolve the problem, students may speak to the Associate Head of Undergraduate Affairs. For extremely serious considerations, students can make an appointment with our Department Head.

My TA did not show up for lab or office hours, where should I raise my concern?

If your TA does not show up for their scheduled time in the Learning Centre, you can fill out this feedback form to notify the TA Coordinator. If a TA did not come to lab, you should notify the course instructor directly.