Feature request: MCQs that do not tell the student their response is incorrect
We need a variant of multiple choice question that does not grade a user's responses wrong.
Use Case: Make a guess
I commonly ask students to pre-think before instruction. I do this with a multiple choice question like, "Make a guess. What would happen if you ran 1 + ?" I would like to provide the student feedback based on their answer, but I would not like to indicate that any answer is wrong. i.e. with a red message and the word Incorrect. I would prefer that:
- The correct answer is handled as is with a green background and the word Correct
- Other answers are handled in a more neutral way: a neutral colored background and no Incorrect at the top of the message.
I have no opinion on the best syntax for specifying this.
This is 100% about students seeing that their answer was incorrect and then becoming demotivated.
FWIW, if the MCQ needs to return a Correct/Incorrect grade to a non-student facing place, like the logs, I'm happy for the MCQ to log Incorrect.
Thinking out loud, I can see two primary ways to achieve this:
- Adding a third function to the
pass()/fail()family that returns neutral feedback. - Adding an option to an exercise to convert all
fail()s into neutral feedback.
@garrettgman Can you envision a situation where we would want to pass() one response, fail() another, and respond neutrally to a third? Or would it be sufficient to simply make all fail()s look more neutral for certain exercises?
All of the scenarios that I am thinking of fall into a "there are no wrong answers" category. If that is the easiest solution to implement it would certainly be enough to fix the demotivation problem 😄.
I don't want to rule out the usefulness of the incorrect/neutral/correct option, but I can't think of a use case at this moment.
Exercises, like questions, initially had a strict binary interpretation of correctness. We added the concept of neutral feedback option by taking advantage of a small loophole in learnr's checks of feedback$correct that accepted correct = logical(0) as valid feedback.
We could take a similar approach to carve out a notion of a neutral question answer, but it'll be a little more complicated to implement for questions than it was for exercises, since each question type requires its own method.