Undergraduate Student Research Awards

Working in the LCI Lab

One of the most valuable research experiences for an undergraduate student is to be a research assistant. Each year, the department receives a number of research awards that help provide funding for an undergrad student to spend 16 weeks over the summer working full time in one of the department’s research labs, often with the opportunity to publish their work. (See this page for previous projects and supervisors.) This kind of research experience is highly sought after by graduate programs. 

See the following links for details!


UBC Careers Site

Award Categories

The positions are available to 2nd, 3rd, and 4th year students with strong academic records. More information, including eligibility requirements, can be found at the links provided on this page. Watch for in-class and email announcements from the department in January for details and deadlines.

Please see the pages linked below for important details, including eligibility:

NSERC USRA - NSERC Undergraduate Student Research Award

SURE - Science Undergraduate Research Experience Award

WLIUR - Work Learn International Undergraduate Research Award

Before applying, all applicants are required to: confirm both their eligibility to apply and to work, and ensure they have all necessary requirements prepared (ex. Social Insurance Number and permits).

International Students

If you are an international student, you can also apply to participate in research! There are two UBC programs open to international students: SURE and WLIUR (see above for details). 

International students must have a valid Social Insurance Number and be eligible to work on campus for the duration of the award (ex. in the summer). Students will be required to provide any necessary details and documentation upon accepting the award. This is necessary for processing and payment. Students who are offered awards but who do not meet this criteria will not be able to accept. For questions about eligibility, please speak with an International Student Advisor.

How to Apply

Applications are now closed for Summer 2018, please check back for announcements regarding future intakes. 

Previous Deadline: February 16, 2018 at 8:00 AM

New Application Requirement: all applicants will be required to apply with a confirmed supervisor. The list of projects and supervisors will be posted on this page in January, and you can use this to approach any of the supervisors listed. Please see the UBC Careers page for some additional tips.

Try to create your own research opportunity! You aren't limited to the projects and supervisors listed below. We encourage you to directly contact professors you would like to work with to find a match. Many professors will be happy to talk to you about the opportunity to hire students at a subsidized wage. You can find our faculty directory here.

Required Steps:

  1. Read the details above and the information at the links on this page
  2. Determine which awards you are eligible for
  3. Contact potential supervisors from the Projects and Supervisors list (see below) or by approaching Computer Science faculty members you would like to work with
  4. Once you have a confirmed supervisor, submit the online application webform by the stated deadline (the webform will become available before the deadline)
    • Before submitting, please ensure that you have read over the online guidelines, eligibility requirements, and webform instructions carefully
    • Make sure to read all of the instruction text in the webform, there may be important details noted below each field
  5. If you are selected for an award: you will then be required to update your webform with additional information/documentation (these fields will become available at that point). See: the 'Awardee' section of the webform
    • When you are applying: please read the webform carefully to ensure you are prepared to accept by providing these details
    • (Your supervisor will also be contacted for required information)

When the department is informed of how many awards are available, a departmental adjudication committee will rank the applications. All applicants will then receive a decision. We cannot provide a timeline for a decision on your application, please do not contact us for updates. Kindly be advised that course instructors, student advisors and departmental administrators and assistants cannot provide additional details, and will not respond to requests for such information.


  • Students can complete the online application (NSERC FORM 202) on the NSERC website by clicking "System Login" or, if you are a first-time user, "Register"
  • Instructions on how to complete the forms can be found on the NSERC USRA website 

For further details, please visit the UBC Student Services website or the NSERC USRA website.

Questions? Review the information and links provided, as these will likely give you the answers to your questions. If you would still like additional assistance, please see our Advising Webform instructions to see if you are eligible to submit a webform request. See: the webform instructions and the 'STUDENT AWARDS (NSERC USRA/SURE/WLIUR)' section.

Projects and Supervisors: Summer 2018

Ivan Beschastnikh

Cristina Conati

Kevin Leyton-Brown (New project! Added 02/06)

Alan Mackworth and David Poole

Karon MacLean and Paul Bucci

Ian Mitchell

Dongwook Yoon

Ivan Beschastnikh

How to get in touch: contact Ivan, at bestchai@cs.ubc.ca, if these descriptions apply to you

Project 1: faster and stronger data center systems

You are curious about where your gmail and facebook messages are stored. You have taken core systems courses. And, you don't mind spending the summer learning about how data centers work and how to make them more reliable and how to make them go faster. You like performance and you are (appropriately) angry at Intel and co. about Spectre and Meltdown.

Project 2: reliable and correct distributed systems

You have come to realize that most software uses the network and that means it is distributed, relying on parts unknown, and always communicating. You have a hunch that distribution means complexity and complexity means bugs. You don't like bugs. You want to understand the pain points and help improve the life of future developers by empowering them with tools and methodologies. You like the sound of software engineering for software engineers.

Project 3: distributed and private machine learning

Machine learning sounds cool. But, you like to keep your data about yourself to yourself. But, you also like advice from google maps on the nearest best coffee shops. You'd like to see if you can have it all. Can machine learning and privacy co-exist? You're willing to spend a summer figuring this out.

Cristina Conati

How to get in touch: please email Prof Conati and Dr. Lalle if interested, and we can set up a time to talk

Project: Predicting relevant user states via eye-tracking in intelligent user interfaces

Supervisor: Prof. Cristina Conati   - conati@cs.ubc.ca 

The overall goal of this project is to devise intelligent user interfaces that can track their users’ gaze and use it to infer user states ( (e.g., user attention level, confusion, engagement, cognitive abilities) relevant to automatically personalize the interaction.

EMDAT (Eye Movement Data Analysis Toolkit) is a python library being developed in our research laboratory for analyzing user eye gaze and pupil data in terms of a wide variety of features that can be leveraged for predicting user states. We are looking for a USRA who will help  further develop EMDAT by implementing and testing additional features and functionalities for processing user gaze and pupil information. The student may also be involved in applying EMDAT for the modeling of and the personalization to  users during specific interaction tasks. The student will work closely with PhD student Dereck Toker (dtoker@cs.ubc.ca) and Postdoctoral Fellow Sebastien Lalle (lalles@cs.ubc.ca).

Kevin Leyton-Brown

How to get in touch: contact Chris Cameron at cchris13@cs.ubc.ca if interested, and we can set up a time to talk 

Project: Advances in Empirical Algorithms

Supervisor: Kevin Leyton-Brown

Designing efficient algorithms for solving NP-complete problems is crucial for practical applications such as scheduling, planning, and spectrum auctions. Machine learning is becoming an important tool in algorithm design, automating design decisions that previously required extensive manual work by domain experts. The student will work on advancing automating algorithm design by contributing to one or both of two projects:

  1. Developing more “robust” models for algorithm selection: Algorithm selection is the problem of learning to select among a set of complementary heuristic algorithms based on historical runtime data. This project is inspired by recent observations that machine learning models for algorithm selection tend to capture “artificial” relationships in data. The models often perform very well on standard benchmarks but appear to exploit sampling bias and learn the benchmark generation process rather than the underlying structure determining algorithm performance. By investigating ideas from machine learning and game theory, the student will work on developing more “robust” and generalizable models. This may involve optimizing against adversarial changes to the data, altering the data generation process for benchmarks, and/or looking for causal relationships in the data.
  2. Building a new algorithm configuration system: Algorithm configuration is the problem of learning high performance algorithm parameters over a distribution of problem instances. This project will build on a recent theoretical model for algorithm configuration that has provable optimality guarantees and is potentially much more efficient in practice than state of the art techniques. The student will be involved in thinking about practical considerations for software implementation of this theoretical work and run large-scale experiments to empirically investigate these ideas on real data.

What experience is necessary?

The student should have basic understanding of machine learning concepts and should be competent in java and python. Knowledge of cluster computing, statistics, and game theory will be an asset.

Alan Mackworth and David Poole

How to get in touch: email Professor Alan Mackworth and Professor David Poole

Project: AIspace2 with Alan Mackworth and David Poole

AIspace (see http://aispace.org) has been developed by USRA students and grad students over a number of years. Last year's USRA student created a Python-javascript version (https://aispace2.github.io/AISpace2/install.html) based on open-source AI algorithms in Python (http://aipython.org) that we created. The aim is to integrate the code with interactive visualizations that are easy for students to extend and allow the students to modify the AI algorithms. There are two aspects of the project: the first is to make the current AIspace2 code more modifiable and user-friendly.  The second is to develop similar tools for the rest of the AIPython code. Skills required: proficiency in Javascript and Python, the ability to write clear and simple code.

Karon MacLean and Paul Bucci

How to get in touch: for all projects, feel free to contact us with questions or to set up a meeting time at spin-info@cs.ubc.ca. To facilitate the conversation, let us know a little bit about your educational background/skills and include a CV/portfolio if you have one

Project 1: Haptic Database

Many force-feedback devices are proposed in the haptic (i.e., related to touch) literature. We are interested in collecting a list of these devices, extracting their properties, and establishing the links between these devices (e.g., ancestry links). This project has many aspects and can be broken down into a narrower project depending a research student's interests. For example, we need to analyze a large corpus of 25 years of haptic literature, some of which are scanned documents, which could be good for someone interested in either Natural Language Processing or literature review.

Project 2: Haptic Pen

A "haptic pen" is a device that acts like a combination of a stylus and a force-feedback device. It's a pen that you can push around—but it pushes back. We need someone to extend an already-existing haptic I/O library/API to control this pen such that it can simulate interaction forces with a virtual environment. Some knowledge of mechatronics, machine learning, and virtual haptic environments useful but certainly not necessary. C++ and Python needed.

Project 3: Low-DOF robot construction

The CuddleBits are low-DOF furry robots designed for emotional interaction. Students will build robots and/or design emotionally-evocative behaviours. Especially needed are people who are skilled in the visual and performance arts, i.e., any of 3D design, graphic design, sculpture, clothing design, sewing, puppeteering, theatrical performance, voice acting, etc. Traditional mechatronics and programming skills not needed but are welcomed. 

Project 4: Interactive biometric emotion modelling

Using biometric sensing technologies such as electroencephalography (EEG), heart rate monitoring, skin conductance, etc., we can develop models of human emotion states. We are currently looking for students who are interested in learning how to (a) use an EEG system and related biometrics to gather data; (b) run human subjects in emotional situations (e.g., playing a video game, interacting with robots); (c) building machine learning models that relate emotion states to biometric data. Expertise in either machine learning or human subjects studies required (i.e., CPSC 340 or equivalent OR CPSC 344/444 or equivalent, but both not necessary).

Ian Mitchell

How to get in touch: please email Professor Ian Mitchell and read the form reply explaining the process

Project 1: Numerical Software Development for Differential Equations

Cyber-physical systems are those which involve interaction between computers and the external world, and include many safety critical systems such as aircraft, cars, and robots.  Analysis of these systems typically requires differential equation models for the physical component of the system, because its state evolves in continuous time and space.  Reachability algorithms can be used to verify -- or even synthesize controllers to ensure -- the correct behavior of dynamic systems, and a variety of such algorithms have been designed for differential equation models.  The goal of this project is to demonstrate on a new example, improve the user interface of, validate the implementation of, parallelize and/or add features to one of several software packages used for approximating sets of solutions in order to demonstrate the correctness of robotic or cyber-physical systems.  The Toolbox of Level Set Methods [http://www.cs.ubc.ca/~mitchell/ToolboxLS] is a locally developed example, but others include SpaceEx [http://spaceex.imag.fr/] or CORA [http://www6.in.tum.de/Main/SoftwareCORA].  Applicants should be familiar with numerical ODE solvers (for example, CPSC 303 or Math 405) and Matlab (or SciPy).  Familiarity with computational optimization (such as CPSC 406) and/or parallel programming (such as CPSC 418) would be useful for some but not all potential subprojects.

Project 2: Collaborative control scheme design, simulation and testing for a smart wheelchair

As part of the AGE-WELL Network Center of Excellence [http://www.agewell-nce.ca] I have a project investigating techniques which would allow elderly individuals with mild cognitive and/or sensory impairments to better use powered wheelchairs.  While it is relatively easy to implement a system in which either the user or the robotics chooses the motion of the wheelchair, it is much more challenging to blend these two inputs in real-time and in a manner which is both safe and non-threatening to a cognitively impaired user.  As part of this process, the team runs user studies with the target population and their therapists in long term care centers.  Potential goals for this summer's project include ongoing prototype development and evaluation of collaboration and training interfaces and control policies, development and evaluation of learning methods for predicting behavior of the chair and/or user, data collection and analysis from real-world or virtual trials, or setting up a virtual reality workstation for trials of collaboration control policies.  Applicants should be familiar with C++, Matlab and/or Python, and will be expected to learn and use ROS (robot operating system) to program the wheelchair(s).

Project 3: Design of wheelchair control system

As part of the smart wheelchair project we have developed a prototype embedded system to interface with the wheelchair and allow remote and computer moderated control.  This summer project is focused on redesigning this prototype to reduce complexity and replace commercial products that are no longer available.  The current system uses an Arduino, a small custom analog interface board, a laptop and the old Playstation Move's navigation controller.  The goal of this project is to identify a wireless one-handed controller to replace the Move, identify a microcontroller and/or embedded microprocessor which can replace the current Arduino and accomplish the basic tasks currently performed on the laptop, and possibly replace the custom analog board, as well as packaging the solution robustly enough to survive extended user trials.  Applicants should have experience with digital and/or analog electronics and embedded platforms (such as Arduino, BeagleBoard, RaspberryPi, ...), and will be expected to learn and use ROS (robot operating system) on the software side.

Dongwook Yoon

How to get in touch: please contact Dongwook to set a time to talk

Project 1: Mixed-Reality Interfaces for Asynchronous Collaboration in 3D Environments

This study aims to build a virtual/augmented reality (VR/AR) system for annotating a 3D environment with recordings of multimodal interactions (e.g., speech, bodily gesture, gaze), drawing on human-computer interaction approaches. Annotations are basic building blocks of asynchronous collaboration in a shared workspace (e.g., a game director giving feedback to a level designer on a 3D map by commenting on it). However, existing AR annotation interfaces rely primarily on static content (e.g., text, mid-air drawing), which is not as nuanced nor as expressive as in-person communication where people can talk, gaze, and gesture. To enrich and expand communicative capacities of AR annotations, I envisage an AR counterpart of email or Google Docs, where collaborators can record their multimodal performances (e.g., voice, view changes, and hand movements) in a 3D environment and share such rich media-based messages back and forth with other parties. The challenges are as follows: (1) developing an easy-to-use interface for creating and editing the recorded multimodal annotation, (2) designing lightweight interactions for browsing and skimming multimodal recordings, and (3) helping users overcome psychological barriers in recording multimodal inputs (e.g., speech anxiety).


  • Successful completion of the introductory computer graphics courses (e.g., CPSC 314)
  • (optional) Successful completion of the introductory HCI courses (e.g., CPSC 344 or 544)

Project 2: Natural User Interactions for Video Interfaces

This project aim to build and study novel interface techniques for interacting with videos. As we watch videos daily on MOOCs, YouTube, and SNS, video has become a central medium for education, entertainment, and social interactions.  However, the way we interact with videos has remained the same for decades. How can we go beyond a slider-bar and thumbnails? To support dynamic, semantic, and visual interactions for video browsing, searching, and skimming, we will (1) develop novel interaction metaphors, (2) leverage speech and video recognition techniques, and (3) employ natural interaction capacities of modern interactive devices (e.g., touch and gesture of tablets).


  • Strong technical skills including OOP, data structures, and algorithms
  • (optional) Successful completion of the introductory HCI courses (e.g., CPSC 344 or 544)

a place of mind, The University of British Columbia


ICICS/CS Building 201-2366 Main Mall
Vancouver, B.C. V6T 1Z4 Canada
Tel: 604-822-3061 | Fax: 604-822-5485
General: help@cs.ubc.ca
Undergrad program: undergrad-info@cs.ubc.ca
Graduate program: grad-info@cs.ubc.ca

Emergency Procedures | Accessibility | Contact UBC | © Copyright The University of British Columbia