Electronic submission of programs

In order to submit files via Blackboard, you must have access to a web browser that supports form submission over secure socket layer, such as Internet Explorer, Mozilla, Netscape, Opera, or Thunderbird. If your files are on rohan, this means that you must be running an X Windows session (see the FAQ on running X-Win 32 from PCs with X-Win 32) or that you must have transferred the files to a machine with such a browser. If you need to transfer files, I would recommend using the secure copy or secure ftp protocols. On Windows boxes, I recommend WinSCP for people who like graphical interfaces, or cygwin for those of us who prefer command-line interfaces. If you decide to use ftp (which is not a good idea as it will transmit your password without encrypting it) instead of secure ftp, be sure to set binary mode before transferring files. If you are using Linux, secure copy and secure ftp should have come with your distribution. As recent MacOS's are built on top of a UNIX system, I would suspect that they may come with secure copy/ftp.

File Submission

You should submit all source and documentation files as well as the Makefile if you have been requested to create one. Do not submit executables or object (.o) files.

To submit files, do the following:

  1. Log in to blackboard and select your class.
  2. Select assignments and then select the assignment that you wish to submit.
  3. Use the browse button to repeatedly add the files you wish to submit. Remember that they must be stored on the same machine as that of the browser that you are executing. Do not add the same file twice. This breaks Blackboard and makes for an unhappy and cranky professor. You may find it easier to use the package script (described below) which will place all of your files in one archive for you to submit. If you are not sure which files to submit, you can use the package script with the -l option and it will list the files to submit.
  4. Click on submit. Do not click on okay, this will not submit the files (user interface design at its best :-).

Note for pair programmers

If you are in a class that allows pair programming, only one of the programmers should submit.

Packaging your files into a single archive to submit

As an alternative to adding each file separately, I suggest using the package script which is located in ~mroch/bin/package on rohan. To use package, you must either add ~mroch/bin to your PATH variable (see the course FAQs) for details or type ~mroch/bin/package each time that you wish to use the script.

  1. It is assumed that all of your files are contained in a separate directory.
  2. Set your current working directory to the directory containing the program that you will be submitting.
  3. Execute the package script. It will create an archive of all files except your executables, object files (.o), and files that terminate in the character ~ (emacs backup files) in the current working directory. By default, the package file is called assignment.tgz
Suppose that you had stored assignment 2 in the subdirectory cs570/assignment02. The following would be used to create the package.
rohan> cd cs570/assignment02
rohan> ~mroch/bin/package

Source directory:   .
Package name:   assignment.tgz

Package assignment.tgz contains 
./a02.C
./Makefile
Ready to submit.

rohan> ls
Makefile        a02             a02.C           a02.o           assignment.tgz

Note that the executable a02 and the object file a02.o were not added to the archive. If you had made the appropriate PATH variable modifications, you would have been able to type "package" instead of "~mroch/bin/package". Note that if you need to transfer assignment.tgz to a different computer and you are using ftp, you will need to set binary mode (type "binary" at the ftp prompt). If you are using scp or sftp, you need not worry about setting binary mode, it is done automatically.

If you just want to see what files would have been added, you can execute package with the -l (list only) option.