You are here

Undergraduate Research Assistantship (URA) program

The David Cheriton School of Computer Science offers opportunities to exceptional students through the Undergraduate Research Assistant (URA) program that allows students to earn $600 a term for part-time research with a faculty member. The money is paid once near the end of the term.

Faculty members post openings each term so interested, eligible students can apply. Students can also contact faculty members if they are interested in specific research areas to see if a URA opportunity might be available.

Any student who has completed their second year in the Faculty of Mathematics with an average of at least 80% is eligible. Preference is given to students enrolled in Computer Science major plans. A student can only do one URA per term. A student cannot be on a co-op term while doing a URA.

Winter 2015 positions

Github Awareness Dashboard

UCOSP ( brings together university students from across Canada to work together on Open Source projects. The majority of these projects are hosted on Github. Since the work all happens in the open, I am looking to build a dashboard to help students working on different projects maintain some awareness of the work going on across the country. The dashboard would be similar to the Dashing framework that will integrate with the Github and Twitter API to present a realtime view of UCOSP development activity. The final product should also be heavily instrumented to characterize the underlying data being visualized and how users interacted with the data in the dashboard. An example of a synthetic dashboard can be found here:

Requirements: Students should have extensive experience with Javascript, HTML, and CSS and working with REST-based APIs. Interested students should email with a paragraph describing their past experience in this area, a transcript, and any existing development projects that are posted online.

Title: WeBike project

Two URAs are required for the WeBike project, which is a fleet of 31 electric bikes that have been extensively instrumented to produce approximately 300 MB of data every day ( 

1. Web architect

In this role, a student will enhance a flask-based website with a MySQL backend that provides data analytics to project participants. The goal is to improve the site's performance and usability. Prior experience in Python and MySQL is necessary; a background in Flask is desirable.

2. FitBit integrator

The WeBike platform has an embedded Samsung Galaxy that can be paired with a FitBit. In this role, a student will work on integrating the WeBike platform and Samsung Galaxy to make FitBit data available to participants on their personalized website (see above). Prior experience in Android programming is necessary; a background in embedded systems is desirable.

Interested students should email S. Keshav (

Title: Most Complex Regular Languages

This URA involves research on regular languages and finite automata. The state complexity of a regular language is the number of states in the minimal deterministic finite automaton recognizing the language. Of particular interest is the state complexity of regular operations. For example, if K and L are regular languages of complexity m and n, respectively, then mn states are sufficient to recognize the union of K and L, and mn states are necessary in the worst case. Such information is useful, since it gives an indication about the amount of memory that should be available for the result of the operation.

It has been shown that certain regular languages are most complex with respect to all commonly used measures of complexity. This project will investigate most complex languages in subclasses of the class of regular languages. The work is theoretical, but may involve some computation. A short written report is required at the end of the project. Many of my URAs end up publishing papers on their projects.

Interested students should email resume and transcript to John Brzozowski

An average in CS and mathematics courses of at least 85% is required; I know from experience that a lower average does not result in a successful project.  This work should not interfere with your course work.

Title: Designing for Curiosity

Citizen science ( is the idea of engaging a crowd of people to help process research data towards scientific discovery.  In this project, we are interested in studying the role of curiosity in motivating participation and designing interfaces to both invoke and sustain curiosity.

I am looking for a student to join the project. The student will help with various research tasks, e.g., reviewing prior literature on curiosity, designing and implementing curiosity-inducing interfaces, running user studies and experiments, etc.   

Requirements: The ideal candidate should be design-oriented, i.e., have a strong background in UI/UX and front-end development (JQuery, Javascript, CSS, HTML).  Over the course of the project, you will learn about the process of HCI research, as well as special topics in psychology and human computation (a.k.a. crowdsourcing).

Interested students should email Edith Law (

Title: Crowdsourcing EEG Classification

EEG interpretation is an example of a larger class of problems that are trivial for human experts but hard for automated algorithms.  In this project, our goal is to design a hybrid system that involves the joint efforts of algorithms and experts and non-experts to process EEG data.

I am looking for two students to join the project. The student(s) will work as a team to extend the functionality of an existing EEG annotation interface and implement and evaluate machine learning algorithms for coordinating contributions from algorithms, experts and non-experts.

Requirements: The ideal candidate should either (1) be design-oriented, i.e., have a strong background in UI/UX and front-end development (JQuery, Javascript, CSS, HTML), or (2) have taken an introductory course in AI, machine learning, and signal processing, and be familiar with Python and Matlab.  

Interested students should email Edith Law (

How do I apply?

There are three forms that must be completed and returned to Simone Paul. Please email ( before you come to MC 4036 to ensure she is available.

A faculty member must sign and fill out the account number on both the URA form and the Casual or Additional Pay Request form.

Casual or Additional Pay Request form

  • For Dates Worked, enter the start and end dates (the first school day and last non-exam day).

Note: International students must have a Social Insurance Number (SIN) to be paid. To get a SIN:

  • A faculty member must fill out and sign the linked in memo.
  • The student must take a valid passport, study permit, and the completed memo and application form to a Service Canada Centre. For the application form and instructions, see

For more information, please contact:

Simone Paull
Office: MC 4036
Phone: (519) 888-4567 ext. 36826