|
|
|
|
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. Please read more about bsubmit
below.
Check the server time
at the submission server.
|
|
Platform for Projects
|
You should use your USC accounts and preferably work on the
Solaris machines in the ISD computer rooms 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 ...
Language | Type | Allowed Extensions |
C or C++ | Headers | .h |
C | Source | .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 project. 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:
- 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
warmup1 in your home directory, this must be done by:
% cd ~/warmup1
% tar cvf - Makefile README *.c *.h > warmup1.tar
% gzip warmup1.tar
Please note that what follows tar cvf above is a single
dash character. It means that the generated tar file should go
to stdout. If it is omitted, the generated tar file will
replace Makefile and warmup1.tar will be a list
of files in the above example.
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.
Also, you will be doing this at your own risk!
If you submit through e-mail, please note that it can take a lot
of time for the e-mail to get delivered to the instructor's mailbox.
Depending on your e-mail client and your service provider, an
e-mail can take anywhere from seconds to hours before it is delivered.
Unless you know your e-mail server well, it's probably a good idea
to submit early this way.
Also, since the header of e-mail messages can be spoofed easily,
the only timestamp the instructor can use (in order to be fair
to all) in an e-mail submission is the time the e-mail arrived into
the instructor's mailbox.
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.
- 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 config -set email=you@yourdomain
~csci551b/bin/bsubmit upload -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 |
Warm-up Project #1 |
print $warmup1_evid ?> |
Warm-up Project #2 |
print $warmup2_evid ?> |
Final Part (1) |
print $final1_evid ?> |
Final Part (2) |
print $final2_evid ?> |
Homework #1 |
print $hw1_evid ?> |
Homework #2 |
print $hw2_evid ?> |
Homework #3 |
print $hw3_evid ?> |
Therefore, you should submit the projects by doing:
% ~csci551b/bin/bsubmit upload \
-event print $warmup1_evid ?> \
-file warmup1.tar.gz
% ~csci551b/bin/bsubmit upload \
-event print $warmup2_evid ?> \
-file warmup2.tar.gz
% ~csci551b/bin/bsubmit upload \
-event print $final1_evid ?> \
-file final1.tar.gz
% ~csci551b/bin/bsubmit upload \
-event print $final2_evid ?> \
-file final2.tar.gz
respectively.
- 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.
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 warmup1.tar.gz, you should verify
what you've submitted can be compiled as is. Let's say your warmup1.tar.gz
is in your ~/warmup1 directory. Do the following on
nunki.usc.edu:
% cd ~/warmup1
% mkdir xyzzy
% cd xyzzy
% gunzip -c ../warmup1.tar.gz > warmup1.tar
% tar xvf warmup1.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:
- If the gunzip command failed, the warmup1.tar.gz
file your've submitted is not properly gzipped.
- If the tar command failed, the warmup1.tar.gz
file your've submitted is not properly created.
- 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.
- If any of the above failure occurs, you must recreate your submission
and submit again and verify again.
|
|
|