This project is for grading participations in student study groups. This is developed for ECS 36A (Programming Languages) course at UC Davis. The following are the functionalities of the application -
- Get the list of courses
- Get the list of quizzes in the course
- Get the latest submissions from all the students for the selected quizzes.
- Get the groups for the quizzes.
- Parse the quiz answers.
- Tag the false testimonials.
- Grade the submissions
- Upload the grades to canvas gradebook.
Follow all the steps carefully
This project requires python 3.6 or greater and also use virutalenv
- Installing virtualenv
sudo pip3 install virtualenv
- Clone the repo
git clone https://github.com/Saivivek-Peddi/canvas_automated_grading.git
- CD into the project directory
cd canvas_automated_grading
- Create a virtualenv and start it
virtualenv venv && source venv/bin/activate
- Install all the requirements
pip install -r requirements.txt
- Open
api_config.json
and edit url and token (Click here to know how to generate a canvas api token) - To collect the submissions and generate temporary grades for specific quizzes. Run -
python get_subs_and_grades_main.py
- One completed, the above script will generate a json with quiz name inside
manual_inspections
folder. - This folder will contain the information of all the flagged students along with the detailed reasoning for getting flagged.
- You can edit the values of
score
,flag
keys. - Please note that a comment will be posted if and only if
flag
is set totrue
and also by default all non-flagged students are set tofalse
. - You can also add additional questions in the
quesitons
dictionary ofevaluation
key. - Once manual inspection is complete, to post the grades to canvas - Run -
python post_grades_main.py
- This script will post all the grades on to canvas and also generate files inside
final_grades
andfinal_tags
fodler to list all final grades assigned and final tagged students for further processing.
Distributed under the MIT License. See LICENSE
for more information.
Sai Vivek Peddi - svpeddi@ucdavis.edu