You want to develop a gradebook for a course. The gradebook must support the following requirements:
There is a roster of students enrolled in the course. For now, we only want to record students’ names, but we might add other information (like ID number) later on.
The course has a collection of assignments. Each assignment has a name and a maximum number of points.
The gradebook has to store a grade for each student on each assignment. Each student’s grade on a given assignment must be no higher than the maximum points available on that assignment.
The gradebook must provide a way to get a statistical summary for an assignment. For now, we only care about the average (mean) grade across the students in the class on the given assignment.
Work out the class hierarchy and method headers you would use for this problem, accounting for encapsulation.