Understanding Submission and Scoring

This article outlines how the Questions API (and as a result, the Items API)’s submission works and how responses saved in assessments are scored. For an article detailing this from an authoring point of view, please have a look at our Author Guide article "Understanding Question Validation and Scoring types".
 

When an assessment session is saved or submitted with the Questions API by clicking Save Answers / Submit Answers buttons, or by calling public method save and submit, the response of each Question in the assessment will be stored inside the Learnosity database. Users can call the getResponses() object.

Question example: Shorttext


getResponses() JSON example

{
    "value": "Example",
    "characterCount": 7,
    "type": "string",
    "apiVersion": "v2.117.0",
    "revision": 1
}

When the assessment is loaded in review mode or when user clicks the Check Answer button of a certain Question, the Question’s stored response will be evaluated and scored. Each Question type will have different logic to score.

Question example: Shorttext

In this example, the shorttext Question has four possible answers. So in this case, if user answers the Question with "Los Angeles" the Question will be marked as correct and the score that the user gets will be 1 Point. In order for user to get the highest score, the answer that the user needs to provide is "Washington, D.C." which will give him or her the highest score of four.


For shorttext Question type, the stored response will be evaluated against all the possible answers and if the stored response matches one of the possible answers, the final score will be returned based on that matched possible answer. Users can call the getScore() method to get the score object with max_score and score values.

getScore() JSON example

{
    "max_score": 3,
    "score": 2
}

We have auto-scorable or manually scored Questions, but for some users who want to do manual scoring on auto-scorable Questions, we also provide a flag called automarkable in the validation object of the Question JSON to support this function.

For auto-scorable Questions, when you have the state automarkable: false, users can input the max_scorevalue. When you have the state automarkable: true, the Questions scoring method will go back to auto scoring.

Question JSON Example - with automarkable flag

{
    "options": [{
        "label": "[Choice A]",
        "value": "0"
    }],
    "stimulus": "<p>[This is the stem.]</p>",
    "type": "mcq",
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 1,
            "value": []
        },
        "automarkable": false,
        "max_score": 2
    }
}

When you have the state automarkable: false and max_score has a value, calling the getScore() public method will return a score object with max_score and score: null.

getScore() JSON example

{
    "max_score": 3,
    "score": null
}
Was this article helpful?

Did you arrive here by accident? If so, learn more about Learnosity.