Optional Project for CSE355 in Spring 2014.