deadline — Disable/enable submissions for a particular assignment


/u/isg/bin/deadline assignment mode


Intended to be run from a course account with submit enabled. The assignment specification must match one of the assignments configured for submit. The mode specification must be one of the following:


Handin lists will be cleared; assignment will now be considered to be "on time."


List of on-time submissions will be created; assignment will now be considered "late."


All lists will be generated; assignment will no longer be accepted.


The deadline script is used to configure an assignment for the submit program used by students to submit their assignments electronically. Normally, the program will be run with mode "o" when the assignment is released, to enable submissions. At the on-time deadline, it is run with mode "l" to make it late - that is, any further submissions will be considered late, and only allowed if the student has remaining lates. At the late deadline, the program is run with mode "n" to cut off submissions entirely.

When deadline X o is run, the directory /u/csXXX/handin/X is created if it does not already exist. For students to be able to submit files, the file .subfiles must exist in the aforementioned directory. Students will only be able to submit those files listed in .subfiles. The structure of this file is one file name per line, with glob patterns like *.cpp allowed (which would allow students to submit any file ending in .cpp).

This script is designed so that it is valid to run it with any mode, regardless of the existing state of the assignment. For example, if there is only one deadline, with no late submissions whatsoever allowed, deadline may be run once only, with a mode of "n" at that single deadline, and it will correctly switch the assignment from being on-time to completely closed. Similarly, if it is decided for whatever reason to resume accepting on-time submissions for an assignment after the on-time deadline has passed, running deadline with a mode of "o" will correctly re-open on-time submissions and remove all record of lates associated with the assignment.

Normally this script is run from the command line to set up the assignments, and from a crontab file at the deadline or deadlines. It is recommended to set the time to about 5-10 minutes after the deadline in the crontab file to allow for any minor machine clock discrepancies (and just to be nice).

Reminder: To edit a crontab file, use crontab -e. Make sure that you use the same server consistently and that you choose a CPU server; hopefully this will be documented somewhere obvious on your course account (and if not, you should be sure to do this).

Tip: If your course allows resubmits, probably the best way to allow this is by creating an assignment called Xresubmit or something similar, where X is the original assignment. Do this by using the deadline command. Doing so will make things easier for both you and the students. If your course is going to create automatic late assignments as a mechanism for handling cases where submit becomes unavailable to the students, then use the command makelateclone instead of deadline.

Topic revision: r2 - 2018-04-02 - YiLee
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback