USRA/MURA Student-Supervisor Matching Application

Contacting Professors

Before completing a matching application, please consider contacting professors directly. This is their preferred method to connect with students, as it allows for a dialogue, so that they can better get to know you and align your skills with potential research projects. Here are some tips for finding a research project on your own:

  • Look up professors on department webpages. Every department has a directory of researchers, either under "Department Members" or "Contact Us" tabs.
  • Look at their webpages, and find professors conducting research in areas that you are interested in.
  • When you find a professor that you would like to connect with, send them a professional email with the following information:
    • Your name, program, and academic level.
    • Ask them if they are looking for undergraduate research assistants at this time.
    • Identify which parts of their research that you are interested in, and explain why.
    • Provide a brief description of skills you have or courses that you've taken that align with this research, and would help you contribute to a research project.
    • Consider attaching your CV and a copy of your transcript.

Projects and Application Form

If you are an undergraduate student interested in participating in a research internship with a professor listed below, please fill out a matching application to be connected with a potential supervisor.

Once a supervisor has been secured, you may proceed to the next step in the application process, described by the corresponding department in Undergraduate Student Research Awards section.

Professor

Department / School

Project Title

Project Description

Must-have Skills and Courses

Mohamed Hibat-Allah Applied Math Language models for quantum many-body physics and combinatorial optimization Theme 1: Using language models to study quantum systems (e.g., quantum spin systems, cold atoms, molecules, etc.)

Theme 2: Building language model-based solvers of combinatorial optimization problems.
Proficiency in Python coding and experience with one of the three machine learning libraries (TensorFlow, PyTorch, or Jax).

Knowledge of quantum mechanics and/or statistical physics.
Yizhou Zhang Computer Science Programming languages: design, type systems, compilers, verification, probabilistic programming, security I design and implement programming languages. I aim for language abstractions with rich expressive power, fast implementations, and strong guarantees. Strong programming skills; strong mathematical reasoning skills
Matthew Brehmer Computer Science Interacting with visual representations of time-oriented data in augmented reality Matt Brehmer (he/him) is a human-computer interaction (HCI) researcher focusing on data visualization: he designs, implements, and evaluates new ways to communicate and collaborate around data. He directs the ubietous information experiences research group. This URA project will compare egocentric vs. exocentric / world-anchored positioning of time-oriented data in mobile augmented reality. Candidates should have experience working with frameworks such as Apple's ARKit or Google's AR Core, prototyping and 3D modelling with tools like Reality Composer, Sketchup, Blender, or Unity, and implementing gesture- and / or proxemic-based interactions. Candidates should have completed and done well in CS 349 (User Interfaces).
Victor Zhong Computer Science A queryable data lake for Open Government This project seeks to allow users to ask natural language questions to request information over a naturally messy collection of data. This data is owned by multiple parties (e.g. they do not share schema and sometimes not even common collection practices). This data comes in various format (e.g. tabular, unstructured text, HTML pages, images, time series). We are currently building a benchmark for this problem setting using real, naturally disjoint, naturally heterogenous data. We would like to build three such data lakes to establish a benchmark so that the research community can actively develop insights and practical artifacts for this problem setting. This MURA project is on building a data lake using Open Government data provided by the Canadian Government.

Required: Software engineering, web crawling

Optional but preferred courses: databases, algorithms, operating systems

Optional but preferred experience in: natural language processing, machine learning

Xiao Hu and Victor Zhong Computer Science Fast Matrix Multiplication in Machine Learning Matrix multiplication is a cornerstone of modern machine learning (ML), pivotal in transformer and large language models (LLMs). This project seeks to investigate novel methods to accelerate matrix multiplication, drawing from our recent state-of-the-art research. By optimizing this fundamental operation, we aim to enhance the efficiency and performance of ML systems. You will engage with cutting-edge ML models and real-world data workloads, gaining invaluable experience in both academic research and practical applications. You must have a strong software engineering background, including experience with C++ and Python. Experience in ML model training and inference, as well as CUDA programming, is preferred.
Roberto Guglielmi Applied Math Control systems / optimization / PDEs Topics might focus on more analytical or computational aspects of the problem. Projects can be found on Dr. Guglielmi's lab page. AMATH 250/251 and beyond
Florian Kerschbaum School of Computer Science

1. Computation over Encrypted Data

2. Machine Learning Security and Privacy

1. There exist cryptographic techniques such as homomorphic encryption and secure multi-party computation but they require careful application in order to be practically efficient. We work on several projects that apply these techniques, such that the computational overhead is reduced.

2. More and more applications use machine learning to derive insights from large data collections. However, this process is susceptible to several security and privacy threats, such as poisoning or evasion attacks. We work on several projects that help ensure that such threats are contained.

Not Specified
Jimmy Lin School of Computer Science

Natural Language Processing / Information Retrieval

Anserini project description

Java

Nancy Day School of Computer Science Model and analyze software-intensive systems to improve their quality and safety Areas of research: software engineering, model-driven engineering (MDE), modelling and analysis, formal methods, system safety, requirements specification and analysis. Interest in logic and software engineering; likely having taken SE212 or CS245
Freda Shi School of Computer Science

Natural Language Processing, Computational Linguistics, Machine Learning

Freda's projects

Current Waterloo students and prospective visiting students: please complete a practice task and submit the application following the instructions.

Please complete a practice task
Lilia Krivodonova Applied Mathematics Scientific computing, machine learning Scientific computing, machine learning An intro into PDEs and numerics

Additional projects may be available through the following departments:

Combinatorics and Optimization

Pure Mathematics

If you see a project that you're interested in, please complete a matching application.

Submission Deadlines for Fall 2025: 

  • Co-op: April 30
  • Regular Stream: July 14