CSSE1001 / MyPyTutor

Interactive tutorial application for Python3.
Other
7 stars 12 forks source link

Behaviour when editing tutorial tasks? #103

Closed jgat closed 9 years ago

jgat commented 9 years ago

[Question, but depending on the answer, may turn into a real issue]

Suppose part-way through semester, an administrator wants to edit a question (e.g. to apply a fix/clarification). How does the system behave for students who have already attempted/submitted the question? If they've submitted it, does their submission remain valid, or does the server consider the edit to be a brand new question that they haven't yet submitted for? If they've got a partial solution synced to the server, can we expect that it will carry across to the new version of the task? (Does that behaviour depend on whether or not the name of the task changes, since the local copy is saved in a file which depends on the task name?)

(Much lower priority) -- In the (very unlikely) case that an admin wants to edit a question in such a way that it invalidates all previous submissions and synced solutions, is there a flag they can set?

sapi commented 9 years ago

The name needs to stay the same, but as long as that is done the submissions will carry over.

Invalidating a question will be rare enough that we could probably just remove submissions on the server (via a helper script if it becomes too common).

pjritee commented 9 years ago

Excellent question - some thoughts:

  1. It would be unfare to add new questions after semester has started.
  2. Modifying a question so that it has different (incompatible) answer might be a bit unfair
  3. We might want to "fix bugs" that might include adding/modifying/removing test cases and probably doing the same for analysis as well as fixing the description.

If a student has submitted an answer to a question then it should stand.

So as admins we should:

  1. Not add/delete any questions
  2. Not change the name of any questions
  3. Probably not "significantly" alter the intent/tests for a question
jgat commented 9 years ago

Agreed; the primary intent of this question was to handle the case where minor edits were made to questions (clarifying wording, fixing a broken/missing test, etc), and because I still wasn't sure how the behaviour of question hashes worked (e.g. if the hash changes under edits to a question, then the server would need to explicitly handle submissions made under the old hash).

Closing as "fixed/working as intended"