Picture of Simon Date
Cumulative assessment functionality
by Simon Date - Tuesday, 16 February 2021, 6:24 PM
 

Hi,

One of my clients is looking to have multiple assessments in their course. The structure would basically be this:

  • First section
  • Assessment on the first section with feedback (e.g you have got 50% so far)
  • Second section
  • Assessment on the second section with cumulative feedback of section 1 and 2 (e.g you have got 40% so far, the total of all the questions in section one and two).
  • Third section
  • Assessment on the second section with cumulative feedback of all three sections (e.g you have got 60% so far across all the sections).

Is it possible to create this out of the box with the Assessment extension? Or would it require a Javascript modification to that extension?

Simon

Picture of Chuck Lorenz
Re: Cumulative assessment functionality
by Chuck Lorenz - Tuesday, 16 February 2021, 9:10 PM
 

Hi Simon,

Will the assessments function normally, simply like having multiple assessments in a course, right? If so, I think it is not so much the Assessment extension that would require modification as the assessmentResults component.

As you know, assessmentResults is tied to a specific Assessment by ID. It will report only the results of that one assessment without modification. So I don't think you can achieve this OOTB.

But my understanding is that each assessment's "_score" is available in the course model upon completion of the assessment. So a modified assessmentResults component can loop through the array of assessments to find each score (or use the assessment ID if not the array). 

Chuck

Picture of Matt Leathes
Re: Cumulative assessment functionality
by Matt Leathes - Wednesday, 17 February 2021, 10:21 AM
 

In addition to what Chuck says - there should be a running tally of the overall score. If you set up a course with multiple assessments then use the debugger/console to check Adapt.assessment - specifically I think you want the object returned by Adapt.assessment.getState();

As mentioned in the README there's a few events you can hook into as well. You'll likely have already seen assessments:complete since that's what assessmentResults uses - but there's also assessment:complete - which is for when all of the assessments have been completed (and yes we know the naming is a bit confusing).