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 linux.student.cs.uwaterloo.ca. 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:
a1.pdf
a1.sql
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 linux.student.cs.uwaterloo.ca.
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