As we are now implementing now CodeRunner for evaluating our students, we are wondering if there is any way to fix a time limit for a CodeRunner Question. I mean, for example, if the student, behind his screen, does not propose a code solution for the 10 minutes to come, then Moodle considers the question as failed, and would, for example, propose the next problem to solve.
Is there any may to do that in CodeRunner, or at the test level in Moodle ?
Thanks a lot for this very useful plugin.
Pierre, from Paris, France
Sorry, but I don't think this is feasible. Quiz questions are in general presented to the student with multiple questions on a browser page. Any per-question timeout would have to apply from the time the page was rendered and if different questions on the same page had different timeouts it would be seriously confusing to a student trying to figure out which question to attempt.
If the page were refreshed, or if the student moved forward in the quiz looking for an easier question to answer first, then moved back, what would you expect to happen? Restarting the timer from when the question is re-rendered wouldn't make sense - students could defeat the system just by regularly refreshing the page. On the other hand, if you didn't restart the timers on the new page, any time spent on a different page would essentially get deducted from the times of any already-displayed questions on different pages.
And apart from the difficulty of implementing this, I'd really hate having to document exactly how timeouts behaved. And I'd hate even more having to explain it to students about to sit an exam :)
Thanks a lot Richard for this clear reply.
I think that in march we will provide CodeRunner problems for our Java Intro Course.
I will then give our feedback.
Very kind of you to be so effective.
You can set time limits for quizzes and then have open attempts automatically submit when the time runs out. While not exactly what you are purposing, I suppose you could use 1 of two workarounds:
- Divide the time you want for each question by the number of questions and set that for your quiz time. (For example, 5 questions with 10 minutes per question gives your quiz a total time of 50 minutes) They would be able to spend more time on some questions and less on others, but would still average 10 minutes per question.
- You could make separate quizzes for each question with the question time limit. Similar to the previous example, you would make 5 quizzes with 1 question each, each with a time limit of 10 minutes. Then, if the student isn't done at the 10 minute mark, it submits that quiz as a zero and then they can move on to the next question(quiz really) that has its own 10 minute time limit. The downside to this is you would get 5 individual grades instead of one cumulative one.