WeBWorK Main Forum

Forcing students to submit a gateway quiz when time expires

Forcing students to submit a gateway quiz when time expires

by Danny Glin -
Number of replies: 15
We run a lot of in-class gateway quizzes, and one of the hassles we always have is that the odd student will wait until after the deadline to submit their answers, and they won't be recorded. No matter how many times we warn students, there are always a few who don't submit in time.

One mitigating factor is that if the student has previewed their answers, then they are saved in the system, so at least the instructor can manually grade them, but this is cumbersome and time consuming.

Does anyone have a solution which would force student answers to be submitted when time expires, or any ideas how to make that happen?
In reply to Danny Glin

Re: Forcing students to submit a gateway quiz when time expires

by Gavin LaRose -
Hi Danny,

This was something that we discussed when the Gateway/Quiz module was designed. In the end the argument for not forcing a submit won, but it may be something that should be revisited now that we have ajax to facilitate communication between the server and client.

I think that the ideal implementation of this would be to add another flag to the Gateway/Quiz definition ("force_grade_at_time_limit"), and for tests with that property to have a process forked on the server when a test is started that wakes up at the due time and hits the client with a submit request.

There is probably also an argument for an ajax solution to ensure that the timer on students' tests is in sync with the actual time available. We have some trouble with students who insist on using the back button after previewing, which resets the timer to an incorrect time.

Gavin
In reply to Gavin LaRose

Re: Forcing students to submit a gateway quiz when time expires

by Teri Christiansen -

Hi - 

I was wondering if this issue was ever acted upon.  We also have a handful of students who never grade their gateway (or grade after the grace period has ended) and without a preview there is no score to provide.  

Now that we are doing more online, it would be great to have an auto-grade feature at the end, even just as an option. 

Thanks!

Teri

In reply to Teri Christiansen

Re: Forcing students to submit a gateway quiz when time expires

by Andrew Dabrowski -
I agree, this is an essential feature whose absence is more regrettable with our current forced dependence on online quizzes.
In reply to Andrew Dabrowski

Re: Forcing students to submit a gateway quiz when time expires

by Michael Gage -

I think this is a matter of modifying the javascript.  Any experts in javascript interested in taking this up?

In reply to Michael Gage

Re: Forcing students to submit a gateway quiz when time expires

by Glenn Rice -

I agree that this is needed.  I am not claiming to be an "expert" in javascript, but I will try to take a look at it.  Our semester ends early (due to starting early), so I have a month and a half coming up.

In reply to Michael Gage

Re: Forcing students to submit a gateway quiz when time expires

by Alex Jordan -

Two observations:

  1. There is a grace period (I think 2 minutes by default) when answers may still be  submitted. If the javascript clock runs down, some thought should go into having the automated submission happen when t=0 or happen when the grace period ends.
  2. Possibly the more common scenario is a user closing the browser prematurely. In that case, of course there can't be an automated submission when t=0. It would be good to have one of those popup dialogues that say something like "you are closing the browser with a timed test running; are you sure you want to close now? Do you want to submit answers first?"
In reply to Alex Jordan

Re: Forcing students to submit a gateway quiz when time expires

by Andrew Dabrowski -
"Possibly the more common scenario is a user closing the browser prematurely. "
I don't think so, I think the greater danger is that a student is unaware of how much time has passed, wants to work to the very last second, and fails to submit in time.
In reply to Andrew Dabrowski

Re: Forcing students to submit a gateway quiz when time expires

by Alex Jordan -

> "Possibly the more common scenario is a user closing the browser prematurely. "
I don't think so, I think the greater danger is that a student is unaware of how much time has passed, wants to work to the very last second, and fails to submit in time.

That could be. The reason I think it may go the other way is that there is a popup alert when you are getting close to time ending. Multiple, actually. I forget when the times are, but maybe 2 minutes out, 30 seconds out, and again at t=0. And even then, there is a secret 2 minute grace period where you can still hit Submit and get credit. So a student who is still there would have to be ignoring or not seeing these alerts. Which is of course possible.

In reply to Alex Jordan

Re: Forcing students to submit a gateway quiz when time expires

by Danny Glin -

The one big concern I had with having the javascript automatically submit a student's assignment is that the javascript is client-side.  I have seen too many instances of the javascript timer becoming inaccurate due to the actions of a student.  For example, if a student navigates away from the gateway quiz page, and then uses the back button to return, the browser loads a cached copy of the page, and the timer picks up from where it was when the student left the page.

As Alex mentions, there are popups that happen when the student is running out of time.  I believe that they are at 90 seconds, 45 seconds, and t=0.  Perhaps  the final alert could be changed to a popup that says "You are out of time.  Click here to submit".  This at least doesn't force an action that could happen at the wrong time.

I think the more fundamental problem is that the Gateway Quiz module is not set up to save student answers as they progress through the exam.  This means that if a student doesn't submit in time, there is no record of anything they entered because it was never communicated to the server from the browser.  In Gateway sets, clicking "Preview answers" does save what the student entered to the database, so perhaps the "Preview Answers" buttons and links should be changed to "Preview and Save Answers".  At the very least, if a student has previewed their answers the instructor can go back and manually submit them for grading.

It's also worth noting that the Gateway grace period can be customized, so during these times of online testing you could increase that value for the course to give students a little more breathing room.

In reply to Danny Glin

Re: Forcing students to submit a gateway quiz when time expires

by Glenn Rice -

Danny, I agree with you that there are problems with having client side javascript doing these things.  Although, it still would be a beneficial feature.  In most situations it should work well.  The real problem would be if the javascript submitted the exam early before the timer expired.  However, that wouldn't happen.  The problem that would occur is that the javascript would be too late, and that is not as serious.

I prefer to design gateway quizzes to have one problem per page.  This makes the gateway quiz resemble the homework more, but more importantly, if the page is changed the answers are saved.

If the javascript is done right and WeBWorK is designed to handle it there would be Ajax requests that save students answers and synchronize the javascript timer with the server timer at regular intervals.

In reply to Glenn Rice

Re: Forcing students to submit a gateway quiz when time expires

by Andrew Dabrowski -
Changing "Preview" to "Preview and Save Answers" is a good idea.

"Perhaps the final alert could be changed to a popup that says "You are out of time. Click here to submit"."

Could that be a modal dialogue so that students can no longer enter answers?
In reply to Danny Glin

Re: Forcing students to submit a gateway quiz when time expires

by Alex Jordan -

I'll mention something that MyOpenMath does. If a deadline passes, the student can still submit answers that are scored and recorded (somewhere). However, these are not counted as grades for the student unless an instructor gives that an OK. The instructor is given a message somewhere that alerts them that a student submitted something late and asks the instructor if it's OK to now use those answers and scores for the real grades record. I can imagine WW behaving this way, but the database would have to be expanded.

In reply to Alex Jordan

Re: Forcing students to submit a gateway quiz when time expires

by Danny Glin -

One issue I've had with WeBWorK, but admittedly have never done anything about, is that submissions that aren't recorded for credit don't get logged at all.  This means that if a student clicks "Grade Test" too late, they get a message saying that their submission wasn't recorded, but there's no record on the server that they even submitted.

It should be an easy fix to have these recorded to the answer log.  At least that way the instructor has something to work from if there is no submission.  Alex's suggestion is a better way to go, but as he says it's more work.

In reply to Michael Gage

Re: Forcing students to submit a gateway quiz when time expires

by Andrew Dabrowski -
Where in the repo would the code go that handles this?
In reply to Andrew Dabrowski

Re: Forcing students to submit a gateway quiz when time expires

by Alex Jordan -
Look in:
lib/WeBWorK/ContentGenerator/GatewayQuiz.pm

and search for this:
You are out of time.

You want to trigger submitting the form when the time runs out. (And only submitting the form once.)