CS414 Assignments 2 - 5