Sreeharsha Udayashankar

Welcome to my personal page!

Title Image

I am a computer science researcher whose interests lie primarily in the Systems domain. I have been a part of projects in Cloud Computing, Distributed Systems and Computer Architecture. My current research is focused on the following areas:

I am enrolled in the PhD program in Computer Science at the University of Waterloo as a part of the Waterloo Advanced Systems Lab (WASL). My supervisor is Dr. Samer Al-Kiswany. Prior to this, I was enrolled in the research-based master's program at Waterloo from 2019-2021 and I have been a Design Engineer at Advanced Micro Devices (AMD) from 2017-2019.

I received my master's degree in Computer Science from the University of Waterloo in 2021, working under the supervision of Dr. Samer Al-Kiswany. I received my undergraduate degree in Computer Science from PES University in Bangalore, India and have been supervised by Dr. K.V Subramaniam and Dr. Phalachandra. I was a research assistant at CCBD during my time there.

I have experience developing systems in numerous languages such as C, C++, Java, JavaScript and Python along with limited experience in Solidity.

Complete Resume: Resume

LinkedIn: Sreeharsha Udayashankar


Side Projects

In my spare time, I like to develop applications using a variety of languages and tools to keep my skills sharp. Some of these projects and their source code are showcased in this section.

MuZero on Super Mario Bros

I have attempted to evaluate MuZero, an algorithm for deep learning published by Google Deepmind in 2019, against Deep-Q-Networks with Double-Q-Learning, the state of the art model free algorithm. I have compared their performance using the game Super Mario Bros. The system architectural diagram has been shown below:

Clips of an agent trained using MuZero playing the game can be found below:

Training GIF 1 (Level Complete) Training GIF 2 (Level Complete) Training GIF 3 (Level Fail) Training GIF 4 (Level Fail)
MuZero_GIF_1 MuZero_GIF_2 MuZero_GIF_3 MuZero_GIF_4


The Crypto Lottery

This project consists of an Ethereum-based back end and a front end powered by React.js. The objective of this project was to build a lottery application where users register using Ether and stand a chance to win the Jackpot.

The Jackpot is the prize pool consisting of contributions from all participants with the winner being chosen at regular time intervals. A participants chances also increase with the Ether they contribute up to a certain limit.

Source Code:

Python Game Collection

I have developed a few games in Python 3.6 using the PyGame library. Some of them are showcased below.

Snake Memory Game
Snake_Game Emoji Memory Game Peek

Source Code


I enjoy running, cycling and hiking in my spare time. Here are a few images I've shot using my phone on some of my hikes:

Canadian Hiking

Sunshine Meadows - Banff National Park Peyto Lake - Banff National Park
Flowerpot Island - Bruce Peninsula National Park The Grotto - Bruce Peninsula National Park
Flowerpot Island (Ontario) The Grotto (Ontario)
Centennial Ridges - Algonquin Provincial Park Track and Tower - Algonquin Provincial Park

Indian Hiking

BR Hills - Karnataka Tadiandamol - Karnataka