Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-21746

Gradebook incorrectly rounds grades, including calculation of completion

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Reopened
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 1.9.7, 2.8.3, 3.1.5, 3.2.2
    • Fix Version/s: None
    • Component/s: Gradebook
    • Labels:
    • Testing Instructions:
      Hide

      Important
      The test requires setup before upgrading to the latest version.

      57 grade boundary issue.

      1. Make sure that you have an activity in each of the courses and that you have given grades to some students. Give some students grades of 57.
      2. Courses that have "(Frozen)" should show students with a grade of 57 not achieving the letter corresponding to that boundary.
      3. Create a backup of each course before upgrading to the latest version.
      4. Upgrade to the latest version.
      5. Check that the courses marked as Frozen have a message on the gradebook. Not frozen courses should not have a message in the gradebook.
      6. Agree to the changes and then back up the course.
      7. Restore the first back up and ensure that the freeze status matches.
      8. Restore the second back up after accepting the changes in the gradebook and ensure that there is no freeze put in place.
      9. Check grades and ensure that students with grades of 57 are now getting the correct grade boundary.

      Check out https://docs.moodle.org/30/en/Grade_letters on how to set grade letters. Please note that grade items can be set to use an individual display. If grade letters are selected then it uses that courses letter grades.

      A site with default setting for displaying grades (no letters)

      • A course with a setting of a letter grade - no alteration to default letter grades. (Not frozen)
      • A course with a setting of a letter grade - alteration to default grades, but no 57. (Not frozen)
      • A course with a setting of a letter grade - alteration to default grades with one for the grade boundaries being 57. (frozen)
      • A course with a setting of a not letter grade (Not frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - no alteration to default letter grades. (Not frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades, but no 57. (Not frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen)

      A site with a site wide setting to use letters as default - no alteration to the default letter grades.

      • A course with a setting of a letter grade - no alteration to default letter grades. (Not frozen)
      • A course with a setting of a letter grade - alteration to default grades, but no 57. (Not frozen)
      • A course with a setting of a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen)
      • A course with a setting of a not letter grade (Not Frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - no alteration to default letter grades. (Not Frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades, but no 57. (Not Frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen)

      A site with a site wide setting to use letters as default - Alteration to the default letter grades with one of the letter boundaries being 57.

      • A course with a setting of a letter grade - no alteration to default letter grades. (Frozen)
      • A course with a setting of a letter grade - alteration to default grades, but no 57. (Not frozen)
      • A course with a setting of a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen)
      • A course with a setting of a not letter grade (Not frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - no alteration to default letter grades. (Frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades, but no 57. (Not frozen)
      • A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen)

      Grade display rounding.

      1. Enable completion tracking.
      2. [Course administration ► Course completion] Enable "Condition: Course grade" and set a required course grade.
      3. Set the course setting "Overall decimal points" to 0 [Grade administration ► Setup ► Course grade settings].
      4. Give a student a grade that is 0.4 below the amount to pass the course.
      5. Go to the course completion report [Course administration  ► Reports  ► Course completion]
      6. Click on the student name that you gave the grade to.
      7. The "requirement" and "Status" columns should show the same value.
      8. The grader report should also show that the grade has been rounded up.
      9. Check the single view and user report for the grade being rounded up.
      10. Now switch grade rounding to down [Site administration  ► Grades  ► General settings] -> {name of setting}

        .

      11. Repeat steps 5 - 9 and check that the grade values have now been rounded down.
      12. Turn on AJAX [Site administration ► Grades ► Report settings ► Grader report] -> Enable AJAX.
      13. Go to the grader report and enter in a grade for a student. Make sure that the figure has at least one decimal place.
      14. Check that the grades are rounded down.
      15. Switch grade rounding to up and repeat steps 11 - 12. Make sure that the grades are now rounded up.
      Show
      Important The test requires setup before upgrading to the latest version. 57 grade boundary issue. Make sure that you have an activity in each of the courses and that you have given grades to some students. Give some students grades of 57. Courses that have "(Frozen)" should show students with a grade of 57 not achieving the letter corresponding to that boundary. Create a backup of each course before upgrading to the latest version. Upgrade to the latest version. Check that the courses marked as Frozen have a message on the gradebook. Not frozen courses should not have a message in the gradebook. Agree to the changes and then back up the course. Restore the first back up and ensure that the freeze status matches. Restore the second back up after accepting the changes in the gradebook and ensure that there is no freeze put in place. Check grades and ensure that students with grades of 57 are now getting the correct grade boundary. Check out https://docs.moodle.org/30/en/Grade_letters on how to set grade letters. Please note that grade items can be set to use an individual display. If grade letters are selected then it uses that courses letter grades. A site with default setting for displaying grades (no letters) A course with a setting of a letter grade - no alteration to default letter grades. (Not frozen) A course with a setting of a letter grade - alteration to default grades, but no 57. (Not frozen) A course with a setting of a letter grade - alteration to default grades with one for the grade boundaries being 57. (frozen) A course with a setting of a not letter grade (Not frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - no alteration to default letter grades. (Not frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades, but no 57. (Not frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen) A site with a site wide setting to use letters as default - no alteration to the default letter grades. A course with a setting of a letter grade - no alteration to default letter grades. (Not frozen) A course with a setting of a letter grade - alteration to default grades, but no 57. (Not frozen) A course with a setting of a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen) A course with a setting of a not letter grade (Not Frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - no alteration to default letter grades. (Not Frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades, but no 57. (Not Frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen) A site with a site wide setting to use letters as default - Alteration to the default letter grades with one of the letter boundaries being 57. A course with a setting of a letter grade - no alteration to default letter grades. (Frozen) A course with a setting of a letter grade - alteration to default grades, but no 57. (Not frozen) A course with a setting of a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen) A course with a setting of a not letter grade (Not frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - no alteration to default letter grades. (Frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades, but no 57. (Not frozen) A course with a setting of a not letter grade, has an activity that uses a letter grade - alteration to default grades with one for the grade boundaries being 57. (Frozen) Grade display rounding. Enable completion tracking. [Course administration ► Course completion] Enable "Condition: Course grade" and set a required course grade. Set the course setting "Overall decimal points" to 0 [Grade administration ► Setup ► Course grade settings] . Give a student a grade that is 0.4 below the amount to pass the course. Go to the course completion report [Course administration  ► Reports  ► Course completion] Click on the student name that you gave the grade to. The "requirement" and "Status" columns should show the same value. The grader report should also show that the grade has been rounded up. Check the single view and user report for the grade being rounded up. Now switch grade rounding to down [Site administration  ► Grades  ► General settings] -> {name of setting} . Repeat steps 5 - 9 and check that the grade values have now been rounded down. Turn on AJAX [Site administration ► Grades ► Report settings ► Grader report] -> Enable AJAX. Go to the grader report and enter in a grade for a student. Make sure that the figure has at least one decimal place. Check that the grades are rounded down. Switch grade rounding to up and repeat steps 11 - 12. Make sure that the grades are now rounded up.
    • Affected Branches:
      MOODLE_19_STABLE, MOODLE_28_STABLE, MOODLE_31_STABLE, MOODLE_32_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      wip-MDL-21746-master-v3
    • Sprint:
      3.1 Sprint 6, 3.1 Sprint 7
    • Issue size:
      Large

      Description

      The MOODLE gradebook allows the teacher to specify the number of decimal points to display for each grade. According to MOODLE Docs, this setting has no effect on grade calculations, which are made with an accuracy of 5 decimal places. Some teachers choose to round. If they display grades with 0 decimal points, the number will display as if it was rounded. If grades are displayed as both real and letter, there are situations where the grade the student sees does not match what they are expecting to see.
      EXAMPLE :
      Suppose 90.0000 is set as the lower bound for an A-
      Suppose the 1st quarter average was calculated to be 89.5412
      Average displayed when teacher chooses to display 1 decimal would be 89.5 (B+)
      Average displayed when teacher chooses to display 0 decimals would be 90 (B+)
      This appears as a discrepancy to the student even though it is not..

      The problem is compounded as grades are used in multiple calculations. Example: 1st quarter, 2nd quarter and mid-term grades are averaged to produce the 1st semester average. 3rd quarter, 4th quarter and final are averaged to produce the 2nd semester average. The 1st semester average is averaged with a 2nd semester average to produce the course average. The grade with the 5 decimals was used in all calculations, but a grade that appears rounded is what the student sees leading to apparent discrepancies.

      While it is true that a teacher who wants to round can override the 89.5 to a 90, this is very time consuming.

      Proposed improvement:
      Provide teachers with the option to specify that grades should or should not be rounded and the ability to specify the number of decimals for rounding. This will allow them to control the precision of the numbers used in calculations in the same way that the Excel ROUND function does.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              edwinnal Edwinna Lucyk
              Participants:
              Component watchers:
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Sujith Haridasan
              Votes:
              49 Vote for this issue
              Watchers:
              44 Start watching this issue

                Dates

                Created:
                Updated: