This is a required assignment, worth 45 points, and must