Optical Character Recognition (Python)
Designed supervised machine learning algorithms to extract features from a set of digitized, handwritten numbers. Features included: connected components, vertical and horizontal line lengths and locations, curvature size, and distribution of pixels. Used statistical learning to train on a dataset of 5,000 digits and was able to achieve 93% accuracy on predicting new characters.
JOS Operating System (C, x86)
Implemented portions of the JOS operating system. Included writing the bootloader, virtual memory manager, pre-emptive processor multitasking and environments, file system, UNIX TOP, shell, and a driver for the Intel E1000 network card. Included writing, testing, and debugging multithreaded processes.
Tetris with Artificial Intelligence (Java)
Developed a user playable game with an A.I. brain to automatically compute best and worst moves. Used the Tetris board features (highest row, number of holes, any valleys, etc.) to automatically rate the board. Used statistics and genetic algorithms to determine optimal parameters for the board rating system.
Doodle Jump (Java)
Ported the popular iPhone game, Doodle Jump, to PC. Included a physics engine to simulate gravity. Tracked various objects in the 2D space including dynamic platforms, enemies, and bullets. Also included sound effects, high scores, and theme plugins.