Projects Note: School projects will not have code publicly available. Click on images to see more. Gitlet Command line version control system implementing essential features of Git. Handles the reading and writing of files, viewing their histories, maintaining related branches of commits, and the merging of changes in one branch to another. Spec › AI Pac-Man Pac-Man projects which involve utilizing various AI methods to play Pac-Man. However, the main goal of these projects is not to create AI specifically for video games but to impart essential AI principles like informed state-space search, probabilistic inference, and reinforcement learning. Topics covered in these include search, logic, multiagent search, reinforcement learning, Bayesian networks, and machine learning. Spec › Machine Learning Models This project consisted of implementing the perceptron algorithm, neural network, and recurrent neural network models to approximate sinusoidal functions, recognize handwritten digits, and classify natural languages. Spec › 2048 Core logic of the game 2048, a single-player computer game written by Gabriele Cirulli, including the handling of a variety of possible key-presses by the player and their effects on aspects of the game including score, board layout and tile values. Spec › 2D Tile World Generator Engine for generating random, expansive worlds in which the user is able to explore and interact. Worlds are generated using randomly positioned rooms and the connecting paths between them are made with A* search using Manhattan distance as a heuristic. Spec › SIXT33N: Voice Controlled Car Car that recognizes voice commands and reacts accordingly. Uses a Texas Instruments microcontroller and microphone to record commands, filter noisy input, and implements a classifier based on singular value decomposition and principal component analysis to identify the vocal command issued.