Firstly, to address Tommi's original question ... it is actually possible to display the sample answer, or any other feedback, after some number of submissions. But unless you're happy to squeeze the sample answer into the 'Got' column of the result table, which looks awful, you have to write a combinator template grader to manage the entire run of the job. And that's rather challenging.
That said, nearly all our in-house question types use combinator template graders, with lots of template parameters to manage graphical output, style checking, floating-point tolerance and white-space tolerance. Once you've got to that stage, it's not much harder to add in a template parameter to allow hints after a number of submissions, or to display the sample answer. As a proof of concept I just put together a python3_with_feedback question type that produces output like the following after some number of submissions:
[Edit: insert missing image]
I attach the prototype and the test question, but it's just a proof of concept and is probably riddled with bugs having had only about 30 minutes testing. But if you're teaching in Python and like to have complete control of your question, it might be of interest.
Now to Tim's suggestion ...
I'm warming to this idea. It sounds relatively simple to implement, requiring just a modified behaviour class and one extra checkbox in the question authoring form, which could go beside the Show check box. I quite like the name Give up myself, but allowing the author to customise the name wouldn't be hard. My two biggest concerns are:
- What would the layout look like? We already have a Precheck and a Check, and I've had students complain that they have clicked Check by mistake instead of Precheck and paid a penalty. The Give Up button would need to be well away from those two, I think, and would need a confirm dialogue as well.
- Is it sufficient to allow your OU team to provide the type of feedback they were asking for last year, Tim? If I remember correctly they wanted a hinting mechanism, and indeed I've had students tell me they'd like the option of clicking a button to get a hint, perhaps at the cost of a small penalty. That seems like a nicer approach than just a brutal "give up". It is of course much harder to design and implement such a capability but I think it might be worth putting a bit more thought into how to do that without adding any more cruft to the UI. Although, as you say, this does go a bit against the CodeRunner philosophy.
Would it be possible to support the OU requirements via a special question type, like an enhanced version of the demo example above? That doesn't involve any UI clutter. We have a lot of experience of writing very complex question types here and particularly if you're teaching Python it wouldn't be hard for me to add some extra hinting capability via template parameters, if that would suffice.
Richard