
Projects
If a project is not publicly available, you can send me a message from the "Contact" tab, and I will get back to you as soon as I can.
Pixelization Program
A program that accepts images of any resolution and outputs the same image in the art style of pixel art, with a specified output resolution and limited palette. This is accomplished using an interleaved combination of the SLIC superpixel algorithm and the Mass Constrained Deterministic Annealing algorithm.
Written in C++

SSeawolf Script
Program written to interpret and compile a programming language known as SSeawolf Script.
Written in ANTLR4, Python

Pac-Man Searchers
Automated Pac-Man programs that allow Pac-Man to chase ghosts and eat pellets by following various AI techniques including but not limited to Bayes' Nets, adversarial searches, and graph based searches.
Written in Python

Computer Processing Unit
A processor in a HDL with 5+ stage pipelining, direct and set associated caches, branch prediction abilities, and is capable of running simple assembly programs.
Written in SystemVerilog
.png)
I-Programming
A web application designed to teach users how to program, where they can also create and share courses.
Written in Java, HTML, CSS, Javascript, and SQL, using Bootstrap, Maven, and Spring MVC

Packet Sniffer
This program captures network traffic, parses it to determine the packet format, and displays it back in a user-friendly format. It is also capable of searching the captured packets using regular expressions, filtering out types of packets, and reconstructing DNS queries.
Written in Python

Web Messenger App
This consists of both a client and server program, and allows two users to send messages to one another in real-time. Users login with a username and password, stored using a SQLite database on the server, and can then send messages to any other user currently online.
Written in C, SQLite

Shell Program
A shell program that is written to mimic the Bash program in UNIX operating systems.
Written in C

Memory Allocator
A dynamic memory allocator written from scratch to manage a given chunk of memory. This allocator uses an explicit freelist to manage allocations, and supports both first and next block placement.
Written in C

Lawn Mower Game
This is an interactive game in where the user attempts to mow a lawn.
Written in MIPS Assembly

Sudoku Solver
Recursively solves a sudoku puzzle, provided as a string input.
Written in MIPS Assembly

WolfieBall Draft Kit Manager
A fantasy baseball team manager.
Written in Java, JavaFX

Course Site Builder
A program to automate the process of recreating a course webpage.

