Final Project for USC CS201 Software Development Course