CS 358 Assignment 2