Add Drop Lowest functionality
Add Drop Lowest Functionality to Gradebook Setup
User Interface Changes
Files to be modified |
---|
UI changes for this piece of functionality will be incorporated into the effort to build the hierarchical table tag.
API Changes
Files to be modified |
---|
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.
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:
- Add Extra Credit property for Grade Item requires API changes
- Add "Equal Weight" functionality requires API changes