Add Drop Lowest functionality

Add Drop Lowest Functionality to Gradebook Setup

User Interface Changes

Files to be modified

GradebookSetupBean.java

UI changes for this piece of functionality will be incorporated into the effort to build the hierarchical table tag.

API Changes

To modify the calculations to ensure that "drop lowest" functionality correctly calculates the grades, omitting the X lowest scores for that Category, will require some extensive changes to the GradebookManagerHibernateImpl class, including modifications of the following methods:

  • getStudentCourseGradeRecord()
  • getTotalPointsInternal()
  • getTotalPointsEarnedInternal()

Unfortunately, it looks like this will involve some significant rewriting of these calculations, since currently the calculation of (a) total possible points over all graded assignments is separate from the (b) calculation of total received points, and to determine which assignments for a given user should be dropped out of the total possible points will require a scaled score to be calculated for each user's performance on each assignment at the time when it's being decided whether to include those possible points in the (a) total.

(star) Note that there is already a "drop_lowest" property in the Category class and hibernate table mapping, and the createCategory() method in the BaseHibernateManager class as well as the matching signature of the GradebookManager interface. So in effect, the necessary changes to store this data have already been made.

We will want to coordinate these changes with: