Master of Science in Computer Science (MSc)
The UBC Department of Computer Science, established in May 1968, is one of the top computer science departments in North America. Recognized internationally for excellence in research and teaching with a conscious focus on interdisciplinary programs, the Department encourages diversity both within its community and areas of study, and plays a leadership role in research, teaching and outreach activities to champion the understanding and integration of Computer Science within all aspects of society.
For those students contemplating advanced studies in computer science at UBC, completing a master's degree before continuing to the PhD program confers several advantages. The two-year period of the master's first helps students decide whether a research career is the right career choice for them. If it is, taking this time helps give them the skills needed to pursue independent research. Second, the research experience gained can be very valuable as student work toward picking a PhD topic, as most professors in the department prefer that students shoulder this choice on their own. Third, a student who completes a master's degree and decides to work in industry prior to embarking on the full PhD has the opportunity to apply his or her skills and master's level education in the field and to take advantage of jobs that have attractive starting salaries.
What makes the program unique?
The UBC Department of Computer Science has many contacts in the computing industry. A strong rapport between the industry and research communities is beneficial to both, especially in cases where the department focuses its research to developing real-world applications.
Contact the program
Meet a Representative
UBC Grad School Info SessionDate: Thursday, 05 August 2021
Time: 17:00 to 18:00
In this session we’ll provide a high-level overview of graduate study, graduate school at UBC, and the application process. This is not a program specific event. The session will cover:
- Why graduate study? – advice on what to consider if you are considering graduate school.
- Differences between undergraduate and graduate study.
- Explanation of the different types of graduate programs at UBC.
- What makes UBC a great place to study at the graduate level.
- How to search UBC’s over 300 different graduate program options.
- Overview of the graduate school application process.
- Next steps on learning more and beginning a grad school application
Who is this webinar for?
This webinar is for anyone who is thinking about studying at the graduate level. It’s for those who’d like to learn more about UBC and gain insight into what it’s like to study at UBC. This webinar is also helpful for anyone who wants to learn more about what is involved in a graduate school application.
Admission Information & Requirements
1) Check Eligibility
Minimum Academic Requirements
The Faculty of Graduate and Postdoctoral Studies establishes the minimum admission requirements common to all applicants, usually a minimum overall average in the B+ range (76% at UBC). The graduate program that you are applying to may have additional requirements. Please review the specific requirements for applicants with credentials from institutions in:
Each program may set higher academic minimum requirements. Please review the program website carefully to understand the program requirements. Meeting the minimum requirements does not guarantee admission as it is a competitive process.
English Language Test
Applicants from a university outside Canada in which English is not the primary language of instruction must provide results of an English language proficiency examination as part of their application. Tests must have been taken within the last 24 months at the time of submission of your application.
Minimum requirements for the two most common English language proficiency tests to apply to this program are listed below:
TOEFL: Test of English as a Foreign Language - internet-based
Overall score requirement: 100
IELTS: International English Language Testing System
Overall score requirement: 7.0
Other Test Scores
Some programs require additional test scores such as the Graduate Record Examination (GRE) or the Graduate Management Test (GMAT). The requirements for this program are:
The GRE is not required.
2) Meet Deadlines
3) Prepare Application
All applicants have to submit transcripts from all past post-secondary study. Document submission requirements depend on whether your institution of study is within Canada or outside of Canada.
Letters of Reference
A minimum of three references are required for application to graduate programs at UBC. References should be requested from individuals who are prepared to provide a report on your academic ability and qualifications.
Statement of Interest
Many programs require a statement of interest, sometimes called a "statement of intent", "description of research interests" or something similar.
Students in research-based programs usually require a faculty member to function as their supervisor. Please follow the instructions provided by each program whether applicants should contact faculty members.
Instructions regarding supervisor contact for Master of Science in Computer Science (MSc)
Permanent Residents of Canada must provide a clear photocopy of both sides of the Permanent Resident card.
4) Apply Online
All applicants must complete an online application form and pay the application fee to be considered for admission to UBC.
Tuition & Financial Support
|Fees||Canadian Citizen / Permanent Resident / Refugee / Diplomat||International|
|Installments per year||3||3|
|Tuition per installment||$1,732.53||$3,043.77|
|Tuition per year|
(plus annual increase, usually 2%-5%)
|Int. Tuition Award (ITA) per year (if eligible)||$3,200.00 (-)|
|Other Fees and Costs|
|Student Fees (yearly)||$1,052.34 (approx.)|
|Costs of living (yearly)||starting at $17,126.20 (check cost calculator)|
All fees for the year are subject to adjustment and UBC reserves the right to change any fees without notice at any time, including tuition and student fees. Tuition fees are reviewed annually by the UBC Board of Governors. In recent years, tuition increases have been 2% for continuing domestic students and between 2% and 5% for continuing international students. New students may see higher increases in tuition. Admitted students who defer their admission are subject to the potentially higher tuition fees for incoming students effective at the later program start date. In case of a discrepancy between this webpage and the UBC Calendar, the UBC Calendar entry will be held to be correct.
Applicants to UBC have access to a variety of funding options, including merit-based (i.e. based on your academic performance) and need-based (i.e. based on your financial situation) opportunities.
Program Funding Packages
Full MSc students will be supported at $6333.33 per term for their first two terms. After that, students writing an MSc thesis will be paid $7,333.33 per term after the first two terms, which amounts to $20,000 taxable stipend in the first year and $22,000 taxable stipend in the second year. MSc students pursuing the Breadth essay option will continue at the initial rate, which amounts to $19,000 taxable stipend per year. The funding package consists of any combination of internal or external awards, teaching-related work, research assistantships, and graduate academic assistantships. This support is contingent on full-time registration as a UBC Graduate student, satisfactory performance in assigned teaching and research assistantship duties, and good standing with satisfactory progress in your academic performance. CS students are expected to apply for fellowships or scholarship to which they are eligible.
UBC has launched Canada's first Blockchain training pathway for graduate students. The Graduate Pathway on Blockchain and Decentralized Trust Technologies will be a 12-credit non-degree training program that augments existing Master's and Phd programs. Additional funding may be available for students as part of the Blockchain pathway.
Scholarships & awards (merit-based funding)
All applicants are encouraged to review the awards listing to identify potential opportunities to fund their graduate education. The database lists merit-based scholarships and awards and allows for filtering by various criteria, such as domestic vs. international or degree level.
Teaching Assistantships (GTA)
Graduate programs may have Teaching Assistantships available for registered full-time graduate students. Full teaching assistantships involve 12 hours work per week in preparation, lecturing, or laboratory instruction although many graduate programs offer partial TA appointments at less than 12 hours per week. Teaching assistantship rates are set by collective bargaining between the University and the Teaching Assistants' Union.
Research Assistantships (GRA)
Many professors are able to provide Research Assistantships (GRA) from their research grants to support full-time graduate students studying under their direction. The duties usually constitute part of the student's graduate degree requirements. A Graduate Research Assistantship is a form of financial support for a period of graduate study and is, therefore, not covered by a collective agreement. Unlike other forms of fellowship support for graduate students, the amount of a GRA is neither fixed nor subject to a university-wide formula. The stipend amounts vary widely, and are dependent on the field of study and the type of research grant from which the assistantship is being funded. Some research projects also require targeted research assistance and thus hire graduate students on an hourly basis.
Financial aid (need-based funding)
Canadian and US applicants may qualify for governmental loans to finance their studies. Please review eligibility and types of loans.
All students may be able to access private sector or bank loans.
Foreign government scholarships
Many foreign governments provide support to their citizens in pursuing education abroad. International applicants should check the various governmental resources in their home country, such as the Department of Education, for available scholarships.
Working while studying
The possibility to pursue work to supplement income may depend on the demands the program has on students. It should be carefully weighed if work leads to prolonged program durations or whether work placements can be meaningfully embedded into a program.
Tax credits and RRSP withdrawals
Canadian residents with RRSP accounts may be able to use the Lifelong Learning Plan (LLP) which allows students to withdraw amounts from their registered retirement savings plan (RRSPs) to finance full-time training or education for themselves or their partner.
Please review Filing taxes in Canada on the student services website for more information.
Applicants have access to the cost calculator to develop a financial plan that takes into account various income sources and expenses.
Enrolment, Duration & Other Stats
These statistics show data for the Master of Science in Computer Science (MSc). Data are separated for each degree program combination. You may view data for other degree options in the respective program profile.
Completion Rates & Times
This list shows faculty members with full supervisory privileges who are affiliated with this program. It is not a comprehensive list of all potential supervisors as faculty from other programs or faculty members without full supervisory privileges can request approvals to supervise graduate students in this program.
Beschastnikh, Ivan (Computer and information sciences; cloud computing; distributed systems; software analysis; software engineering)
Bowman, William (Computer and information sciences; programming languages)
Carenini, Giuseppe (Artificial intelligence, user modeling, decision theory, machine learning, social issues in computing, computational linguistics, information visualization)
Conati, Cristina (artificial intelligence, human-computer interaction, affective computing, personalized interfaces, intelligent user interfaces, intelligent interface agents, virtual agent, user-adapted interaction, computer-assisted education, educational computer games, computers in education, user-adaptive interaction, Artificial intelligence, adaptive interfaces, cognitive systems, user modelling)
Condon, Anne (Algorithms; Molecular Programming)
Evans, William (Computer and information sciences; Algorithms; theoretical computer science; Computer Sciences and Mathematical Tools; computational geometry; graph drawing; program compression)
Feeley, Michael (Distributed systems, operating systems, workstation and pc clusters)
Friedlander, Michael (numerical optimization, numerical linear algebra, scientific computing, Scientific computing)
Friedman, Joel (Computer and information sciences; Algebraic Graph Theory; Combinatorics; Computer Science Theory)
Fu, Hu (algorithmic game theory)
Garcia, Ronald (programming language semantics, design, and implementation, including language support for library-centric and modular software development, generic and generative programming, and domain specific languages and libraries. )
Greenstreet, Mark (Dynamic systems, formal methods, hybrid systems, differential equations)
Greif, Chen (Computer and information sciences; Numerical analysis; constrained optimization; iterative linear solvers; numerical linear algebra; numerical solution of partial differential equations; scientific computing)
Harvey, Nicholas (randomized algorithms, combinatorial optimization, graph sparsification, discrepancy theory and learning theory; algorithmic problems arising in computer networking, including cache analysis, load balancing, data replication, peer-to-peer networks, and network coding.)
Holmes, Reid (Computer and information sciences; computer science; open source software; software comprehension; software development tools; software engineering; software quality; software testing; static analysis)
Hu, Alan (Computer and information sciences; formal methods; formal verification; model checking; nonce to detect automated mining of profiles; post-silicon validation; security; software analysis)
Hutchinson, Norman (Computer and information sciences; Computer Systems; distributed systems; File Systems; Virtualization)
Kiczales, Gregor (MOOCs, Blended Learning, Flexible Learning, University Strategy for Flexible and Blended Learning, Computer Science Education, Programming Languages, Programming languages, aspect-oriented programming, foundations, reflections and meta programming, software design)
Lakshmanan, Laks (data management and data cleaning; data warehousing and OLAP; data and text mining; analytics on big graphs and news; social networks and media; recommender systems)
Leyton-Brown, Kevin (Computer and information sciences; Artificial Intelligence; Algorithms; theoretical computer science; Resource Allocation; Computer Science and Statistics; Auction theory; game theory; Machine Learning)
Little, James (Artificial intelligence, computational vision, geographic information systems, robotics)
MacLean, Karon (Computer and information sciences; Information Systems; design of user interfaces; haptic interfaces; human-computer interaction; human-robot interaction)
McGrenere, Joanna (Computer and information sciences; computer science; computer supported cooperative work (CSCW); human-computer interaction; interactive technologies for older users and people with cognitive disorders; personalized user interfaces; universal usability)
Mehta, Aastha (Networking, Security & Privacy, Systems security, Data privacy, Operating systems, Distributed systems)
Sample Thesis Submissions
Computer Science covers Bayesian statistics and applications, bioinformatics, computational intelligence (computational vision, automated reasoning, multi-agent systems, intelligent interfaces, and machine learning), computer communications, databases, distributed and parallel systems, empirical analysis of algorithms, computer graphics, human-computer interaction, hybrid systems, integrated systems design, networks, network security, networking and multimedia, numerical methods and geometry in computer graphics, operating systems, programming languages, robotics, scientific computation, software engineering, visualization, and theoretical aspects of computer science (computational complexity, computational geometry, analysis of complex graphs, and parallel processing).