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.
- Capture marking scheme templates for multiple assessments containing multiple tasks,
instantiate for any number of cohorts, and produce spreadsheet marking templates or completed
spreadsheets (process illustrated with orange arrows).
- Provide a grade based marking mechanism to assist the marking process and to enable rapid
production of feedback for students (process illustrated with green arrows).
- Allow modification and reuse of existing marking schemes for new cohorts or assignments.
- Produce standard (i.e. name alphabetical) module spreadsheets containing all of the
information and formulas required during the assessment process.
- Automatically reorder completed spreadsheets into the form required for entry to the student
records system, including checksums etc.

Marking schemes are decomposed into several levels. The following list describes the
characteristics of each level:
- Module: the system is module oriented. All the marking scheme information associated with a
single module is contained in a single xml file.
- Assessment: a module can have one or more assessments
(coursework or exams).
- Each assessment is allocated a percentage contribution to its module.
- During marking an overall bespoke comment can be included per student, if required.
- Tasks: an assessment can have one or more tasks.
- Each task is allocated a percentage of its assessment.
- Bespoke task summary feedback can be provided if required on a per student basis.
- Grades/Marks: each task can have a number of grades
(e.g. good, poor etc) associated.
- Each grade has a numerical mark associated.
- Numerical marks may be entered directly, for example in the case of exams.
- Each grade has general feedback that the student will receive when they obtain the
grade.
- Feedback options can be created that describe the anticipated reasons why a grade was
achieved, based on the aspects being considered for the task. These options can be selected
for other grades too - see Assessments and
Results for how.
- Bespoke feedback can be created as marking proceeds, and can be reused for another
student if required.
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:
- Module - module overview
information including student cohort and loading and saving of marking schemes.
- Assessments - define
assessments, tasks, and grades.
- Spreadsheet - produce
the spreadsheet workbook and append a marks entry sheet to it.
- Results - enter marking
results for each student.
- Feedback - view, review
and dispatch automatically generated feedback to students.
- BlackBoard - exchange
marks and student information with the Blackboard/Astra Grade Center.
- Settings - view and edit
MFA's own configuration.
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:
- bin/ - the program's run script
(MFA on macOS/Linux,
MFA.bat on Windows). Double-click it to run MFA
normally, or run it from a terminal/command prompt to pass command-line options (see below).
- runtime/ - the bundled Java runtime.
- app/, lib/ -
the program itself and the libraries it depends on.
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.
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.