The final project report for CMSC396H at UMD, Fall 2014