COMP3912 Course Project