Final Project for EECS290 (Spring 2014)