CSCE-312 project