You are here

Practical Submission System

Printer-friendly versionPrinter-friendly version
This page is intended as an overview for teaching and computing staff.
→ Students: If you're looking for information on using the submit command please see the Submit page.
→ Computing Staff: see also the Submit Service Guide.

Introduction

The electronic practical submission system currently most widely used in the School is submit. Students use the submit command to submit their work for a practical. This command is fully documented on the manpage (do man submit on a DICE machine) and is not covered here -- this guide is for those users that need to access the submitted work.

Submit Group

Anyone who needs to access submitted work must be a member of the submit UNIX group. Most academic staff will already be a member of this group, but often MScs and PhDs who are assigned demonstrating or marking duties for a course are not. In order to be added to this group please contact computing support.

Course Data

The submit system manages practical submissions based entirely on data held in Theon (the School Database). This includes such things as the course and individual exercises for the course. It can also include tutorial groups (often submissions are grouped into directories based on tutorial group so it is easier for individual tutors to pick up the exercises they need to mark). Before you can use the submit system for your course you need to make sure the ITO has all the necessary data and it is up-to-date; to do this contact the ITO.

One exception to this is the acceptable file names for submitted work. This ensures that when a submission is made only files that match certain names can be submitted. This again makes it easier for exercises to be picked up and collated for marking. You don't need to assign specific names but if you do you should use the command set_submit_file_names which is fully documented in the corresponding man page (man set_submit_file_names on a DICE machine). To use this command you must be a member of the cvs_submit UNIX group. In order to be added to this group contact computing support.

Structure

All submitted work is held in the /home/submit/submissions directory. The sub-directories within this are structured as follows:

COURSE/GROUP/UUN/EXERCISE

where COURSE is the course acronym such as "inf1-cl" or "iar", GROUP is the tutorial group name (or "default" if no tutorial groups have been defined by the ITO for the course), UUN is the username of the user making the submission (in the case of students sMATRIC) and EXERCISE is the short exercise code for the piece of work for a course. Within the EXERCISE will be the submitted files (or directories) for the student.

Processing

To collect the submissions for marking you can simply use normal UNIX commands to copy or print the work from the appropriate course directories as described above. To make this easier we provide a command called process_submissions which is fully documented in the corresponding manpage (man process_submissions on a DICE machine). This allows you to carry out a configurable operation on all submitted files matching certain criteria (such as from a particular tutor group or user or matching a given filename). By default process_submissions prints all the submitted exercises meeting the criteria but you can specify any UNIX command string. Some examples of using this command are given below.

  • process_submissions --comline "enscript --header='%u' -G -p %u %f" --file work.c fai 1
    This extracts all the submissions for exercise 1 of the fai course and saves them as .ps files in the current directory. The generated output includes a header with the name of the file and the username of the student (matriculation number).

  • process_submissions --comline "enscript --header='%u' -G -P at7 %f" --file work.c fai 1
    This does the same but prints them all out on at7 instead.

  • process_submissions --comline "cat %f > %u" --file work.c fai 1
    This extracts all the submissions and saves them as normal text files in the current directory. Each file is named according to the username of the student that submitted it.

  • process_submissions --comline "echo %u" --file work.c fai 1 | wc -l
    This tells you the total number of submissions.

Submit Command

Students should in general know how to use the submit command to submit their coursework, however it may be helpful to give examples for your particular course (like the names of exercises). For example:

  • submit dbs 1 FILENAME
    Here "dbs" is the course and "1" is the exercise tag/number.
  • submit
    The command on its own will list valid courses.
  • submit CRS
    The command with a course will list valid exercises for that course.

Submit arguments should by default permit tab-completion through the bash shell. For example, type submit to list all courses, or submit dbs to list all exercises for the course dbs.

It is advisable to either enforce the submitted filename to have no spaces within it (using set_submit_file_names described above) or just recommend students avoid this, as it can complicate the post processing (by requiring extra quoting).

Submit Machines

The submit command and all the other scripts mentioned in this document are installed on all DICE desktops and also multiuser remote login and compute servers.
Last reviewed: 
24/02/2014

System Status

Home dirs (AFS)
Network
Mail
Other services
Scheduled downtime

Choose a topic