numbas / Numbas

A completely browser-based e-assessment/e-learning system, with an emphasis on mathematics
http://www.numbas.org.uk
Apache License 2.0
202 stars 117 forks source link

Re-evaluate non-random variables when resuming an attempt #828

Closed christianp closed 2 years ago

christianp commented 3 years ago

Someone has a completely reasonable situation that doesn't work as they expect: a question with a number entry part, where the expected answer is defined in terms of a static variable X. After some students started attempts, they noticed X was wrong, so they changed it and update the exam package in the LTI tool. They expected the existing attempts to show the corrected expected answer, but they still show the old one, because the variable value was restored from the saved attempt data. They expected the value of the variable to be updated from the new definition.

One reason Numbas doesn't do this is that it could lead to inconsistencies when there's randomisation. Under what circumstances can we re-evaluate a variable?

Explore mode might be more complicated.

A benefit of re-evaluating a variable on resume is that you don't have to store it in the suspend data.

Maybe, similar to the random flag on operations, there could be a deterministic flag, declaring that they're always safe to re-evaluate on fixed inputs.

christianp commented 2 years ago

JSXGraph boards are not deterministic: they change after interaction.

christianp commented 2 years ago

This is a duplicate of #532