Is it possible to show the right answer (Answer text field) immediately after the student has submitted the code? This would be handy when students are practicing coding. We are using Moodle and the settings of the Quiz can be seen on the attached pic.
The only way I get the right answers visible is when the whole exam is finished.
This is something we want at the OU (more because of General feedback, but it is the same underlying issue.)
The problem is that this goes against the philosophy of CodeRunner, which is about students trying to work out the answer for themselves.
The best suggestion we have been able to think of is something like this:
Based on a option which the question author can control, show a 'Give up' button. If that button is there, and the student clicks it, then the question goes into the 'finished' state, like when the whole quiz is submitted, so the feedback and right answer are shown (based on the review options) and the student can no longer change their answer.
What to people think of this suggestion. (We are not sure 'Give up' is the best possible button lable. Better suggestions welcome.)
I think that this solution would be great. Maybe the author could customize the button label, but this is not so big deal IMO.
As there are various possible solutions rather than a single 'right' answer, what about the following?
- "Show model solution"
- "Show a solution"
(Alternative words like "possible"/"potential" avoided as trying to keep text short).
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.