compsci 230 assignment 4