csc 667 assignment 3