Projects

These are some of the programs and projects that I have done since high school. Some of these have separate pages with more details if you click on the title. My work can also be found on GitHub and Bitbucket.

Projects

ShareWear Android App
App with Android Wear companion for sharing contact info and location.
GitHub
Bach's Endless Maze Adventure
Bach's Endless Maze Adventure
Action-puzzler game created in C# using the Unity game engine. All assets other than music and SFX done from scratch using Blender for modeling and PowerPoint for UI elements. Comes with 6 themed levels; each level has many floors with a randomly-generated maze and different enemies. Game can be downloaded as a Windows executable or Mac app.
GitHub | Full Gameplay Video (22 min)
Distributed Shared Memory System
Distributed shared memory system with deployment server in C.
Bitbucket | Presentation | Paper
Overrun! Video Game
iPad game in C# created with Unity game engine. Herd animals quickly!
GitHub | Gameplay Video (3 min)
Automated SQL Grading Tool
Tool for automated grading of MySQL queries by running it against a test database and comparing the results to the expected results. This tool was used for a database class and can be customized to grade any assignment with a spec file. Includes a stylechecker for checking MySQL style.
GitHub | Wiki
YoctoDB: A Data-Stream Management System
Created a data-stream management system (DSMS) in Erlang with a group of people. This DSMS includes operations traditionally found in a stream database, but YoctoDB also includes privacy-preserving operations using ε-differentially private algorithms. Analyzed their effectiveness on real electricity usage.
GitHub | Docs | Paper | Poster
SmartSenior: Smartphone Aid for Smarter Seniors
iOS app for seniors to help them learn how to use a smartphone.
RoboTrike: Holonomic Motion Robot
Implemented logic for motors, IO, display, and keypad for robot with Intel 80188 microprocessor.
NanoDB: Database System Implementation
Implemented various utilities and extensions of an incomplete, Java-based SQL database with a group of people. Features added include grouping and aggregation operators with the HAVING clause, math functions such as SIN and COS, and commands such as SHOW TABLES, DROP TABLE, DESCRIBE, pretty-printing, and the LIMIT modifier.
Project Proposal | Final Report
Signal Finder App for Android
Android application for crowd-sourcing cell-signal strength data for different locations.
Synopsys Championship Project
Microcontroller-based project aiding in navigation for visually-impaired runners.

Programs and Smaller Projects

Scanline and Raytracer Graphics
Images created using Blender, OpenGL, and a custom raytracer for a graphics class.
RSS Feed Aggregator
Simple RSS feed aggregator in Erlang using the gen_server behavior. Can subscribe to actual RSS feeds.
PageRank Computation
Creation of efficient PageRank computation on Amazon EC2.
Assignment | Documentation
Networked Boggle Game
Multiplayer networked Boggle game written from scratch in Java using Java's Remote Method Invocation.
Simple Ray Tracer
Ray tracing is a technique in computer graphics to generate an image by tracing a light ray onto an image plane and computing the effects of its encounter with an object. However, it comes at a high computation cost. As part of an advanced C++ laboratory class, I implemented a simple ray tracer from scratch, using guidelines from the instructor.
Fractal Explorer
Graphical user interface in Java for displaying different kinds of fractals. Template for adding new fractals.
Low-Power Battery Life Algorithm
Derivation of an formula to calculate battery life of low-power microcontrollers.
Negation of 64-Bit Numbers
In assembly, negation requires a simple NEGS command, but it is not easy to do with 64-bit numbers.
32-Bit Multiplication, 64-Bit Result
Function for multiplying two 32-bit numbers to get a 64-bit result, using only 32-bit registers.
64/32-Bit Division Algorithm
Algorithm for dividing a 64-bit number by a 32-bit number using only 32-bit registers.
Shiny Card Generator
Image generator for a shiny card (online Pokemon fans use this to show off their special Pokemon).