Skip to content

A python application to automatically grade assignment submission from Canvas using canvas API and upload the grades back to the grade book of the canvas.

License

Notifications You must be signed in to change notification settings

Saivivek-Peddi/canvas_automated_grading

Repository files navigation

MIT License LinkedIn


Logo

Canvas Automated Grading

Introduction

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 -

  1. Get the list of courses
  2. Get the list of quizzes in the course
  3. Get the latest submissions from all the students for the selected quizzes.
  4. Get the groups for the quizzes.
  5. Parse the quiz answers.
  6. Tag the false testimonials.
  7. Grade the submissions
  8. Upload the grades to canvas gradebook.

Getting Started

Follow all the steps carefully

Prerequisites

This project requires python 3.6 or greater and also use virutalenv

  • Installing virtualenv
    sudo pip3 install virtualenv

Installation

  1. Clone the repo
    git clone https://github.com/Saivivek-Peddi/canvas_automated_grading.git
  2. CD into the project directory
    cd canvas_automated_grading
  3. Create a virtualenv and start it
    virtualenv venv && source venv/bin/activate
  4. Install all the requirements
    pip install -r requirements.txt

Usage

  1. Open api_config.json and edit url and token (Click here to know how to generate a canvas api token)
  2. To collect the submissions and generate temporary grades for specific quizzes. Run -
    python get_subs_and_grades_main.py
  3. One completed, the above script will generate a json with quiz name inside manual_inspections folder.
  4. This folder will contain the information of all the flagged students along with the detailed reasoning for getting flagged.
  5. You can edit the values of score,flag keys.
  6. Please note that a comment will be posted if and only if flag is set to true and also by default all non-flagged students are set to false.
  7. You can also add additional questions in the quesitons dictionary of evaluation key.
  8. Once manual inspection is complete, to post the grades to canvas - Run -
    python post_grades_main.py
  9. This script will post all the grades on to canvas and also generate files inside final_grades and final_tags fodler to list all final grades assigned and final tagged students for further processing.

Demo

DEMO

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Sai Vivek Peddi - svpeddi@ucdavis.edu

About

A python application to automatically grade assignment submission from Canvas using canvas API and upload the grades back to the grade book of the canvas.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages