CSC 101 / CPE 101:
Fundamentals of Computer Science 1
The "handin" process
All program assignments, and occasional lab tasks, will be submitted using the handin facility. As with many technology tasks, there's both a novice and an expert way to approach the process. And, once again typically, because the novice approach omits a few potentially intimidating initialization steps, it actually requires more typing on an ongoing basis than does the more advanced approach.
This description will begin by explaining the basic or novice approach. If you are satisfied with that, you can just continue to use it throughout this term (though later courses will likely required you to move beyond this). If you are interested, however, once you have mastered the basic approach, feel free to then move on to the intermediate and/or advanced versions.
The Basic Process
Before you can handin your assignment, you must:
- copy the file(s) you wish to submit to your Unix account (using an ftp tool), and
- actually log in to your Unix account (using a terminal application).
Then, to use the handin facility at this level, you will perform at least three steps:
- Change directory:
Use the Unix cd command to move to the location where you have stored the files you plan to submit. For example:
- To submit file(s) saved in your csc101 directory, use cd csc101
- To submit file(s) saved in the Program_4 subdirectory of your csc101 folder that you have placed in a directory called coursework, use cd coursework/csc101/Program_4
- Preliminary Set-up:
Whenever you login to your Central Unix account to handin an assignment, the very first thing you should do is to execute the exact command shown below:
-
unix prompt %
source /ulib/csc/lib/101paths
Notes:
- You do not type "unix prompt %" yourself. Instead, that means to wait until you see a prompt, often a % character, indicating that the Unix system is ready to accept your input, and then you start typing from the next word on the line.
- You should press the enter or return key at the end of each line of input described in this document.
- If you typed the above correctly, you should see a response that says something like:
Setting up csc101 environment...done.
You need to do this only once per login session. If you forget, and don't do it, you'll get an error when you try to use handin (the system will tell you it is not able to find the handin command). If you forget that you already did do it at least once since logging on, and do it again, that won't hurt anything (it'll just give you that same confirmation message again).
Alternatively, if you don't want to have to bother type this "source" command every time you log in to submit a file (although you will still need to use the "handin" commands described below), see the Advanced Features section at the end of this document.
- The actual handin process:
To hand in
for turner's section
to one of the available assignment folders
your own homework file(s),
the complete command is, which you enter after the system-generated Unix prompt (%) indicated, is ...
- if you are csturner's sections:
-
%
handin
csturner
Assignment
file1 file2 ...
A First Example:
Once you have logged in, and navigated to the directory in which you previously placed the file you want to submit (here, we'll illustrate with a file called TestProgram.java), and want so hand that in to your course and section's Test folder...
- if you are in turner's sections, type:
-
%
source /ulib/csc/lib/101paths
%
handin
csturner
Test
TestProgram.java
Notes & reminders:
- Be sure that you:
- type the source command line, exactly as shown, once per session, and
- substitute your own couse-section, target folder, and file name with your own details for the handin command, for each handin command you want to execute.
- Be sure to use spaces and capitalization exactly as shown!
- Wait for the % prompt: don't try to type it yourself.
- Press the enter or return key after each line of input.
- Be sure to logout from your Unix account when you are done.
Some Extra Features:
- Question: How do you know if your handin has been successful?
Answer: handin will give you some feedback. Once you press the enter key after typing in the appropriate command, you should see something like this:
Submitting TestFile... ok
and then you should see another Unix prompt (%).
- Question: If that little "ok" seems kind of vague, how can you really be sure it worked?
Answer: handin has another feature that lets you check what you actually submitted. If you issue the command to:
hand in
for your course and section
to one of the available assignment folders
and you include no filenames, then you'll be told what files have already been submitted.
- An example of that: To check what you have already submitted via handin to the Test folder
- if you tried to submit work for CSC-101, Turner's Section, type:
-
%
handin
csturner
Test
Note that this particular command only lets you check what filenames were submitted. If you want to test your files, or replace an earlier submission with a newer version, see the
handin FAQ.
- But wait: How are you supposed to know what
assignment folder name to use?
Answer: handin has another feature that lets you check which one(s) are currently open. If you issue the command to:
hand in
for your course and section
and just stop there and press the enter key, then you'll be told what folders are currently open for submission.
- An example: To check what folders are currently open for handin for your course and section.
- if you are in CSC-101, turner's sections, type:
-
%
handin
csturner
The result: You should see something like this, which lists the open folder names and, in parentheses following that, a brief comment about the uses of that folder:
Existing subdirectories (comments in parentheses):
Test (Use this ONLY to test use of the "handin" system!)
Pgm1 (Program Assignment 1: Due hh:mm pm on Day, Month date.)
Late (Submit here when taking an authorized "credit day" for late work.)
That output is telling you that the three available folders are:
Test,
Pgm1, and
Late.
- Finally, please remember this safety rule: since you had to log in to your Central Unix account to run handin, you have to logout from it when you are done.
A Second Example
In a Unix session in which you want to login and then:
- find out which folder to use for Program #1,
- submit two files, named Something.java and OrOther.java, to that folder, and
- verify that they really did get submitted,
you would:
- if you are in turner's CSC 101, do this:
-
source /ulib/csc/lib/101paths
- You should just get another Unix prompt in response.
-
handin
csturner
- You should see a list of open folders, one of which is Pgm1a, so you'll use that in the next command.
-
handin
csturner
Pgm1a
Something.java OrOther.java
- You should see a message saying submission went ok.
-
handin
csturner
Pgm1a
- You should see a listing of the files you submitted.
-
logout
- This should end your Unix session
Help!!! I did exactly what you said, but....
Some of the most common issues and mistakes in using the handin facility are described on the handin FAQ (frequently asked questions) page.
There are two more things you can do, if you want.
-
There is online documentation available for handin that you can access by typing at the Unix prompt:
man handin
- If you are comfortable editing directly inside your UNIX account, you can eliminate the need to enter that source command during every session.
In your UNIX directory should be a file called .cshrc.mine to which you can add the appropriate line yourself, and save the result. Or, if there is not one, you can just create a file with that name (note that it contains two "period" characters), containing this line:
-
source /ulib/csc/lib/101paths
Every time thereafter, when you log in, your new .cshrc.mine will cause that command to be executed automatically, and you will never again need to issue that particular command.
Caution: Editing "dot files" (i.e., files whose name begins with a period) is tricky business. That is, your .cshrc.mine file (and other dot files) contain commands that are executed every time you log in. Whenever you edit them, always take this precaution (this is not just for novices: experienced programmers have learned the importance of doing this, and we encourage you to follow their lead!):
- Open a terminal session and log in to your account.
- Edit the file in question, and save your work.
- Do NOT log out. Keep that session active.
- Open another window/session, and log in again.
- Test to be sure that things still work.
What things? That you can still log in successfully, that the thing you were trying to make happen with your editing does work as you wanted, and that a sample of the things you normally do in your account still work as well.
- If everything seems OK, you can now log out of both sessions.
- If anything seems broken, log out of the second (bad) session only, go back to your first session, re-edit the file, then repeat the test process.
- Keep going, without ever logging out of the first session, until things seem to work correctly.
And, the above is not meant to discourage you! It is meant to give you guidance, so that you will be successful implementing this very useful shortcut.
Copyright © 2000
by Carol Scheftic.
All rights reserved. Used by permission.
(Thanks to Professor Phil Nico for assistance in setting up this "handin" process.)
Requests to reuse information from this page should be directed to Carol Scheftic.
Page created 29 September 2000;
last updated
29 June 2001.