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.

Fall 2015 positions

I am looking for two URAs to work on the WeBike project, a fleet of 31 electric bikes that have been extensively instrumented to produce about 300 MB of data every day ( http://blizzard.cs.uwaterloo.ca/iss4e/?page_id=3661 )  
1. Web architect
    This student will enhance an existing 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. Motorola 360 waatch integrator
    The WeBike platform has an embedded Samsung Galaxy that has been paired with a Motorola 360 watch. This student will continue work on this integration and make collected 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 contact Prof. S. Keshav (keshav@uwaterloo.ca)


Title: Enhancing a Main-Memory DBMS

We are looking for up to three students to fill URA positions to work on a main-memory database management system. The system is mainly coded in common lisp, but also has components written in C, Bison, Flex and csh. It is a "compiling" DBMS that has a simple extensible runtime and operates by translating SQL-like data manipulation requests directly to C code that interfaces with this runtime. The underlying data model is a generalization of the relational data model in which, among other things, arbitrary inheritance hierarchies may be declared.

During the course of the project, students will increase their familiarity with a range of topics, among which: semantic data modelling, query optimization, A* search, transaction compilation, legacy data integration, rule-based translation and source code synthesis.

Ideal applicants will have a solid background in algorithms and data structures, and a particular interest in program translation. Experience with programming in a functional style would also be an asset.

Interested students should contact Grant Weddell (gweddell@cs.uwaterloo.ca)


Title: Focus stacking algorithms in computational photography

Many interesting computational problems arise in digital photography.
Some of the problems involve the basic functionality of a camera such
as automatic focusing, automatic white balancing, and automatic exposure.
Other problems extend the capabilities of the camera such as high dynamic
range (HDR) imaging and focus stacking. This URA involves research in
automatic focus stacking algorithms. In focus stacking, multiple
images---each taken at a different focus depth---are combined into a
single image. The combined image has a greater depth of field (the
nearest and farthest objects in the scene that are in focus) than the
individual images.

Requirements: C++ programming experience, Interest in photography.
Desirable, but not essential: Knowledge of algorithms, image processing.

Interested students should contact Peter van Beek
by email (vanbeek@cs.uwaterloo.ca).


Title: Database for Specialized Optometric Records

Data collected by specialized optometric equipment is available as comma-separated files, which are currently manipulated through spreadsheet software to produce patient-specific clinical reports. It would be useful to be able to access these reports in conjunction with a patient’s electronic medical record, and therefore we wish to store the data in a database with a web-based front end. The student's immediate task is to build a suitable web interface and relational database backend for managing data collected from one or more optometric measurement devices. Eventually, we’d like to design and implement a federated database system that provides access to such supplementary clinical data repositories in a clinical setting.

The primary challenge is to design a database that can be adapted to various types of optometric data.  When an interface is required for data from a new device, new relations should be easily defined, the data loaded into the database, and convenient access provided (including some visualizations).

The computer science aspects of the work will be supervised by Prof. Frank Tompa (CS).  Prof. Kristine Dalton (Optometry) will provide sample data and help to specify the content and user-interface requirements of the project.

Familiarity or experience with using PHP and MySQL or an equivalent environment is a definite asset.

Interested students should contact Prof. Frank Tompa (fwtompa@uwaterloo.ca)


Title: Privacy Vulnerabilities on Android
 

In previous research, we have developed an app that analyzes the network traffic of all apps on a smartphone in order to detect leakage incidents, where an app sends sensitive user information across the network (see https://www.cs.uwaterloo.ca/~uhengart/publications/spsm15.pdf"
The goal of this URA is to develop a user interface for this app that provides useful real-time notifications of leakage incidents and aggregate information about past incidents. During the course of this project, the student will familiarize himself/herself with existing research on giving feedback to users and develop his/her own solution. The final solution will be deployed on Google Play.

Android development experience is required.

Interested students should email Urs Hengartner (urs.hengartner@uwaterloo.ca)


Title: Computational Finance using GPU/Multi-core Systems

One or more URAs are required for the project. Option pricing is one of the central activities in computational finance. In practice, it is important that one can obtain the solutions fast and accurate. The research project is to explore new computing technology in order to solve the equations from computational finance fast, and ideally in real time. The project will particularly focus on GPU/Multi-core implementation of the computational methods in finance.

Students working in this project are preferred to have background in: calculus and linear algebra, numerical computation, and programming experience in C/C++. They will be involved in: 1) GPU implementation (e.g. CUDA, OpenCL) of numerical methods for computational finance, and/or 2) user interface with Excel spreadsheet. Students are expected to write up the final results including the documentation of the code developed.

Interested students should email Prof. Justin Wan (justin.wan@uwaterloo.ca)


Title: Computational Finance on Android and iOS Devices

One or more URAs are required for the project. Option pricing is one of the central activities in computational finance. In practice, it is important that one can obtain the solutions fast and accurate. The research project is to explore new computing technology in order to solve the equations from computational finance. The project will particularly focus on implementation of the computational methods on Android and iOS devices. Smart phones have been popular portable devices which possess an excellent user interface as well as increasing computing power. This project is to investigate the possibility of solving finance equations using smart phones rather than the traditional PCs.

Students working in this project are preferred to have background in: calculus and linear algebra, numerical computation, and programming experience in C/C++. They will be involved in: 1) implementation of numerical methods for computational finance on Android or iOS devices, and 2) user interface. Students are expected to write up the final results including the documentation of the code developed.

Interested students should email Prof. Justin Wan (justin.wan@uwaterloo.ca)


How do I apply?

There are three forms that must be fully completed and returned to Simone Paull.

Please email (spaull@uwaterloo.ca) 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 http://www.servicecanada.gc.ca/eng/sin/apply/how.shtml

For more information, please contact:

Simone Paull
Office: MC 4036
Phone: (519) 888-4567 ext. 36826
Email: cs-ug-research@cs.uwaterloo.ca