csc123 assignment 1