This repository contains code to automatically give feedback for exercise submissions for the MADE course at FAU Erlangen-Nürnberg.
Grading code is tested and supposed to run with the latest Python LTS version (3.11 at the time of writing, check https://devguide.python.org/versions/).
Pip is used for dependency management.
Use venv to manage a virtual environment for the project. If it is not already installed, install it on your machine using pip: pip install virtualenv
- Create a virtual env:
python -m virtualenv env
- Activate the virtual env:
source env/bin/activate
- Install dependencies using pip (inside the virtual env):
pip install -r requirements.txt
.
To run the automated grading, first activate the virtual env, then execute grading.py with an optional work directory as first argument.
source env/bin/activate
python grading.py <exerciseId>
To use the automated grading feedback in student repositories in MADE, use the GitHub Actions workflow inci/grading-feedback.yml
. It sets up a GitHub action with Python 11 and Jayvee and then executes ./run_grading.sh
.
The workflow creates badges for the exercise score. You can add them to markdown files via this pattern:
![](https://byob.yarr.is/<github-user-name>/<github-repo>/score_ex<exercise-number 1-5>)
- The SQLAlchemy version <2 in requirements.txt is by design, see https://levelup.gitconnected.com/how-to-fix-attributeerror-optionengine-object-has-no-attribute-execute-in-pandas-eb635fbb89e4.