COP 3504 project