Choice matrix (choicematrix)
Allows learners to choose answers from a table of prompts and answers.
The choice matrix Question is referenced by its type
in the code, which is "choicematrix"
.
- Read the authoring documentation for a description of what this Question does.
Examples
{
"response_id": "60028",
"type": "choicematrix",
"stimulus": "Which statement is true?",
"options": ["True", "False"],
"stems": [
"Sydney is the capital city of Australia.",
"Darwin is the capital of the Northern Territory",
"Queensland is the largest state in Australia."
],
"validation": {
"scoring_type": "exactMatch",
"valid_response": {
"value": [1, 0, 1],
"score": 1
}
},
"ui_style": {
"type": "inline",
"option_width": "150px"
}
}
Attributes
-
type string
Defines the Question type to be rendered.
Must be set to
"choicematrix"
in this case. -
is_math boolean
Set to true to have LaTeX or MathML contents to be rendered with mathjax.
Default: false
-
metadata object
Object containing additional information about the question.
-
metadata.distractor_rationale string
Used to display individual response feedback/rationale to the student.
-
metadata.rubric_reference string
A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
-
metadata.sample_answer string
A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
-
metadata.acknowledgements string
References for any text passages, documents, images etc. used in the question.
-
metadata.distractor_rationale_response_level array
Used to display individual response feedback/rationale to the student.
-
stimulus string
The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
-
stimulus_review string
HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
-
instructor_stimulus string
HTML/Text content displayed when
showInstructorStimulus
is set totrue
on the activity. Supports embedded Feature <span> tags. -
ui_style object
Object used to control different aspects of the UI
-
ui_style.fontsize string
Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
Default: "normal"
-
ui_style.type string
Choose a presentation type for the table.
Default:
"table"
Possible values
-
"inline"
- prompts are inside the table beside each option. -
"table"
- prompts are shown in the column header.
-
-
ui_style.stem_width string
The width of the stem column, in pixels.
Example:
120px
-
ui_style.option_width string
The width of the possible response columns, in pixels.
Example:
120px
-
ui_style.stem_title string
The title for the prompt column.
-
ui_style.option_row_title string
An additional title that appears above the response columns.
-
ui_style.horizontal_lines boolean
Controls whether horizontal lines should be shown underneath each prompt row.
Default:
"false"
-
feedback_attempts number
If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
Default: 0
-
instant_feedback boolean
Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
Default: false
-
validation object
In this section, configure the correct answer(s) for the question.
-
validation.allow_negative_scores boolean
Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
Default: false
-
validation.penalty number
Value indicating the marks deducted for an incorrect response.
Default: 0
-
validation.min_score_if_attempted number
Positive value indicating the minimum score if a student attempted the question.
Default: 0
-
validation.scoring_type string
The way in which marks are distributed for the question.
Default:
"exactMatch"
Possible values
- Exact Match - All parts of the question must be answered correctly to receive a mark.
- Partial Match Per Response - Each correct response element will be awarded an individual score.
- Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
- NCLEX scoring by column - In each individual column, correct responses and incorrect responses (including penalty points) are tallied, with a floor score of 0. The overall score is the aggregate of all columns.
-
validation.unscored boolean
When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
Default: false
-
validation.valid_response object
An object containing the valid response score and value.
-
validation.valid_response.score number
Score awarded for the correct response(s).
Default: 1
-
validation.valid_response.value array[array]
Defines the correct answers corresponding to the correct response indexes in the array.
Default:
[]
-
validation.valid_response.value[ ] array[number]
The correct answer(s) as indexes for the row.
-
validation.automarkable boolean
Defines whether the question will be marked automatically, or must be marked manually.
Default: true
-
validation.alt_responses array
Add an alternate response if there is more than one correct overall solution to a question.
-
validation.alt_responses[ ].score number
Score if the alternative response is correct.
Default: 1
-
validation.alt_responses[ ].value array
Default: []
-
shuffle_options boolean
Controls whether to shuffle the prompt order.
See Shuffle Options (Questions API, front end) for more information.
Default:
false
-
options array[string]
Defines the response options for each column in the table.
Example:
["Yes", "No"]
-
multiple_responses boolean
Controls whether the learner can select multiple responses in the same row. The radio buttons will be converted into checkboxes. By default, learners can only select one response per row.
Default:
false
-
stems array[string]
Defines the prompts for each row in the table.
Response format
The data returned in the response format for this Question is an array of integers, which represent the choices that the learner made for each row.
Response format examples
{
"value": [
[1],
[0],
[1]
],
"type": "array",
"apiVersion": "v2.173.0",
"revision": 1,
"feedbackAttemptsCount": 2
}
Response attributes
-
value array[array[number]]
Contains the choice(s) that the learner made for each row in the table, as array indexes.
In the example above, the learner chose the second option (false) in the first row, the first option (true) in the second row, and the second option (false) in the third row.
-
type string
Informs the scoring engine about what kind of data to expect in the values entered by the student. For this Question type, you must always supply a string for this attribute with the value
"array"
. -
apiVersion string
The version of the Questions API that returned this reponse.
-
revision numeric
Keeps track of the number of Question attempt submissions, i.e. how many times the student answered the Question and submitted it.
-
feedbackAttemptsCount numeric
Keeps track of the number of feedback attempts.