This application is designed to provide a convenient way for students to prepare their assignment code for submission as a single PDF file with the code listings and a zip archive as a PDF attachment. This application does not submit your work. It's your responsibility to submit the PDF using the appropriate channel designated by your institution before the assignment deadline.
PDFLaTeX or LuaLaTeX is used to create the PDF file. A TeX distribution (TeX Live or MiKTeX) also needs to be installed (independently of PASS).
On start-up, if multiple courses are configured to work with PASS, you'll be asked to select the appropriate course. If only one course is configured for PASS, this step will be skipped.
It's important to remember that PASS is designed to assist you in preparing your assignment for submission, but it's your responsibility to ensure that the PDF created by PASS is an accurate representation of your work. If anything goes wrong with PASS and it doesn't produce the correct output, you must report it to your lecturer before submitting your work. The first panel reminds you of this and you must agree to manually verifying that the generated PDF is accurate (by reading through it before submitting it). You can't proceed to the next panel until you have selected the "I agree..." check box.
On the next panel, you need to select the assignment you want to submit. The dropdown menu lists all the known assignments for the selected course and will default to the first assignment that hasn't past its due date.
There are also areas to supply your user name and student number
(both are required). These will be remembered next
time you use PASS. The settings are by default saved
in a file called .progassignsys.prop in your home
directory. If you want a different location, set the environment
variable PASSPROP
to the desired path.
If you are submitting a group project, select the "Group Project" checkbox, which will provide a table for you to enter the user name and student number for each member of the project. You can add new rows, delete rows or move rows up or down using the buttons next to the table.
If you need to include one or more reports with your
submission, these can also be added if they have the file
extensions .pdf or .doc or .docx.
These will be added to the document generated by PASS as attachments.
In the case of PDF files, they can optionally be included
into the document using the pdfpages package.
This option is enabled with the check box shown below the
student number in PASS's initial panel. You can also modify
the options that will be used with \includepdf
.
Be aware that there are limitations to this command. In
particular, it doesn't work if there are any spaces in
the PDF filename, so if any spaces are detected, PASS
won't use \includepdf
, regardless of the application
settings. The default option list is:
pagecommand={\thispagestyle{pass}}
Note that pages=-
(indicating all pages) is always added
to the start of the option list regardless of this setting.
PDFTeX doesn't natively support UTF-8 and this can cause a problem for the listings package if the code includes UTF-8 characters (even with the inputenc package), resulting in corrupted characters. LuaTeX natively supports UTF-8, so it will work fine with the listings package and will correctly rendered the UTF-8 characters contained in the source code. (XeTeX also natively supports UTF-8, but it doesn't work with the attachfile package.)
If your source code contains any non-ASCII UTF-8 characters (such as é or £) then select "UTF-8" in the file encoding drop-down menu. The document will be compiled using lualatex.
If your source code uses Latin-1, you need to select the "Latin-1" option and pdflatex will be used with the inputenc package.
If your source code only uses ASCII characters, then select the "ASCII" option and the document will be compiled using pdflatex.
When you're ready, click on the
button to move to the next panel.For convenience, you can select the directory containing your assignment source code (and optionally any reports). PASS will search through that directory and any subdirectories for the required files and resources. For example, if your assignment required you to create a file called Foo.java and a file called Bar.java, then those are the files that will be looked for.
If you leave the code directory field empty, you'll have to search for the individual files in the next panel.
By default, PASS will create a zip file containing a single
directory, in which all the selected source code files will be added.
If you have a complicated sub-directory structure that needs to be
retained, then select the "Use relative paths" check box. This
option is only enabled if a code directory has been supplied. The
directory structure relative to the supplied directory will be used.
If you use this option, the directory names within the relative
paths should only consist of
alphanumerics (A–Z, a–Z, 0–9) or any of the
following characters: -
(hyphen) +
(plus)
=
(equals) @
(at). Any other characters
(including spaces) will cause a problem.
When you're ready, click the
button to move to the next panel.All the source code that forms the assignment needs to be listed in the
panel. If you selected a directory on the previous panel, it should hopefully have populated the required list (where the assignment requires specific file names). If not, you will have to use the open buttons to select each file. Any associated resource files will also be listed. They will be fetched when the application is tested. Make sure that the file type drop-down list is correct.Any additional files (including project reports in .pdf, .doc or .docx format) can be added in the Additional Files area.
You may include a Makefile in the make
without a target) must
create an executable called either a.out or
a.exe; the Makefile won't be used if the assignment
specification has switched off the compile option. This facility is currently not available for
other languages. If you include a Makefile for another language,
it won't be used although it will be included in the listings.
When you're ready, click the
button to generate the PDF file.The processing panel displays a progress bar while it creates the PDF file. On completion, it will open a dialogue box for you to save the PDF file. Note that for Java, C and C++ projects, the process will also attempt to compile and run the code and include the results in the PDF.
The transcript window will automatically open while PASS is processing the files. If you close this window, you can re-open it using the "Show Transcript" menu item. You can select the text in the transcript window using your mouse or use Ctrl+A to select all the text. You can then use Ctrl+C to copy the selected text to the clipboard, if required.
Once PASS has finished the previous step, the process panel will show a green check mark if successful or a red exclamation mark if unsuccessful. An orange exclamation mark is used if the application test (compile and run the project) returned a non-zero exit code. If the PDF was generated, a save dialog box will open.
If the save PDF dialogue box was cancelled, there will be a
button if you change your mind. The button will quit the application without further prompting to save the PDF.If you saved the PDF, an
button will appear if your system supports Java's desktop management. If permitted by the desktop, this button will attempt to open the PDF using your system's preferred PDF viewer. Check the PDF for any errors before submission.