Immediate Feedback (Moodle)

Immediate Feedback (Moodle)

by Tommi Saksa -
Number of replies: 4

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.

Attachment right-answer.jpg
In reply to Tommi Saksa

Re: Immediate Feedback (Moodle)

by Tim Hunt -

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.)

In reply to Tim Hunt

Re: Immediate Feedback (Moodle)

by Tommi Saksa -

I think that this solution would be great. Maybe the author could customize the button label, but this is not so big deal IMO. 

In reply to Tim Hunt

Re: Immediate Feedback (Moodle)

by Chris Nelson -

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). 

In reply to Chris Nelson

Re: Immediate Feedback (Moodle)

by Richard Lobb -

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]

Screen dump of python3_with_feedback output

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:

  1. 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.
  2. 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.