Setting up submit command for assignment submission

Students can use the submit command to submit their homework. The students' submissions will be copied to the handin folder in the course account. This page describes how to set up submit for an assignment.

The steps below use csNNN and aX as examples. Replace csNNN with your course number, and aX with the actual assignment number.

Step 1: SSH into the csNNN account on If you don't have access to the csNNN course account, ask your ISC or CSCF. To check that you're in the csNNN account, run whoami command. It should print csNNN.

Step 2: You may have to back up student submissions from previous terms first.

At the command prompt in csNNN account, run: ls /u/csNNN/handin/

This will list the contents of the handin folder. If you see aX listed, back up the aX folder first. aX might contain submissions from a previous term. You can back up aX by moving the aX folder somewhere else with mv command.

Step 3: Run: mkdir -p /u/csNNN/handin/aX

This creates a folder called aX inside the handin folder.

Step 4: Run: cd /u/csNNN/handin/aX to go to the newly created aX folder.

Step 5: Run: nano .subfiles

Make sure to include the period before "subfiles". This command will open a text editor called nano to edit/create the .subfiles file. If you prefer a different text editor (ex. vim or emacs), you can use that instead.

Step 6: Type the files that students are expected to submit, one file per line. For example, if students are expected to submit exactly two files named a1.pdf and a1.sql, you should type in:


You can use wildcards to match anything. For example, to match "a1." followed by anything, type in a1.*

Step 7: Save the file as .subfiles. If you're using nano, do this by pressing Ctrl+x. A prompt will appear at the bottom to confirm you want to save the file. Press y for yes, then press Enter to use the filename .subfiles.

Step 8: To check that the .subfiles file was created properly, run: cat /u/csNNN/handin/aX/.subfiles

This will display the contents of .subfiles. Check that it's correct (ie all the files students are expected to submit are listed, one per line).

Step 9: Run: cd /u/csNNN; /u/isg/bin/deadline aX o

After the aX, there's a space, and then a lower case letter "o". This command opens the assignment up for submission.

Step 10: Now we'll double check that submission is open. In a new Terminal window, log in as yourself on

Run: submit csNNN -L
You should see aX listed and is "on time"

Run: submit csNNN aX -L
You should see the files that students are expected to submit listed.

Step 11: Now we'll create a Linux "at" job that will prevent students from submitting to aX after the assignment is due. Students will have to submit to aX_late, which will be listed when students run submit csNNN -L.

Run: cd /u/csNNN

Then run: echo '/u/isg/bin/makelateclone aX aX_late' | at 5:00PM 06/23/2017
The character before "at" is the pipeline (usually near the Enter key on your keyboard). Replace the time and date with the assignment's due date.

Step 12: To check that the previous step was done correctly, run: atq

You should see something like:
job 3 at Fri Jun 23 17:00:00 2017
Make sure the date and time is correct (it should be the due date of the assignment, which you entered in the previous step).

Run: at -c 3
Replace 3 with the number after "job" when you ran atq. You'll see a bunch of output, but at the bottom it should say:

/u/isg/bin/makelateclone aX aX_late

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