Homework Submission | Computer Science | SIU

Southern Illinois University



College of Engineering, Computing, Technology, and Mathematics

Homework Submission

(under Linux Platform Only) 

Instructions for Students

How to Electronically Submit Your Homework Under Linux

Note: Not all classes use this service. It is up to your instructor to decide if this service is used for homework submission for the class. This service is only available on the Linux platform.

If you use Linux in ENG A408/410 Lab, you have to ssh to pc00.cs.siu.edu or pc01.cs.siu.edu to run submit command.

Ask your instructor for the name of the command used to submit homework. The name of the submission command looks something like "cs306submit".

The following uses "cs306submit" as the example to illustrate how to use the submission command to submit homework.

Usage of the "cs306submit" command


The command "cs306submit" (without quotes) under our Linux systems allows you to submit files and directories electronically to the cs306 instructor.


Login to any Linux workstation in the Computer Science Program using your CS account.

The syntax of the "cs306submit" command is as follows:

Syntax 1:

cs306submit [ files | directories ]

This command will remove what you have submitted to the cs306 instructor previously and re-submit the files or directories to the cs306 instructor.

[Note] you should have group execute permissions for the directories in the file path you submit, otherwise you will get a "permission denied" error.

Example: To remove what you have submitted to the cs306 instructor and re-submit the files lab1.c, lab1.h, and Makefile, which are all under the current directory, to the cs306 instructor:

cs306submit lab1.c lab1.h Makefile

Syntax 2:


This command, without any parameters, will list all the files or directories that you have submitted to the cs306 instructor.

Instructions for TAs/Instructors

How to Let Students Submit Their Homework Electronically to You (under Linux Platform Only)

Note:TAs should get a grader account for the course from the course instructor first in order to use this service.

Course cs306 is used below as the example for illustration

The grader accounts, cs306, which is for Course cs306, is used here as an example to illustrate how to use the homework submission service in the CS program.

Before students can use the homework submission command, "cs306submit" in this case, to submit their CS306 homework, whoever holds the grader account for the CS306 course must log in using the grader account, "cs306" in this case, to create a directory called "submissions" under the grader account’s home directory. Otherwise, students will encounter an error saying “Submission has not open yet” when submitting.

The permission on the "submissions" directory must be 700 to avoid security problems. (A command that can be used to do so is "chmod 700 submissions")

When a student uses the submission command "cs306submit" to submit his homework, the submission command will first create a sub-directory, named after the student’s login ID, under the "submissions" directory of the cs306 account. Then, the submission command will copy whatever the student is submitting into the newly created sub-directory. A student can use the submission command to submit their homework multiple times, but only what he submits last is kept.

During submission, a file called "studentlist.txt" is created or appended in the "submissions" directory. The purpose of this file is to store the translation from the students’ login ID to their real name.

After the homework is due, it is suggested that the "submissions" directory should be renamed to a different name, such as submissions-lab1. This serves two purposes:

  • it closes the submission; and

  • it prevents students’ next homework submission from overwriting their current homework submission. Of course, the submissions directory should be recreated when the next homework submission begins.