ASTEP Assignment Submissions

The program, ASTEP, enables you to submit the file(s) containing your solution for an assignment. To submit using ASTEP you need to:

  1. Use a lab machine to submit your assignment (ie., a computer in one of the Computing Science lab rooms)
  2. Ensure you are a registered student in the course for which you are submitting the assignment
  3. Ensure the assignment has been configured in ASTEP

ASTEP refers to an assignment, a project, a lab, or a homework, etc. as a "project."

Because ASTEP saves all versions of your submissions, it is strongly suggested that you submit early and submit often.
Everytime you get something new working, submit.

How to Submit Your Assignment

The following is a template of the astep command for submitting an assigment solution:

astep [-r] -c <course_code> -p <project_code> <file> [<file> ... ]

The respective parts are


  • The course code used to indicate the course for which you are submitting your assignment.


  • The project code used to indicate which project you are submitting in the specified course.

<file> [<file> ... ]

  • The file or list of files you want collected as your solution for the given project.


  • Flag required when wanting to submit directories and their contents.
  • If a directory is specified in the list of items for submission but the -r flag is not given, ASTEP will output a warning indicating that the contents of the given directory will not be collected, and will continue on with the submission process.
  • Note: if the only item specified for submission is a directory and the -r flag is not given, the submission process will complete "successfully" with the final result being that the submission saved/collected by ASTEP will be empty.

Note: For each course in which you are expected to submit assignment solutions electronically, you must be given instructions as to the course codeproject code, and required file(s) to submit.


These instructions use an example assignment called ex5b.

You can and should use astep to submit many times well before the deadline. Your most recent submission is the one that will be marked.

  1. Open a terminal window.
  2. At the terminal window, use the Linux command, cd, to go to the appropriate directory.
    • For example, for an Eclipse project named ex5b, type in cd ~/workspace/ex5b
  3. Use the appropriate ASTEP command to submit your code.
    • For example, for ex5b type in astep -c c114 -p ex5b *.java
    • The name of the project should exist at the assignment or exercise page. Ask your TA if you are uncertain.
  4. When prompted, type in y and press the Enter key to commit your submission as your primary submission.
    • If you have problems submitting your code, ask your TA for help.
  5. Log out of Linux by typing exit.

If the output from ASTEP indicates errors in your submission, get in touch with your TA right away. Note that it is your responsibility to submit correctly, not the TA's.

In case of problems submitting, so you don't receive a zero, leave all of your work in your project folder (ie., your .java files) untouched after the deadline. These can likely be used to show that you finished your work on-time, and your work will then likely be marked with a relatively minor deduction.


The following is a sample session of a student submitting a tarfile containing the files for his solution of the project lab2 in CMPUT 229:

joeblow@uz99:~>astep -c c229 -p lab2 lab2.tgz Project
: CMPUT 229 lab2 Submission Status
: On-time Due Date
: Tue Sep 30 21:00:00 2003 Deadline passes in 5 days 12 hours 7 minutes 59 seconds Late submissions will not be accepted. Copying files
: > lab2.tgz Processing submission: joeblow c229f03 lab2 2003-09-25-08:52:01 Installing default account environment . . . Install complete. CMPUT 229
: lab2
: Finished processing submission
: joeblow c229f03 lab2 2003-09-25-08:52:01 Your submission has been received. ONLY YOUR PRIMARY SUBMISSION FOR THIS PROJECT WILL BE USED FOR GRADING. Commit this submission as primary? (Y/N)
: y Submission marked as primary. This submission will be used for grading unless you make another primary submission at a subsequent time.

An interesting scenario arises when you submit only a directory but forget to specify the '-r' flag when executing astep. The submit session would look something like:

joeblow@uz99> astep -cc201 -pasn2 mydir/ Project
: CMPUT 201 asn2 Due Date : Sat Nov 4 23:59:59 2006 Submission Status
: On-time Deadline passes in : 17 days 11 hours 17 minutes 5 seconds
Late Submissions : Will not be accepted Checking/verifying your list of files to submit... ...done. Copying files...
> mydir/ ** Skipping the contents of directory mydir/ To include the contents of mydir/ in subsequent submissions, use the '-r' flag when executing astep Submission received. Please note: Only your primary submission will be used for grading.
Commit this submission as primary (y/n)? y
This submission will be used for grading unless you commit a later submission as primary.

mydir and its contents were skipped and, in that I did not specify any other files for submission, nothing got submitted – the primary submission now contains nothing! You can successfully submit nothing as your primary submission so pay attention to what astep is reporting as it processes your submission request.

Checking Your ASTEP Submission

The syntax for requesting details of a project's previous submissions is:

astep -c <course_code> -p <project_code>


Here are some sample scenarios of checking submissions. Before checking my submission of asn2 for c201, I had first submitted serveral cpp files as my primary submission. Then I submitted only a directory, mydir, as my primary submission but did not specify the '-r' flag when submitting. Note that because I did not specify the '-r' flag when submitting and specified no other files than the directory, nothing got saved as my primary submission.

Upon execution of astep to check my submission, I see:

joeblow@uz99> astep -c c201 -p asn2 You have made the following submissions for this project:
 [01:] Wed Oct 18 10:46:26 2006 [02:] Wed Oct 18 13:42:54 2006 Enter index number for details, show (P)rimary submission, (L)ist all, (Q)uit? >

The line:

Enter index number for details, show (P)rimary submission, (L)ist all, (Q)uit?

is prompting me to find out what I want to do:

  1. Entering the index number of one of the listed submissions requests a listing of that submission. If I select each of the indexes, I see:
    Enter index number for details, show (P)rimary submission, (L)ist all, (Q)uit? > 1 Details of joeblow's submission for Wed Oct 18 10:46:26 2006 ./
    : total 68K 52K Options.cpp 4.0K tcompress1.cpp 4.0K tcompress2.cpp 4.0K tcompress3.cpp 4.0K tcompress4.cpp Enter index number for details, show (P)rimary submission, (L)ist all, (Q)uit? > 2 Details of joeblow's submission for Wed Oct 18 13:42:54 2006 ./: total 4.0K 4.0K mydir/ ./mydir: total 0

    Sigh. Any file that is under 4K bytes in size gets listed as being 4K. But notice that, as expected, my erroneous submission of the directory mydir has nothing in it.

  2. Entering 'p' or 'P' asks for a listing of my primary submission which, in my case, looks like:
    Enter index number for details, show (P)rimary submission, (L)ist all, (Q)uit? > p joeblow submitted the following files for evaluation and grading on Wed Oct 18 13:42:54 2006 /home/dsk06/astep/ark/c201f06/asn2/joeblow/PRIMARY: total 4.0K 4.0K mydir /home/dsk06/astep/ark/c201f06/asn2/joeblow/PRIMARY/mydir: total 0
  3. Entering 'l' or 'L' relists the submissions, exactly as is done when first running astep to check submissions. This is useful if you have a lot of submissions and have been checking them out so that the list of your submissions is no longer on the screen.
  4. 'q' or 'Q' does exactly what you'd expect.