README.md 3.13 KB
Newer Older
Olivier's avatar
Olivier committed
1
2
3
4
5
Peer-graded student exercises
=============================

A collection of scripts (in Python, bash, LaTeX) to build and assign peer-graded individualized assignments for a large number of students. Each student is to:
1. register by email;
6
1. receive their own problem, built with unique input parameters;
Olivier's avatar
Olivier committed
7
8
9
1. submit their answer by email;
1. receive two anonymized answers from peer students, each with the corresponding solution;
1. grade those two answers, and submit them by email;
10
1. receive their own peer-assigned grade and the solution to their own problem.
Olivier's avatar
Olivier committed
11

12
13
14
This tool is used to operate a program of peer-graded coursework in the [Fluid Mechanics course](https://fluidmech.ninja/) of the Chemical & Energy Engineering program in the [Otto von Guericke University Magdeburg](https://www.ovgu.de), Germany. Part of the development funded by a grant of the University’s “Innovation in Studien und Lehre” program.

The tool is described in a peer-reviewed journal publication: O. Cleynen, G. Santa-Maria, M. Magdowski, and D. Thévenin. “Peer-graded individualized student homework in a single-instructor undergraduate engineering course”. In: *Research in Learning Technology* 28 (2020). [doi: 10.25304/rlt.v28.2339](https://doi.org/10.25304/rlt.v28.2339) .
Olivier's avatar
Olivier committed
15
16
17

## Authors

18
Germán Santa-Maria, Jochen König, [Olivier Cleynen](https://ariadacapo.net/), with the kind financial support of the [LSS laboratory](http://www.lss.ovgu.de) of the university, and of the university itself. Inspiration and guidance were gratefully received from [Mathias Magdowski](http://www.imt.ovgu.de/Das+Institut/Mitarbeiterinnen+und+Mitarbeiter/visitenkarten/magdowski__mathias-kat-lehrveranstaltungen-p-71.html) (see [[1]](https://www.slideshare.net/MathiasMagdowski/personalisierbare-aufgaben-und-anonymer-peerreview/), [[2]](https://www.researchgate.net/publication/330243310_Personalisierbare_Aufgaben_und_anonymer_Peer-Review)).
Olivier's avatar
Olivier committed
19
20
21

## License

22
The code in this repository is published under the [GNU GPL v3](href="https://www.gnu.org/licenses/gpl.html) license (see file [LICENSE](LICENSE) for full text). Please cite the *Research in Learning Technology* article above if this tool is useful to you.
Olivier's avatar
Olivier committed
23
24
25

## Structure

26
A total of 12 modules (9 of which being locally-run scripts) are needed to run the project. 
Olivier's avatar
Olivier committed
27

Olivier's avatar
Olivier committed
28
[ ] Module 1: Collect participant information
Olivier's avatar
Olivier committed
29
(through email)
Olivier's avatar
Olivier committed
30

Olivier's avatar
Olivier committed
31
32
[x] [Module 2](M2_customize_assignments): Generate custom variables for assignments
(in Python)
Olivier's avatar
Olivier committed
33

Olivier's avatar
Olivier committed
34
[x] [Module 3](M3_generate_assignments): Generate assignments and solutions
Olivier's avatar
Olivier committed
35
36
(in bash + LaTeX)

Olivier's avatar
Olivier committed
37
[x] [Module 4](M4_send_assignments): Send assignments to students
Olivier's avatar
Olivier committed
38
39
(in Python)

Olivier's avatar
Olivier committed
40
[ ] Module 5: Receive submissions from students
Olivier's avatar
Olivier committed
41
(through email)
Olivier's avatar
Olivier committed
42

43
[x] [Module 6](M6_match_peers): Match peers
Olivier's avatar
Olivier committed
44
45
(in Python)

46
47
48
[x] [Module 7](M7_generate_grading): Generate grading assignments
(in bash, with pdftk)

49
[x] [Module 8](M8_send_grading): Send peer grading assignments
Olivier's avatar
Olivier committed
50
51
(in Python)

Olivier's avatar
Olivier committed
52
53
54
55
[ ] Module 9: Collect peer-assigned grades
(through email)

[x] [Module 10](M10_process_grades): Process grades
Olivier's avatar
Olivier committed
56
57
(in Python)

58
59
60
[x] [Module 11](M11_generate_graded): Generate graded PDFs
(in bash, with pdftk)

Olivier's avatar
Olivier committed
61
[x] [Module 12](M12_email_graded): Send results to students
Olivier's avatar
Olivier committed
62
(in Python)