cs4500 semester project