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 bachelors 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 particularly relevant examples, we teach courses in human-computer interaction, artificial intelligence, graphics and animation, video game programming, and a by-application practicum in interactive digital media.
Can you explain mini-streams?
What are the requirements to enroll in a mini-stream?
Mini-streams are self-contained units. The only requirements are the pre-req and other requirements of the individual courses in the mini-stream.
Are there more mini-streams to choose from? Can I design my own?
More mini-streams are being considered. Because of their self-contained nature, designing your own mini-stream is certainly possible: just find a sequence of 3-4 CS courses that you are interested in taking! But you may want to get help from a CS department advisor to do so. They will also be able to advise you on pending course pre-requisite changes that can facilitate your stream.
I might be interested in a mini-stream but I’m not sure. Or I’m not sure which one. How can I decide?
One option is to talk to a CS department advisor. Or, because mini-streams tend to start with CPSC 110, you could start by taking that course, and using the exposure you get to computer science to decide what direction you want to go.
Do I get a certificate saying that I have completed a mini-stream?
No. Mini-streams are small self-contained sets of electives. Your transcript will of course say you took the courses, and you will have the knowledge that can help you going forward.
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.
Can you explain mini-streams?
What are the requirements to enroll in a mini-stream?
Mini-streams are self-contained units. The only requirements are the pre-req and other requirements of the individual courses in the mini-stream.
Are there more mini-streams to choose from? Can I design my own?
More mini-streams are being considered. Because of their self-contained nature, designing your own mini-stream is certainly possible: just find a sequence of 3-4 CS courses that you are interested in taking! But you may want to get help from a CS department advisor to do so. They will also be able to advise you on pending course pre-requisite changes that can facilitate your stream.
I might be interested in a mini-stream but I’m not sure. Or I’m not sure which one. How can I decide?
One option is to talk to a CS department advisor. Or, because mini-streams tend to start with CPSC 110, you could start by taking that course, and using the exposure you get to computer science to decide what direction you want to go.
Do I get a certificate saying that I have completed a mini-stream?
No. Mini-streams are small self-contained sets of electives. Your transcript will of course say you took the courses, and you will have the knowledge that can help you going forward.
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.caor 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.
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 faculty in the ‘research’ and ‘educational leadership’ streams?
Faculty in the ‘research' stream are expected to pursue their research interests in addition to teaching and service, while faculty in the ‘educational leadership’ stream are expected teach in addition to engaging in education-related activities (such as developing new programs and curricula) and service. Faculty in both streams may go beyond those expectations.
How does UBC Computer Science compare with other Canadian computer science departments?
We are recognized as one of the top computer science departments in Canada, typically compared with the Departments of Computer Science at the University of Toronto and the University of Waterloo. Our strengths arise from the reputation of our research, the quality of our teaching, and the collegial, student-inclusive atmosphere that we see as conducive to quality learning.
Where is the department located?
Our main building is the ICICS/CS Building, located at 2366 Main Mall and recognizable by the unique tetrahedron hanging above the entrance. The majority of student lectures take place at the Dempster Pavilion, located at 6245 Agronomy Road.
How do I find out about current news in the department?
Current news is available in our online news section. Major department and other science- and technology-related events can be accessed there via the "Events" menu-item. We also have a comprehensive department calendar and calendars to a user-group show up on various sub-pages.
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 a lab, tutorial, or the Learning Centre, please contact your course's coordinator or instructor as soon as possible to let them know the situation.