compsci 220 assignment 3