Compsci 308 Assignment