Course project for CMPSC 443 at Penn State