Skip to content
Teaching Admin Tools for Faculty
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Teaching Admin Tools

Exam list and signature sheet generator

The goal of the R code is to automate the administrative part of exam preparation for faculty as much as possible, while ensuring flexibility. It currently works only with class list generated by Saint Mary's University's Banner System. It

  • can handle single section and multiple section classes,
  • reads student data from Banner files,
  • randomly assigns each student an exam number,
  • generates a xlsx masterfile,
  • generates pdfs of signature sheets and exam lists sorted by A number and last name ready for printing,
  • allows to assign only odd or even exam numbers if the exam is written with other classes,
  • allows for LaTeX compiling (for signature sheet) to be turned off at input,
  • displays a warning if there are students with identical first and last names.

Random, but reproducible sorting can be generated by supplying a numeric seed. If a seed is chosen it will be displayed next to the filename in the top left header of the signature sheet.


  • R packages: dplyr, tidyr, gridExtra, openxlsx (all automatically installed, if not present)
  • Optional for compilation of signature sheets: pdflatex (on -nix systems), MikTex (on Windows systems)


  1. Download individual class lists (xls) from Banner using Faculty & Advisors > Download Classlist Into Excel and store xls files in the same folder as this script. e.g. FINA_1000_1A.xls FINA_1000_1B.xls FINA_1000_1C.xls
  2. Open each file and save it as *.csv file (Banner is actually lying to you when it saves xls files; In reality these are SYLK application interchange files, but Excel can read them)
  3. To avoid empty seats set RecordNumber (1st Column) to '999' for students which you want to sort towards the end of the list (e.g. Disability Center students or students who will write on different dates).
  4. Run the code using Ctrl + Shift + S in RStudio

Consider this a beta version! Any comments and improvements are welcome!

You can’t perform that action at this time.