Marking Scheme and Feedback Assistant - nns@aber.ac.uk

Contents

Overview

The software provides support for structured marking of student coursework to enable detailed feedback and overall marks to be produced with minimum effort. The concept is that a marking scheme template is created containing assignments, tasks, and grades. The course tutor describes what is required to obtain each grade with comments explaining the aspects that can be improved. This allows feedback to be automatically generated based on the grades selected during the marking process, combined with any bespoke comments that are required. The software can then assemble and email the individual feedback for each student based on the grades, feedback options, and bespoke feedback created.

Cohort information (student reference, names, email) can be imported from spreadsheet or .csv files, and conventional 'blank' template spreadsheets can be produced from a marking scheme, or completed spreadsheets produced if grades are entered into the tool.

There is functionality to remove all student related information from a marking scheme to create a new template for a subsequent cohort or assignment. The marking scheme can be modified (as far as is reasonable) as marking proceeds if the need arises.

The software provides the main functions as follows, outlined in the diagram below.

Architecture diagram

Marking schemes are decomposed into several levels. The following list describes the characteristics of each level:
In all cases the aim is to provide feedback that will give pointers as to how the student could improve (if necessary) the aspect under consideration.

Student lists may be imported from Excel (.xls, .xlsx) or comma separated text files (.csv) into a marking scheme to allow a marking/results spreadsheet to be generated for the cohort. This spreadsheet provides one way that grades and marks can be entered during marking. Once marking is complete all necessary calculations are completed by the spreadsheet to produce the final module mark for each student. A set of feedback will also be generated for each task, ready for distribution to individual students.

The system architecture is based around capture of the marking scheme in an xml file generated by a GUI tool. A list of students is added to allow marking to proceed and the marking spreadsheet to be generated for a specific cohort. The spreadsheet can be used to enter grades, allowing simple grade-based feedback to be generated on the spreadsheet, however the more sophisticated and flexible feedback generation options are only available in the GUI. The marking scheme can be saved at any time as a template that may then be used for a subsequent cohort.

An information area at the bottom of the tool provides confirmation of important actions and reports of any problems, and an overview of the numerical contributions of the various marking scheme parts.

MFA is made up of several tabs that deal with the main functions of the system - each has its own help page, reachable from the Help menu, with the full detail of how to use it:

Running the tool

MFA is distributed as a separate download for each platform - a .dmg on macOS, a .tar.gz on Linux, a .zip on Windows. Unpacking it (or, on macOS, mounting it and dragging the app to Applications) gives a self-contained folder with everything MFA needs - no separate Java installation required. Inside that folder:
None of the bundles are code-signed, so the first launch needs an extra step: on macOS, right-click the app and choose Open (or remove the quarantine attribute); on Windows, click More info > Run anyway on the SmartScreen warning that appears.

Command-line options

Running the launch script from a terminal (e.g. bin/MFA path/to/scheme.mfax) accepts a marking scheme file and/or these options:

Option What it does
path/to/scheme.mfax Opens the given marking scheme at startup. Optional - MFA opens with a blank scheme if this is left out.
-style <name> Runs MFA with a particular UI theme for this launch only, by bundled name (e.g. sage) or a path to a custom CSS file. Not normally needed - use MFA > UI Style on the menu bar to change the theme from within the running application instead, which remembers the choice for next time.

A script per marking-scheme folder

A convenient way to work with MFA is to keep one short script alongside each marking scheme you're working on, that just points at the installed app and names that folder's scheme file. Then, to work on that assignment, open a terminal in that folder and run the script - no need to type the full path each time, and no risk of opening the wrong scheme file by mistake.

Example (macOS/Linux) - save as run.sh next to your .mfax file:
#!/usr/bin/env bash
/full/path/to/MFA/bin/MFA "CS12345-Marking_2025-2026.mfax"
Make it executable once (chmod +x run.sh), then from that folder just run ./run.sh.

Example (Windows) - save as run.bat:
@echo off
C:\full\path\to\MFA\bin\MFA.bat "CS12345-Marking_2025-2026.mfax"
Then double-click run.bat, or run it from a command prompt opened in that folder.

Adjust the full path to wherever MFA is installed, and the filename to match your own marking scheme. Keeping a script like this per folder also acts as a handy record of exactly which scheme file that folder's spreadsheets/feedback came from.

Running Java directly (advanced / troubleshooting)

bin/MFA / bin\MFA.bat are thin wrapper scripts - if you ever need to run MFA without them (e.g. diagnosing a startup problem, or wiring it into your own tooling), this is the equivalent command they run, from inside MFA's own top-level folder (the one containing bin/, runtime/, app/ and lib/):

macOS / Linux:
  runtime/bin/java -Dfile.encoding=UTF-8 \
    --module-path app:lib \
    --module MarkingSheetGUI/markingGUI.fx.MarkingFxApp \
    "path/to/scheme.mfax"

Windows:
  runtime\bin\java.exe -Dfile.encoding=UTF-8 ^
    --module-path app;lib ^
    --module MarkingSheetGUI/markingGUI.fx.MarkingFxApp ^
    "path\to\scheme.mfax"

-Dmfa.home=<path> (an advanced option controlling where MFA keeps MFAProperties.txt - see "Where MFAProperties.txt lives" on the Settings help page) is also supported, but only when java is invoked directly as shown above rather than via the bin/MFA script, since the script places any argument it's given after the point where java stops treating -D options as its own.

Mark scheme specification

A marking scheme is defined on the Module and Assessments tabs.

Module tab

The Module tab holds the module overview information (module code, title, marking scheme name, version, year), the student cohort, and the loading/saving of marking schemes. See the Module tab help page for the full detail, including how student lists are imported and how the cohort can be edited.

Assessment tab

The Assessments tab is where a module's assessments, their tasks, and each task's grades (or numerical mark) are defined - the diagram below illustrates the relationship between them. See the Assessments tab help page for the full detail, including reusable feedback, duplicating an assessment, and copying grades between tasks.

Annotated screenshot of the Assessments tab, showing the assessment list, task list, grade list and their fields

Marking

Grades and marks are entered on the Results tab, including selecting reusable feedback for a grade and viewing "groups" of students who currently share identical feedback. See the Results tab help page for the full detail.

Generating spreadsheets

A marking spreadsheet can be generated once a cohort has been loaded, from the Spreadsheet tab. It contains all the formulas and lookup tables required to produce the module results as grades are entered, and looks up and transfers information between sheets using the student ID, protecting it against changes to the student list order. See the Spreadsheet tab help page for the full detail, including the layout parameters, the structure of the generated workbook, and how to add a grade or a student directly in Excel after the spreadsheet has already been generated.

Anonymous marking

If enabled (on by default - see Settings, ResultsTab.AnonymousMarkingOption), a checkbox on the Results tab hides student names, identifying students by ID only. See the Results tab help page for how the instant-search box makes it quick to find a specific student while marking this way.

Spell check

Free-text fields used for feedback and comments (task/assessment names and descriptions, individual and default feedback, the covering note, and similar) are spellchecked as you work - a misspelled word is underlined in red, so it's easy to spot before feedback goes out to a student. Checking happens live, and applies immediately to text already on screen as well as text you type.

Choose which language(s) to check against from MFA > Spell Check on the menu bar - English and Welsh are independent on/off toggles, not a single choice, so both can be ticked together: a word is only underlined if it's wrong in every language currently ticked, so mixing English terms into Welsh feedback (or vice versa) doesn't get flagged. Untick both to turn spellchecking off entirely. See the Settings help page's "Spell check" section for the full detail, including where your choice is remembered.

Welsh feedback wording

Separately from spellchecking, MFA can also generate the fixed wording that surrounds a student's feedback (headings like "Your Marks"/"Task", the footer, and similar) in Welsh - automatically, per student, with nothing to switch on. It looks at that student's own individual feedback comment (or the assessment's default feedback, if there's no individual comment) and recognises which language it's written in, using the same dictionaries as Spell check above, then generates the surrounding wording to match. Write your comment in Welsh and the rest of that student's feedback follows in Welsh; write it in English (or leave it blank) and it stays in English, same as before this feature existed.

This only affects the tool's own fixed wording, not anything you write yourself. Reusable feedback items are not automatically translated - if you want a Welsh version of a reusable feedback snippet available to select, you need to create it yourself, the same way you'd create any other reusable feedback item - see Assessments and Results for how reusable feedback is created and selected. See the Feedback tab help page's "Welsh feedback" section for the full detail, and the Settings help page for where the wording itself lives and how to correct a translation.

Auto backups

Auto backups are on by default (see Settings, _AUTO_WRITE_REGULAR_BACKUP). MFA saves a copy of the current marking scheme in the same directory as the main file, with an additional extension that includes the time and date MFA was started - one backup file per run. The file is updated each time a new student is selected, each time a switch is made between tabs, and when MFA is exited. On most systems this has no noticeable effect on performance (the files are small) and allows recovery of data up to the last result entered, in the event of a power failure or system crash. The extension following .mfax can be removed and the file loaded directly into MFA - just make sure the backup is actually more recent than the normally saved version. A new file is written per run (rather than one file being continuously overwritten) specifically so a good backup can't be silently overwritten by running MFA again before realising the previous run's data wasn't saved. If switching between students or tabs feels sluggish on a very slow machine, the feature can be disabled via the property above.

The backup file is only written when the current marking scheme is valid (conforms to the schema), and no failure is reported if writing it fails (no disk space, a locked directory, etc). Don't rely on it as a substitute for saving regularly using File > Save, which does report any problems in the message area.

Properties file

MFA's configuration lives in a file called MFAProperties.txt, most easily viewed and edited from the Settings tab (MFA > Settings…) rather than by hand-editing the file directly. See the Settings help page for the full detail - what the file contains, where MFA keeps it, and a handful of specific properties worth knowing about.

MFA is built on a number of open-source libraries - see Libraries & tools for the full list, with authors, versions and where they come from.

Enjoy your marking :)
Neal.