Giter Site home page Giter Site logo

self-grading's Introduction

Student self-graded homework

A secure, scalable approach to student-graded homework for self-reflection.

Author: Dr. Matthew Ford ([email protected]) Website

Use this script to compare student self-graded scores to instructor scores and enter final grades into the Canvas gradebook.

Setup

  1. Obtain a Canvas API key and put it in a text file called "API_KEY.txt" in the same folder as this Python script.

Creating an assignment

  1. Assign homework on Canvas: Create a zero-point assignment called "Homework X - submit to Gradescope"
  2. Create Gradescope assignment: Create a Gradescope assignment with the correct number of problems. Each problem should have a point value of 0. Link the Gradescope assignment to the Canvas assignment.
  3. Create a Canvas quiz (Classic Quizzes) called "Homework X - enter your own grade". The first "question" should be a text-only question with links to the homework solutions and grading rubrics.
  4. Add a Numerical Answer question for each homework problem. Name each problem "Problem X" where "X" is an integer. Set the "answer" to -1, and set the point value to the correct number. Optionally add a file upload question at the end for students to upload their filled-out rubric.
  5. Set the quiz "Available from" date to just shortly after the homework is due.

Grading an assignment

  1. Students complete the "Homework X - enter your own grade" assignment on Canvas, entering their numeric score as the "answer" for each question.
  2. Instructors grade the "check problem" on Gradescope and sync grades to Canvas.
  3. After students have submitted their own scores, run the IPython script to compare and synchronize grades. The script will automatically create a new Canvas assignment "Homework X - final grade".
  4. Review the log file and look for significant discrepancies.
  5. When you are ready to post final scores, update enter_into_gradebook = True and run the script again.

self-grading's People

Contributors

dashdotrobot avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.