CSCI 476 Semester Project