CSCE 438 Homework 3 (and 4) project