My Projects

Project 1

Paint Number Guesser

Developed by one of my students under my supervision. Created an AI that would read the pixel values on the screen and predict the number written. Using the MNIST training set we trained a feedforward neural network with backpropagation using Keras. The trained model was exported and implemented into the paint program.

View Project
Project 2

Niagara Museum App

The frontend lead, oranized a team of students in building a Niagara Museum Association app using React and React Native, in order to allow access to virtual tours. Created modals, buttons, login screen, text and basic navigation around the app. Implemented the React Native codebase to work on various mobile applications such as IOS and Android including respective styling. Worked in an agile environment with regular scum meetings utilizing Jira to track and update backlogs.

Additions can be seen under commits and viewed through various branches. Progress reports can be viewed here.

View Project
Project 3

Milk Runner

This project is an IOS/Android app using React Native this aims to save time on delivery drivers such as Uber, Skip, Pharma and Grocers. Implemented Dijkstra search heap to find the optimal path between delivery locations, where the max search is limited to 10 000 locations in a worst case of O(E + V log V) running time, where edges and vertices are defined respectively.

View Project
Project 4

Traffic Simulator

This project is a simulation game that simulates a driving environment using graphs to represent roads and intersections. Players control a vehcile and attept to manuver their vheicle around busy streets filled with npc cars, busses, and other vehicles.

Implemented various Java Design patterns such as model view controller, factory, singleton, composite and used XML/XSD to verify the structure of the data and parse elements. A breakdown of the program can be viewed here.

View Project Partner
Project 5

Genetic Programming Breast Cancer Regression

This project is able to extrapolate information if a given person has a malignant or benign tumor based on 30 parameters. Using genetic programming this project was able to identify cancerous tumours in over 20k+ patients. Futhermore, testing out of sample data proved to be accurate within 98%.

A detailed document on the project methodologies can be viewed here. Parameter testing can be viewed here.

View Project Partner
Project 6

Open AI SlimeVolley

SlimeVolley Gym is a model-free reinforcement learning algorithm that uses proximal policy optimization. PPO falls into the actor-critic family of reinforcement learning. Using Stable-Baselines 3, the project was able to use PPO to train the slime (our slime is yellow).

Pre-Trained

slime gif

Trained

trained slime

View Project Partner
Project 7

Chess AI

This project uses Alpha Beta pruning where it can Min/Max each board possibility and move between the player and the AI. It begins by viewing the entire board and assesing each piece and its value (weight). It then creates a new state and makes a move, based on the move it makes the AI calculate the heuristic function. Once the AI has gone down to its depth (~14) it then begins walking the path, it walks down the path where it is the best for the AI and the worst for the player (Min-Max). Then proceeds to make that move.

View Project Partner