How to use the handin command to submit your work.
The handin
command it a tool installed on the CSL servers that allows you have submit electronic copies
of your work to a grading account. There are a few important
preconditions that must be met for you to use handin, they are:
- You must be logged in your account on one of the CSL servers.
- The files you wish to submit must be on the CSL servers.
- You must know the name of the account you are submitting to.
- You must know the name of the assignment you are submitting to.
The handin
command, itself, is fairly straight forward. If you forget how to
use it simply enter the command at the prompt and some basic
instructions will appear that should help you to remember how to use
it. If you do so, you should see something very similar to this
(the prompt may vary depending on your account settings):
12:01pm unix1 ~$ handin
Usage: handin touser [subdirectory [file...]]
12:01pm unix1 ~$
Lets examine the Usage: instructions, above, in detail. The touser
is the name of the user-account you are handing in to. Your
instructor will provide this account name to you. For Mammen's
classes use kmammen-grader
as the touser account name. The use of the sqaure-braces, '[' and
']' typically, and in this case, indicate optional parts of a command.
This means you may or may not provide a subdirectory name and/or files. The subdirectory is also known as the assignment name. The file...
indicates you may specify from zero-to-N files to be handed in.
That's all there is to it. Now let's look at each form of
the command and examine its behavior in more detail.
If you type in the handin command with a valid touser
(a user-account name) you'll see a list of available subdirectories
(assignments). Take a look at the following handing command.
Notice that there is a single subdirectory/assignment called 102Lab01 available. During the quarter you'll see the various lab, lab quiz, and program assignment names appear as they become due.
12:01pm unix1 ~$ handin kmammen-grader
Existing subdirectories (comments in parentheses):
102Lab01
12:01pm unix1 ~$
Use this form of the command (above) to see what assignments, if any, may be
available for handing in to. This is handy if you can't remember
an assignments name or are having trouble with handin - you may just be
specifying an assignment name incorrectly. Note that assignment
names are case-sensitive and that just because you see an assignment
name listed does not mean it is available for handin since it may be
after the assignment's due date.
Next, lets see how handin behaves when you specify both a touser (user-account) and a subdirectory (assignment name). Here's what you'll see if you haven't handed anything in yet:
10:25am unix1 ~$ handin kmammen-grader 102Lab01
The following input files have been received:
10:25am unix1 ~$
Now lets see how handin behaves when you specify a touser (user-account name), subdirectory (assignment name), and one or more files for submission. Note that you must first change directory to the
directory containing the file(s) you wish to handin. See the Unix Tutorial if you don't know how to do this. Here's what you'll see:
10:41am unix1 ~$ handin kmammen-grader 102PLab01 Driver.java Lab01.java
Submitting Driver.java... ok
Submitting Lab01.java... ok
10:41am unix1 ~$
Notice what happens when you specify a file that does nto exist in the current directory.
If you misspell a file name or specify a file that does not exist
you'll see something like the following:
10:46am unix1 ~$ handin kmammen-grader 102Lab01 SomeNonExistantFile.java
Skipping SomeNonExistantFile.java: file non-existant or irregular
10:46am unix1 ~$
You can verify what you have handed in using the following command. Notice that you can see the
size of each
file and the time/date stamp for when it was handed in. This can
help you verify that you have handed in the correct versions of all of
the necessary files for an assignment.
10:42am unix1 ~$ handin kmammen-grader 102Lab01
The following input files have been received:
Sun Sep 21 10:41:50
2008 523
bytes Driver.java
Sun Sep 21 10:41:50
2008 6488
bytes Lab01.java
10:42am unix1 ~$
It is important to note that as long as it is before an assignment's
due date you can handin in the same file(s) as many times as necessary.
For example, suppose you've handed in a program and you discover
a bug afterwards. You may fix the bug and resubmit the corrected
version anytime prior to the due date. The version of the file
you handed in earlier will be replaced by the more recent submission.
Note that if you want to keep a copy of your earlier
submission(s) you must make your own backups - handin simply overwrites
the previous submission.
That's all there is to it! Be sure you are comfortable with
handin as soon as possible to avoid late submissions of your work.
Ask your instructor, peers, and/or tutors for assistance as
necessary!