The File Submission System
The file submission system allows students to submit project files over the web. These are usually student programs, but any file which fulfills some assignment may be transmitted. For each assignment, the instructor specifies what files are needed. The student sees this as a web form containing upload fields for each of the required files. The student fills in his or her name, specifies the needed files, and presses the submit button. The files are transmitted and stored on the server until the instructor retrieves them. This may be done through a web interface or using the the command line. The web interface allows the instructor to download individual files, or to download an archive of all submissions with a single click.
Many instructors receive assignment files as email attachments. The submit system is better for a number of reasons:
Spam and virus filters may drop attachments that you wish to receive.
Separating emails containing assignments is an error-prone chore. Filter rules are very helpful, but usually manage to miss a few. The submit system avoids this problem.
Even after the submission emails are separated, the attachments must be extracted and stored. The submit system lets you download submitted files, either individually, or collectively in an archive with a single click. Archives are automatically organized by assignment and student.
Students sometimes manage to send the wrong type of file, or omit something important. The submission web form presents a list of what is required. When students send files, it checks that all required files are present, have the correct extensions, and that that text files do not contain binary data. If any of these checks fails, the student is immediately informed, and the submission is refused. This saves the instructor from making these simple checks, and saves the turnaround time needed to get a correction.
The submit system stores files on the server immediately and displays a page indicating that the files were received, or indicating some error. All operations are logged on the server. This can help reduce questions about exactly when files were transmitted, and whether they may have been lost by the email system.
For instructors who use scripts to test student programs, the submit system can standardize the names of received files, making it easier to build compile-and-test scripts.