Projects and lab will be submitted to the CS department AFS file server. The submission directory is specified below. There are several ways to get your assignments up to the server as described below.
| Course Submission Directory: | /afs/cs.pitt.edu/public/incoming/CS401/pdillon/<assignDir> |
| JavaLab SSH/Telnet address: | javalab.cs.pitt.edu |
| CS Anonymous FTP address: | ftp.cs.pitt.edu |
| Pitt SSH/Telnet address: | unixs.cis.pitt.edu |
| Pitt FTP address: | unixs.cis.pitt.edu |
.java files that you write or that are supplied for the
particular assignment. In other words, you must submit all the source files that
are needed to compile the assignment using javac and the standard
Java API.The above files must be zipped into a single ZIP archive for submission with the following name:
<Your-Last-Name>.zip
Your ZIP archive must be copied to the appropriate subfolder of the Course
Submission Directory. Each lab and project will have its own subdirectory whose
name is descriptive of that assignment. For example if I was submitting the
first project and the project's directory was proj1, I would copy the my
ZIP archive to:
/afs/cs.pitt.edu/public/incoming/CS401/pdillon/proj1/
Incorrect submissions, projects submitted to the wrong directory or with
missing files, can be corrected up until the submission deadline. You do not
have permission to access or remove files in the submission directory; so
corrections must be requested through the TA. If time becomes an issue, rename
your corrected ZIP archive to <Your-Last-Name>2.zip, resubmit
it, and notify the TA.
Most of you should be familiar enough with Windows to create a ZIP archive. If not, free software, such as WinZIP, can be downloaded to create archives. Alternatively, right-clicking on a folder or set of files, selecting "Send To" in the popup menu, and then selecting "Compressed (zipped) folder" will make a ZIP file.
The following command:
$ zip archive.zip assign1.java assign1Helper.java
creates the file, archive.zip, containing the files assign1.java
and assign1.Helper. Any number of files can be specified on the
command line after the name of the ZIP file to create, all of which will be
added to the ZIP file. NOTE: This example creates a ZIP file in
the current working directory of your terminal window. You can specify an
alternate directory as a path before the name of the zip file:
$ zip ../public/cs401/archive.zip assign1.java
You can also do the same to specify an alternate directory from which to get the files to add to the ZIP file:
$ zip archive.zip ../private/cs401/assign1.java assign1Helper.java
ALSO NOTE: Care must be taken if a path contains a space character.
The University provides each of you with 5MB of network (AFS) storage space. You
can access this space when you log into the Java Lab computers or SSH/Telnet/FTP
to the Pitt sites. The path to this space when you log in depends on your
username; so, for me, my username is pad26 and my directory is
/afs/pitt.edu/home/p/a/pad26. Yours is similar where the first two
characters determine the last two subdirectories in which your space is located.
This directory is called your "home" directory and is the directory in which the
terminal window will be working when you first log in (i.e. if you do the
command, pwd, when you first log in, it will print this directory
and ls will list the contents of it. You have full control over the
files and directories under this directory, and, in Lab 1, you created
private/cs401 under here. It's not a bad idea to store your
projects and labs in this space since it automatically gets backed up nightly.
To connect to the javalab computers remotely, you'll need an SSH client, such as F-Secure or
Putty,
installed on the PC from which you're connecting.
Any SSH client will in one form or another prompt you for an address. Enter the
JavaLab address above, javalab.cs.pitt.edu. You'll then be prompted
for your Pitt username and password.
Once connected, you'll see your UNIX prompt and you can operate as if you were
in the lab.
If the PC on which you're working does not have a SSH client, Windows
provides a basic (insecure) telnet program. The javalab
computer do not directly allow connections from telnet users, though,
mostly to protect you. But you can login into the Pitt UNIXS machines,
unixs.cis.pitt.edu, which have a Java SDK available (probably an older version,
though) and provide access to your AFS space. To connect to the javalab
machines, try the following:
hostname to see that you're connectedjava -version and determine the version of Java on the
UNIXS machinesssh javalab.cs.pitt.edu to connect to the Javalab machinesFor example purposes, lets assume we're trying to submit javaProj.zip to the proj1 directory of the submission directory.
Assuming you're connected to the Javalab or UNIXS machines (anywhere that
provides AFS access), the simplest way involves using the cp
command. To do this, we need to know the directory in which our terminal window
is currently working and the path to our javaProj.zip file. If this is in the
current working directory we can type:
$ cp javaProj.zip /afs/cs.pitt.edu/public/incoming/CS401/pdillon/proj1/
But, if we've used the cd command such that the current working
directory is now the directory where we want to copy javaProj.zip to, then we
can type:
$ cp ~/private/cs401/proj1/javaProj.zip .
This is assuming javaProj.zip was in the private directory of our AFS home directory in the cs401/proj1 subdirectories. The dot at the end refers to the current working directory, meaning the destination of the copy command should be right here. The ~ is a shorter way of referring to our home directories, the big long /afs/pitt.edu/home/yada/yada/yada, which is a lot to type.
FTP clients vary far and wide in their use. Internet Explorer integrates FTP by simply starting the URL address with ftp:// (e.g. ftp://ftp.cs.pitt.edu). From there it transfers files by drag and drop. If you'd like another client, try F-Secure or WS_FTP. Assuming you've connected, enter the following login info (if prompted):
Username: anonymous
Password: <Your Email Address>
Once connected, we need to change to the proj1 directory, which is in the following directory:
incoming/CS401/pdillon/
We can then put javaProj.zip here
NOTE: Be careful when FTPing to be sure you're transferring in the proper direction. If multiple copies exist on your local hard drive and your AFS space, you don't want to copy the older of the two over the newer!!!
Use this primarily to backup your work if you're working on your PC. Here use the same FTP client, connecting to this address, but enter your Pitt username and password to login. You'll be presented with your home directory first in which you can store your projects for safekeeping if you so choose. You could then log in remotely, as described above, and use the copy command to submit your work. Alternatively, you can change your FTP clients remote working directory to the submission site directory and upload your ZIP file directly.
Be extremely careful when FTPing your projects, especially when multiple copies exist on your local hard drive and your AFS space. If you transfer a file in the wrong direction, you may inadvertently copy over the newer of the two version and lose work!!! Also, be sure to user BINARY transfer mode when copying anything except text files. Copying a ZIP file in ASCII mode will corrupt the file.