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

Let a quiz have multiple total grades (e.g. for each section)

    XMLWordPrintable

Details

    • MOODLE_400_STABLE, MOODLE_403_STABLE
    • MOODLE_404_STABLE
    • Hide

      This is a significant new feature, which has solid test coverage. However, it seems appropriate to write some manual testing steps so that can be the basis for some related MDLQA tests.

      However, I am going to write this in a fairly open way, in the hope of encoraging some quite exploratory testing.

      Background

      1. You need one or more quizzes in a course, which has already had some questions added.
      2. ... where the questions are split over several pages and sections.
      3. Also, ensure some students are enrolled in the course.

      Setup

      1. As teacher start on the 'Questions' page in the question settings.
      2. In the tertiay navigation, choose 'Grade items setup'.
      3. Test the 'Setup a grade for each section' button.
      4. Test the 'Reset setup' button.
      5. Test adding, renaming and removing grade items manually.
      6. Test changing which grade item each question in the quiz is assigned to.

      Student view

      1. As student, attempt the quiz.
      2. After the attempt is submitted, Verify How the additional grades are displayed at the top of the review page.

      Quiz reports

      1. As teacher
      2. In the quiz navigation, go to Results
      3. In the grades report table, verify that the way the separate grade items are displayed as extra columns makes sense.

      Editing the grade setup after the quiz has been attempted.

      1. Verify that the grade setup can be changed after students have attempted the quiz, and that if you do, the quiz reports, and the stduent/teacher attempt review, get updated to reflect that.
      Show
      This is a significant new feature, which has solid test coverage. However, it seems appropriate to write some manual testing steps so that can be the basis for some related MDLQA tests. However, I am going to write this in a fairly open way, in the hope of encoraging some quite exploratory testing. Background You need one or more quizzes in a course, which has already had some questions added. ... where the questions are split over several pages and sections. Also, ensure some students are enrolled in the course. Setup As teacher start on the 'Questions' page in the question settings. In the tertiay navigation, choose 'Grade items setup'. Test the 'Setup a grade for each section' button. Test the 'Reset setup' button. Test adding, renaming and removing grade items manually. Test changing which grade item each question in the quiz is assigned to. Student view As student, attempt the quiz. After the attempt is submitted, Verify How the additional grades are displayed at the top of the review page. Quiz reports As teacher In the quiz navigation, go to Results In the grades report table, verify that the way the separate grade items are displayed as extra columns makes sense. Editing the grade setup after the quiz has been attempted. Verify that the grade setup can be changed after students have attempted the quiz, and that if you do, the quiz reports, and the stduent/teacher attempt review, get updated to reflect that.

    Description

      In the past people have asked for this in different ways. For example, calculating the grade for each section of the quiz, or based on the question bank category each question is in, but these are all just variants of the same underlying requirement: Having a student’s attempt at a particular quiz lead to several grades in the gradebook.

      There are other related grading requirements I have seen people ask for here. One goes like this: “To pass this quiz, students need to get an overall grade of 70%, but also, they need to get at least 50% on questions 7, 8 and 9 combined”. I think that the changes we propose to make can solve this. If the quiz puts two grades into the gradebook, one “overall grade” and one “grade for questions 7, 8 and 9” then you can use gradebook calculations to work out the right final result based on those two. Since this can be done in the gradebook, we should not duplicate that type of logic in the Quiz itself.

      Obviously, more detail is required before this can be implemented.

      Note, there are several duplciates, or near-duplicates of this, which I need ot sort out properly at some point:

      • MDL-21977 Quiz Reporting by Standards or Objectives
      • MDL-61548 Implement subscores in Quiz module
      • MDL-53639 Quizzes should be able to report scores/marks/grades for each section/question category/tag

      Proposed DB structure:

      quiz_grade_items (                -- New table.
        id INT AUTOINCREMENT,
        quizid INT NOT NULL  FK -> quiz.id
        sortorder INT NOT NULL
        name CHAR(255) NOT NULL,
      )
      -- Unique index on (quizid, sortorder)
       
       
      quiz_slots (                            -- Adding column to an existing table.
          ...
      +   quizgradeitemid INT  FK -> quiz_grade_items.id -- can be null, the default.
      

      Here are some screen-grabs of what was implemented:

      Initial state of the setup screen:

      ... and after setting some things up.

      In the quiz reports:

      And, when student or teacher reviews an attempt:

      Balsamiq Wireframes

        Attachments

          1. 2024-03-06_15h07_42.mp4
            3.43 MB
          2. Attempt review.png
            Attempt review.png
            40 kB
          3. image-2024-03-19-11-43-08-247.png
            image-2024-03-19-11-43-08-247.png
            266 kB
          4. MDL-74610.bmpr
            176 kB
          5. MDL-74610-Editing the grade setup after the quiz has been attempted.png
            MDL-74610-Editing the grade setup after the quiz has been attempted.png
            339 kB
          6. MDL-74610-quiz report.png
            MDL-74610-quiz report.png
            371 kB
          7. MDL-74610-Setup_step4b.png
            MDL-74610-Setup_step4b.png
            136 kB
          8. MDL-74610-Setup_step4-confirmation.png
            MDL-74610-Setup_step4-confirmation.png
            101 kB
          9. MDL-74610-setup.png
            MDL-74610-setup.png
            413 kB
          10. MDL-74610-Setup-step3.png
            MDL-74610-Setup-step3.png
            92 kB
          11. MDL-74610- student view.png
            MDL-74610- student view.png
            290 kB
          12. MDL-74610-Test1_step2.png
            MDL-74610-Test1_step2.png
            82 kB
          13. MDL-74610-Test2-step3.png
            MDL-74610-Test2-step3.png
            280 kB
          14. MDL-74610-Test3-Student.png
            MDL-74610-Test3-Student.png
            62 kB
          15. MDL-74610-Test3-Teacher.png
            MDL-74610-Test3-Teacher.png
            305 kB
          16. Quiz report.png
            Quiz report.png
            15 kB
          17. Setup page - intial state.png
            Setup page - intial state.png
            49 kB
          18. Setup page - intial state - improved.png
            Setup page - intial state - improved.png
            36 kB
          19. Setup page - in use.png
            Setup page - in use.png
            57 kB
          20. Setup page - in use - improved.png
            Setup page - in use - improved.png
            67 kB
          21. UI tweaks.png
            UI tweaks.png
            61 kB

          Issue Links

            Activity

              People

                timhunt Tim Hunt
                timhunt Tim Hunt
                Anupama Sarjoshi Anupama Sarjoshi
                Andrew Lyons Andrew Lyons
                Ron Carl Alfon Yu Ron Carl Alfon Yu
                Votes:
                9 Vote for this issue
                Watchers:
                35 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 12 weeks, 2 days, 5 hours, 50 minutes
                    12w 2d 5h 50m

                    Clockify

                      Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.