If I implement the one liner given in MDL-29772 I get the following result on a question with a 25% penalty that asks "What's half of 8", when I enter successively 3, 4, 5:
Incorrect
Marks for this submission: 0.00/1.00. This submission attracted a penalty of 0.25.
Total penalties so far: 0.25
----------------------------------------------------
Correct
Marks for this submission: 1.00/1.00. With previous penalties this gives 0.75/1.00.
Total penalties so far: 0.5
----------------------------------------------------
Incorrect
Marks for this submission: 0.00/1.00. With previous penalties this gives 0.75/1.00.
Total penalties so far: 0.75
----------------------------------------------------
At very least the code should check if the current answer is correct, rather than multiplying the penalty by the try-number. Moreover, the behaviour if a student continues to try different answers after having entered a correct answer needs to be considered, too. I use a subclass of adaptive behaviour in my Python programming question plug-in, and there it makes perfect sense for a student who has found a cumbersome but technically correct solution to try a shorter more elegant solution. It doesn't make sense to see the penalty clocking on upwards in such a case. So perhaps the "Total penalties so far" line should be suppressed once a student has entered a correct response? With that change, I'd be happy to see the change retrofitted to 2.1.
-- Richard