A python script / gui for assisting with grading of written exam sets / projects.
Launch the program using the following command, with the filenames updated to the proper values.
python3 assignment_grader.py --questions questions.txt --students students.txt --grades testing.csv
The file is read by the program and contains ids / names of the students.
The file is read by the program and contains ids / names of questions. Usually in the format "number letter", like "3b" and "1c".
This file is generated by the program and contains a list of all part evaluations of the assignments.
-
Download assignments from blackboard (use download in folders) and unpack them in a new directory (here called handins).
-
Clone the assignment-grader git project inside the handins folder
cd handins
git clone git@github.com:henrikmidtiby/assignment-grader.git
cd assignment-grader
pipenv install
It might be needed to install the following development libraries.
sudo apt install libcairo2-dev
sudo apt install libgirepository1.0-dev
- Create a list of assignment ids and save it in the students.txt file
ls > students.txt
Remove ids from the file that does not match students.
- Create a list of part assessments (questions / subquestions)
Save the list in the file questions.txt
.
The file must be structured with three columns like this:
1a 5 Recreate figure
1b 6 Describe content of figure
2a 2 Second exercise description
The first column is the question id, the second column is the weight assigned to the question and the third column is a description of question
- Fill in rubric answers / grades in the
grades.txt
file.
This step is optional.
Can be simplified by using the prefill-grades-rubrick.Rmd
which is
in the assignment-grader git repository.
- Launch the assignment-grader program
cd assignment-grader
pipenv run python assignment_grader.py --student ../students.txt --questions ../questions.txt --grades ../grades.txt
- Parse the generated grades.csv file using a suitable R document / script like
collectedComments.Rnw
.