CS 358 Assignment 4