Coding Projects

Here is a list of programming projects I have completed!

For an overview of my Auto Calendar freelance project, hop over to my work experiences page!

Quick Note: Due to the University of Michigan’s honor code regulations, the Github repos for many of my projects cannot be public. However, feel free to send me a quick message over email or LinkedIn and I would love to add you as a collaborator!

Maze Puzzle Search Algorithm

My most recent project, The Puzzle Search Algorithm, is one that takes in a 3-dimensional maze and attempts to solve it using command line options specified by the user. The program conducts detailed input validation according to predefined rules and specifications before reading into a custom abstract data structure and 3D vector. Then using either a stack or queue, the algorithm conducts a depth-first or breadth-first search using a backtrace method to determine the solvability and provide a description of the puzzle’s solution.

September 2023

Forum Post Classifier - Machine Learning

The Piazza Forum Post Classifier automatically identifies the subject of posts from the EECS 280 Piazza forum using natural language processing and machine learning techniques. The program uses a binary search tree along with the ‘bag of words’ prediction model to train and predict the program to categorize and classify the topic of forum posts with varying difficulties.

The main concepts utilized in this project are Function Objects and Recursion. A custom binary search tree container ADT was construed and implemented using Dynamic Memory, The Big Three, Linked Lists, and Iterators. The machine learning model used conditional probabilities, templates, comparators, and the aforementioned custom binary search tree data structure to make predictions.

April 2023

Office Hours Queue - Web Backend

This project revolves around building a REST API web server for a queue for office hours. The API and backend are built on the back of a custom implementation of a linked list. The linked list container ADT was built from scratch using dynamic memory, including implementations of iterators and custom comparators, constructors, and destructors. The REST API was built using custom request and office-hour queue objects and was tested using a sample browser session that would pass get, post, and delete HTTP requests.

March 2023

Euchre Card Game Simulator

Euchre (pronounced “YOO-kur”) is a card game popular in Michigan. This project allows the user to play a game of Euchre with up to 3 other human players, or simulate a game entirely with 4 AI players. The game mechanics were built using the concepts of OOP and Abstract Data Types in C++, where the structure and components of the game were systematically broken down into derived classes and implemented using inheritance, polymorphism, and virtual functions.

February 2023

Image Resizer - Computer Vision

For this project, I built an image-resizing program using a seam-carving algorithm. This multi-part project included building a custom implementation of a 2D Matrix data structure. Using the custom matrix data structure, a custom image data type was created to store image data in PPM format. To bring it all together, an image analysis computer vision algorithm was used to identify the least prominent ‘seams’ or lines within the image, which allows the user to ultimately resize any image of their choice by ‘carving out’ the seams with the lowest cost and impact.

January 2023