Assignements and final exam code for M101J