GradeIt is a flexible and automated grading tool designed to evaluate student submissions against an answer key using regular expressions. This tool is built to handle various types of assignments and provide detailed feedback for students.
tabulate
.Make sure to have the necessary Python packages installed:
pip install -r requirements.txt
To use GradeIt, you need a config.yaml
file to specify the paths and filenames for submissions, feedback, answer key, etc.
You can run the script with the following command:
python grade_it.py --config ./config.yaml
Alternatively, you can run the script without arguments, and it will default to using a config.yaml
file in the current directory:
config.yaml
)The config.yaml
file contains the paths and filenames for grading. Below is an example structure:
submissions_dir: /path/to/submissions
feedback_dir: /path/to/feedback
general_feedback_file: /path/to/general_feedback.yaml
answer_key_file: /path/to/answer_key.txt
grading_scheme_file: /path/to/grading_scheme.yaml
students_file: /path/to/students.csv
grades_csv_file: /path/to/grades.csv`
Assuming the following config.yaml
:
submissions_dir: ./NET3008/Labs/OSPF/submissions
feedback_dir: ./NET3008/Labs/OSPF/feedback
general_feedback_file: ./NET3008/Labs/OSPF/general_feedback.yaml
answer_key_file: ./NET3008/Labs/OSPF/OSPF_answer_key.txt
grading_scheme_file: ./NET3008/Labs/OSPF/OSPF_grading_scheme.yaml
students_file: ./NET3008/students.csv
grades_csv_file: ./NET3008/Labs/OSPF/OSPF_grades.csv
Run the script as follows:
python grade_it.py --config ./config.yaml
This will:
students.csv
.answer_key.txt
.submissions_dir
.feedback_dir
.general_feedback_file
.grades_csv_file
.Contributions are welcome! Please submit a pull request or open an issue to discuss your ideas.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or suggestions, please contact Carolina Ayala.