https://github.com/smimram/regrade
Simple grading system using regular expressions.
https://github.com/smimram/regrade
assignment grade homework ocaml regular-expression
Last synced: 3 months ago
JSON representation
Simple grading system using regular expressions.
- Host: GitHub
- URL: https://github.com/smimram/regrade
- Owner: smimram
- License: gpl-3.0
- Created: 2024-11-02T12:20:55.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-01-07T11:58:18.000Z (6 months ago)
- Last Synced: 2025-03-25T08:38:07.153Z (4 months ago)
- Topics: assignment, grade, homework, ocaml, regular-expression
- Language: OCaml
- Homepage: https://smimram.github.io/regrade/
- Size: 74.2 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# REGrade: a simple grading system based on regular expressions
This is a simple program to automatically grade homework. Each question is validated by looking a whether the file matches a regular expression. It can be useful as a first approximation of the correction, or in cases where tests are sufficient to ensure the validity of the answers.
The correction is specified by a csv file of the form
```csv
name,Test
maximum,10
question,Q1,Q2,Q3
regexp,module,bla,(if|and)
points,,2,3
```where the signification of the lines is the following
- `name`: name of the exam,
- `maximum`: maximum grade (20 if not specified),
- `question`: name of each question,
- `regexp`: regexp for correcting each question (in [PCRE format](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions)),
- `file`: give points when there is a file whose name matches the regular expression,
- `points`: number of points for each question (1 if not specified).You can then run a command of the form
```shell
regrade exam.csv file1 file file3
```and it will grade the various files, outputting the results in `grades.csv`. If a folder is given instead of a file, all the files it contains are considered as one homework.
When using the `--formulas` flag, a csv containing Excel formulas will be generated (so that the coefficients can easily be modified).