Package: pyAutoMark
Automated marking and feedbackApplicabilityThis toolset is applicable for all assessments (coursework, practical work, exams and class tests ) where students
are required to submit their work electronically and where the submission can be analysed electronically e.g.Software which can be tested using unit testing (in any language).Embedded Systems which can be tested using mock libraries and headers instead of the hardwareDigital designs using a hardware description language (e.g. VHDL) whic can be tested in simulation or synthesisData files which can be read and analysed - these might br created from simulations, or experimental measurements
or data recorded from test instrumentsSpreadsheet files which might be used to capture student readings and answers to questions.The toolset is written in Python and can run on almost any Platform - PCs, Linux or Mac.
Users will need to isntall other software needed for the actual tests such as C compilers
for host and embedded C applications, VHDL simulators and synthesis tools, Python libraries etc.Process and CoverageThe toolset automates the following stepsCollation of student work into folders for a cohort/assessment.
This may be from a Blackboard dump of files and archives from grade centre or (preferred)
the cloning and pulling of student work from github classroom repositories.The collation and use  of student information from a provided csv file (e.g. downloaded from Blackboard)Checking of student submission against a manifest of expected files (provided)The collation of a set of tests to be run against the students work - these can be almost anything (see applicability above).The automated running of the tests across a cohort or set of students amd the collection of the results into a feedback report.The generation of a marking template based on the set of tests - this may then be added
to as necessary to integrate different marking schemes and non-automated marking results.The generation of completed marking sheets for the students (using the report data and a template marking sheet)The sending out by email of the marking sheets and reports to students (work in progress)The automated filling in of a csv file from the marking sheet for sending marks to the office.The toolsusage: pyAutoMark [-h] {run,retrieve,extract,mark,generate-template,check-submission,find-duplicates,config} ...

Automatically retrieve, mark and provide feedback for digital student submissions

optional arguments:
  -h, --help            show this help message and exit

subcommands:
  {run,retrieve,extract,mark,generate-template,check-submission,find-duplicates,config}
    run                 Run automated tests and generate reports
    retrieve            Retrieve student files from github
    extract             Extract student files from downloads
    mark                Generate mark spreadsheets from reports and template spreadsheet
    generate-template   Generate a template spreadsheet
    check-submission    Check students have submitted files listed in manifest
    find-duplicates     Find duplicate students files
    config              Set or read configrationRequirementsSoftwareSoftwareMin VersionLinkVisual Studio Code1.74.2https://code.visualstudio.com/Python3.10.9https://www.python.org/downloads/windows/pytest7.2.1pip install pytestgit2.39.0.windows.2https://gitforwindows.org/clang-tidy (Optional)10.0https://learn.microsoft.com/en-us/cpp/code-quality/clang-tidy?view=msvc-170Common ComponentsLibrariesPython LibrariesVersionopenpyxl3.1.2pylint (Optional)2.4.4pytest-timeout (Optional)VSCode ExtensionsAuthorC/C++MicrosoftC/C++ Extension PackMicrosoftPython Test ExplorerLittle Fox TeamGithub ClassroomGithubDocumentationSeehttps://willijar.github.io/pyAutoMark/