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.
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.
- 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?"
> "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.
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.
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.
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.
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.