cs477 Assignment