cs211 programming assignment 4