Course project for CSCI 544 at USC