USC CSCI101 Final Project