NSERC USRA/MURA Projects

Faculty member's name

Department / School

Project title

Project description

Must have skills/courses by a candidate to conduct the project

Mina Tahmasbi Arashloo School of Computer Science Programmable transport on high-speed network hardware

As network speeds increase to 100s of Gbps, software network stacks are struggling to keep up without using up too many CPU resources. As such, there is a trend towards offloading (part of) the network stack to programmable Network Interface Cards (NICs). Tonic (Transport on NIC) is a hardware architecture for offloading transport-layer algorithms to the NIC. In this project, we will revisit the implementation of the sender-side of the transport layer, and design a programmable architecture for the receiving side.

System-oriented courses such as operating systems, computer networks, or distributed systems. Comfortable with large codebases in programming languages like C/C++.
Mina Tahmasbi Arashloo School of Computer Science Exploring the affect of network performance on distributed applications 

Most online services today are backed by distributed applications. These applications run on several machines and rely on computer networks to communicate and collectively compute responses to requests. As such, their performance depends on the performance of the underlying network. But, how much? In this project, we will explore the nature and extent of such dependency, both qualitatively and quantitatively, by analyzing and experimenting with commonly-used distributed applications.

System-oriented courses such as operating systems, computer networks, or distributed systems. Comfortable with large codebases in programming languages like C/C++. 

Chengnian Sun School of Computer Science

Improving Toolchain of CS241 and Visualization of Compiler Algorithms

There are two goals of this project. The first is to improve the usability of toolchain such as mips.twoints, mips stepper). The second is to build a website for visualizing compiler algorithms, such as different parsing algorithms.

CS241(required), CS444(optional), willing to learn web frontend technologies (HTML, CSS, etc)
Jimmy Lin School of Computer Science

Natural Language Processing / Information Retrieval

https://github.com/castorini/anserini

Java

Tim Brecht Computer Science

Advanced Hockey Analytics

The goal of this research is to devise, compute and evaluate interesting and valuable new metrics that can be used by fans, hockey broadcasts, reporters and sports pool and betting sites to increase fan engagement. by players, coaches, agents and executives to provide new and deeper insights into player and team performance. 

A key component of this research will be to develop analytics and techniques for computing metrics in real time.  Thus enabling augmented reality experiences that that could overlay statistics on video feeds and/or depict real-time animated visualizations showing and providing for live, in-game analysis.

Statistics, Python (Pandas), a bit of JSON familiarity is helpful, network programming.
Kevin Hare Pure Math Pure Product Polynomials
https://uwaterloo.ca/scholar/kghare/prospective-students
Some programming backgrounds, and some background in number theory.
Roberto Guglielmi

 Applied Math

Mathematical modeling for pest management The project will address analytical and numerical aspects of a mathematical model of pest in agriculture. The goal is to investigate optimal pest management strategies by means of a biological intervention. The model describes the interaction between the environment, the species at risk (usually trees or plants), and the pest (either a species of insects or a virus transmitted by a species of insects that plays the role of the transmission vector). Required background in mathematics, physics or engineering, with a focus on differential equations and mathematical modelling. The student is expected to be familiar with either theoretical or numerical aspects of ordinary differential equations. Suitable programming skills in either Matlab or Python language are beneficial. Previous exposure to problems in control theory, mathematical modelling, and application to environmental science would be a plus.
Roberto Guglielmi Applied Math Mathematical modelling of power energy systems The goal of the project is to investigate and optimize a mathematical model of power grids, taking into account different generation and storage settings. This framework would output an optimal solution tailored to various geographical regions with varying climate, infrastructure and load profiles. By combining modeling, analysis and control of differential equations over networks, the framework shall also allow constraints to be applied to the theoretical power system Required background in mathematics or physics (with a focus on differential equations and mathematical modelling), or electrical or systems engineering. The student is expected to be familiar with either Matlab or Python, and to be familiar with dynamical systems on networks or with electrical power systems.
Roberto Guglielmi Applied Math Reformulate the IESO's algorithm.

The objective of this project is to reformulate the IESO’s algorithm to balance supply and demand based on societal gain. Societal gain as defined by this project is the cumulative difference between the carbon intensity (kg CO2e/MWh) consumers are willing to accept for the electricity consumed and that at which generators can produce that electricity. The solution to the reformulated optimization problem will present a different mix of generators and allow the calculation of an implied carbon tax required to achieve the least carbon intensive solution. Another objective of the project is to perform a sensitivity analysis by constraining the solution to varying maximum electricity prices.

The role for the URA student in this project is to take a leading role in the development of the code for the reformulated algorithm. The URA student will work directly with the involved graduate student and supervisor, and will be expected to perform independent research on the IESO market rules. The URA student’s efforts will contribute to the involved graduate student’s thesis.

The student would ideally have a background in CS, or in other programs with a focus on computational skills. The student is expected to master either Matlab or Python, and their optimization packages. The student is expected to be able to work independently and as part of a team. They must be highly motivated, goal-oriented, comfortable with high degree of freedom in their daily work and have excellent written and oral communication skills. The student is expected to have an interest in power grids and utility distribution, or to be willing to learn about them.
Matthew Scott Applied Math Mathematical models of bacterial metabolism Mathematical models of bacterial metabolism, with experimental validation in the lab. 100-level CHEM or BIOL, 100-level MATH

Marek Stastna & David Del Ray Fernandez

Applied Math Data analytics for combined qualitative and quantitative data. This is a collaborative project with Dr. Warren Dodd, School of Public Health Sciences.  The successful applicant will carry out data analysis and data scientific tool development for an anonymized data set gathered by Dr. Dodd’s group.  Their broader project examines daily income and consumption (e.g., food, health) data among households experiencing extreme poverty in Iloilo, Philippines from data generated through daily financial diaries. Key needs include addressing missing data, data visualization, and communicating analyses to interdisciplinary audiences.

Some experience with scientific computing/data science. An interest in data visualization. Strong communication skills, especially to non-mathematical disciplines.

Peter Buhr School of Computer Science C∀ (Cforall) Programming Language and Runtime System. The C∀ project is an open-source project extending ISO C with modern safety and productivity features, while still ensuring backwards compatibility with C and its programmers. C∀ is designed to have an orthogonal feature-set based closely on the C programming paradigm (non-object-oriented) and these features can be added incrementally to an existing C code-base allowing programmers to learn C∀ on an as-needed basis. In many ways, C∀ is to C as Scala is to Java, providing a research vehicle for new typing and control-flow capabilities on top of a highly popular programming language allowing immediate dissemination. There are many small development and evaluation activities within the C∀ project suitable for URAs. A URA candidate should be interested in programming languages and associated runtime internals with experience in C/C++ programming. Interested students need some programming-language/systems background, for example, have taken one of CS350, CS343, CS442, CS444, or learned the equivalent material from some other place, like a work term or project involvement.
Lilia Krivodonova Applied Mathematics Scientific computing, machine learning Scientific computing, machine learning An intro into pdes and numerics
Henry Shum Applied Math Microhydrodynamics Some potential topics include modelling the fluid flow generated by dissolving liquid crystal droplets, studying the hydrodynamic controllability of particles in a suspension, and inferring patterns of motor activity in microorganism flagella from videos. More details here: https://uwaterloo.ca/scholar/ph3shum/research-topics Proficiency with programming (e.g., Python, MATLAB) is required. Courses in physics, differential equations, and computational methods are beneficial.