Remote Access & Submission Guidelines

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.


General Info

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

What to Submit

  1. All .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.
  2. Any other data or input files needed to properly execute the particular assignment as needed by each lab or project.
  3. (For Projects ONLY) A completed Assignment Information Sheet in either text or HTML format. NOTE: You will lose points if this is not handed in!

The above files must be zipped into a single ZIP archive for submission with the following name:

<Your-Last-Name>.zip


Where to Submit

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/


When to Submit

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.


Creating a ZIP archive

Windows

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.

Unix/Linux

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.


Your AFS space

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.


Remote Access

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:

  1. Start Internet Explorer
  2. type telnet://unixs.cis.pitt.edu as the address, hit enter
    (you should now see a login prompt window)
  3. enter your username, hit enter
  4. enter your password, hit enter (the characters won't appear on the screen at all)
  5. type hostname to see that you're connected
  6. try java -version and determine the version of Java on the UNIXS machines
  7. type ssh javalab.cs.pitt.edu to connect to the Javalab machines
  8. You'll again be prompted for your password
  9. Work away!

Submitting Assignments

For example purposes, lets assume we're trying to submit javaProj.zip to the proj1 directory of the submission directory.

UNIX/Linux (when remotely connected also)

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 to ftp.cs.pitt.edu

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!!!

FTP to unixs.cis.pitt.edu

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.

FTP notes

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.