Programming assignment for CSCI 576