Home Assignments Lecture Blog Resources Discussion Group


You are to create a report that presents a portfolio of all of your work over the semester.

For each assignment, the portfolio should include:

  1. The PS number and title of the assignment
  2. A discussion of the assignment itself and what you accomplished.
  3. A discussion of one or more key algorithms, data structures, or OO designs that were central to the assignment.
  4. A discussion of what you learned in the particular assignment.
  5. Evidence that the code ran -- e.g., screenshot, console log, text output, results of running tests.
  6. If you didn't complete any part of any assignment, the things that you didn't do, or didn't get working.
  7. Nicely-formatted source code listings for all source code comprising the assignment.


The document must be a delivered as a single PDF file.

The document should have the following sections:

  • Cover page and table of contents. This should be a single page that has your name on it, the date, and a listing of each assignment. See Attach:pp-cover.odt and Attach:pp-cover.pdf as an example.
  • For each assignment, the things above, in the order listed above.

Do NOT put all the code at the end of the document. Instead, put the files associated with each problem set immediately after the narrative for that PS.

Document Production Tools


I advise you to use the Unix utility enscript to make formatted versions of your source code files. The -C option adds line numbers (which you can then use in your narrative to refer to specific sections). I like the --margins=50:50:50:50 to set up the margins nicely. Use the -o option to direct the output to a file.

This will produce a PostScript (ps) output file. Then, use ps2pdf to make a PDF file.

E.g., for the GuitarHeroLite.cpp starter file, use these commands:

enscript -C --margins=50:50:50:50 GuitarHeroLite.cpp -o

and then you will have a file named GuitarHeroLite.cpp.pdf.

A word processor that outputs PDFs

Use any word processor you like and save individual assignment narratives as PDF files.


Use the Unix utility pdftk to assemble separate PDFs into a single one.

If you name your files like this:


Then you can assemble these using:

pdftk ??_*.pdf cat output section_name.pdf

Create numbered sections for each assignment, then assemble them into the whole PDF.

Turn in

Turn in complete portfolio as a single PDF file. Make sure to include your real name in the file name.

  submit fredm 204-pp filename_with_your_name.pdf