USC CSD Home
 

Electronic Submission Guidelines - CSCI 531, Spring 2013

 
This page contains information about electronic submission for project and homework assignments. Starting this semester, we will be using a new submission software called bsubmit. It behaves very differently from the old submit program that you are used to.

Check the server time at the submission server.

 
Platform for Projects
You should use your USC accounts and preferably work on the Solaris machines via ssh for testing. The final (submitted) program must run on nunki.usc.edu because we are going to test it in that environment. But you should not do there the whole program development, as nunki is a general purpose server - under heavyuse from many students.
 
Languages for Projects
You can use either C or C++ for your project. Files must be named as follows ...
LanguageTypeAllowed Extensions
C or C++Headers.h
CSource.c
C++Source.C,.cc,.cpp
 
Compilation for Projects
You must have a Makefile for your program even in the case of single file submission. Please read the information on Makefile very carefully because it may have great affect your project scores. So, make sure you verify your submission before you submit!
 
README File for Projects
You must include a README file to comment on anything pertinent to someone trying to run/grade your programming assignment. Please read the requirements about the README file. If you have nothing to say in your README file, please state that the file is left blank intentionally.
 
On Time Submission
Due to clock skews, electronic submissions of projects and homeworks assignments will be accepted within 15 minutes after the specified deadlines without penalties. If you submit with the next 24 hours, you will receive 75% of your grade. Although in the first 50 minutes of this period, you will only lose 1% of your grade every 2 minutes. You will receive a score of zero after the first 24 hours (and your assignment will not be graded).
 
Submission
When you are ready to submit it for grading, you must:
  1. Create a gzip compressed .tar file containing all the source files needed to compile your project. Do not add .o files, executables, or core files to the .tar file. Please note that including .o files, executables, or core files will result in an automatic deduction of 10% of the points allocated to the corresponding project. For example, if your project (with Makefile, README, some .c and some .h files) resides in a directory named hw1 in your home directory, this must be done by (if your source code filename extensions are not .c and .h, you should replace .c and .h by what you want to submit):
        % cd ~/hw1
        % /usr/usc/bin/gtar cvzf hw1.tar.gz Makefile README *.c *.h

    Please note that the 2nd commandline argument of the gtar command above is the output filename of the gtar command. So, if you omit hw1.tar.gz above, you may accidentally replace one of your files with the output of the gtar command. So, please make sure that the first commandline argument is cvzf and the 2nd commandline argument is hw1.tar.gz.

    If for some reason you cannot run the commands above and decide to use another method, you must inform the TA and the instructor through e-mail as soon as you submit your assignment.

    For homework assignments, the only acceptable formats are ASCII text, PDF, Postscript, and HTML. All other formats will receive a score of zero. If you are planning to submit PDF, Postscript, or HTML files, please make sure in advance that your machine is capable of generating files in the format you want and that you are familiar with the procedure.

    It is recommended that you extract the .tar.gz file you created to a temporary directory somewhere else, and try compiling and running your code there. This will provide some assurance that your project submission will work at grading time. Please see the verify your submission section below.

  2. Submit the .tar.gz file you created, use the bsubmit executable in the ~csci551b/bin directory on nunki.usc.edu (or any Solaris machine which you can find ~csci551b/bin/bsubmit). The syntax is:
        ~csci551b/bin/bsubmit upload -email your_email -event event_id -file submission_file
    Please note that this bsubmit submission software is new and behaves very differently from the old submit program you are used to.

    The first line above is to configure the submission software for the e-mail address where you will receive notifications from the sever.

    The event_id for each assignment is different:

    Assignment event_id
    Homework #1 bourbon.usc.edu_80_1291227186_88
    Homework #2 bourbon.usc.edu_80_1291227186_89
    Homework #3 (TBD)
    Homework #4 bourbon.usc.edu_80_1291227186_90
    Homework #5 bourbon.usc.edu_80_1291227186_91
    Homework #6 bourbon.usc.edu_80_1291227186_92
    Homework #7 bourbon.usc.edu_80_1291227186_93

    Therefore, you should submit the projects by doing:

        % ~csci551b/bin/bsubmit upload \
              -email `whoami`@usc.edu \
              -event bourbon.usc.edu_80_1291227186_88 \
              -file hw1.tar.gz
        % ~csci551b/bin/bsubmit upload \
              -email `whoami`@usc.edu \
              -event bourbon.usc.edu_80_1291227186_89 \
              -file hw2.tar.gz
        % ~csci551b/bin/bsubmit upload \
              -email `whoami`@usc.edu \
              -event (TBD) \
              -file hw3.tar.gz
        % ~csci551b/bin/bsubmit upload \
              -email `whoami`@usc.edu \
              -event bourbon.usc.edu_80_1291227186_90 \
              -file hw4.tar.gz
        % ~csci551b/bin/bsubmit upload \
              -email `whoami`@usc.edu \
              -event bourbon.usc.edu_80_1291227186_91 \
              -file hw5.tar.gz
        % ~csci551b/bin/bsubmit upload \
              -email `whoami`@usc.edu \
              -event bourbon.usc.edu_80_1291227186_92 \
              -file hw6.tar.gz
        % ~csci551b/bin/bsubmit upload \
              -email `whoami`@usc.edu \
              -event bourbon.usc.edu_80_1291227186_93 \
              -file hw7.tar.gz
    respectively. Please note that `whoami` will be replaced by your nunki login ID, and therefore, `whoami`@usc.edu is your USC e-mail address.

  3. Check the output of the bsubmit program carefully. It should tell you:

    • where a copy of your submission is stored,
    • where the upload ticket is stored,
    • where the receipt is stored,
    • and at what time did the server received your submission.

    By default, these files are stored in:

        ~/.bistro/tickets/$evid
    where $evid is the event_id for the corresponding event.
Please also check the output and make sure that you have submitted to the correct event.

The bsubmit program can be used multiple times for a given assignment. A later (on time) submission is considered to supersede previous submissions. If you would like us to grade an earlier submission instead of the last on time submission, you need to send e-mail to the grader, the TA, and the instructor within 12 hours after deadline.

 
Verify Your Submission
After you submitted hw1.tar.gz, you should verify what you've submitted can be compiled as is. Let's say your hw1.tar.gz is in your ~/hw1 directory. Do the following on nunki.usc.edu:
    % cd ~/hw1
    % mkdir xyzzy
    % cd xyzzy
    % gunzip -c ../hw1.tar.gz > hw1.tar
    % tar xvf hw1.tar
    % make
    % cd ..
    % rm -rf xyzzy
Before you run the mkdir command, make sure you don't have the xyzzy directory. If you do, delete it. A few things to note:
  1. If the gunzip command failed, the hw1.tar.gz file your've submitted is not properly gzipped.
  2. If the tar command failed, the hw1.tar.gz file your've submitted is not properly created.
  3. If the make command failed, you probably forgot to include something in your submission. Please remember that if this does not work, you may lose quite a few points.
  4. If any of the above failure occurs, you must recreate your submission and submit again and verify again.
 

[Last updated Sat Sep 19 2020]    [Please see copyright regarding copying.]