Add option at question level to enable Guess Correction.

When disabled (current behavior), students score 10.0 when the answer is correct, 0.0 when incorrect.

When enabled, the score for an incorrect answer will be negative, i.e. a penalty is given. The idea is that by random guessing a set of questions, the expected total score should become zero.

The advantage of calculating the penalty at the question level is that we can distinguish between “skip question” (no penalty) vs wrong answer (apply penalty). This would be complex to compute at a folder level, as we would then need to compute the guessing correction per individual submission by traversing the subtree of MCQs to check for skipped questions.

### Calculation of Penalty (guessing correction)

This penalty is computed by considering the probablities for answering the question correctly and incorrectly. The score for guessing should sum up to 0.0 using these probabilities:
`m` number of options
`n` number of correct options

`0.0 = ( n/m × 10.0) + ( (m−n)/m × penalty_for_incorrect )`

The penalty can then be computed using:
`penalty_for_incorrect = −(n×10.0)/(m−n) )`

### Example

When there are `m=4` options, from which `n=1` is correct, the penalty for an incorrect answer will be:
`penalty_for_incorrect = -(1×10.0)/(4-3) = - 3.333...`

When guessing 40 questions like these, the expected number of correctly guessed questions would be 1/4 * 40 = 10 questions and 30 questions incorrect. Total score: `10 * 10.0` + `30 * -3.333..` = `0.0`

Submitted by Elmer van Chastelet on 17 July 2024 at 15:33

On 1 August 2024 at 13:10 Elmer van Chastelet removed tag feature

On 1 August 2024 at 13:10 Elmer van Chastelet tagged feature