https://www.youtube.com/watch?v=8viAI7NGBGY
Welcome to CanvasAutoGrader, an innovative tool designed to automate the grading process for assignments submitted through Canvas LMS (Learning Management System). By leveraging unit testing frameworks alongside the Canvas API, CanvasAutoGrader streamlines the assessment of student submissions, ensuring accurate, fair, and timely grading.
- Automatic Grading: Automatically evaluates and grades assignments based on predefined unit tests.
- Canvas API Integration: Seamlessly fetches assignments from Canvas, posts grades, and provides feedback directly within the LMS.
- Customizable Test Cases: Allows educators to define custom test cases for each assignment, ensuring flexibility and adaptability to various teaching methodologies.
- Feedback Generation: Generates detailed feedback for each submission, helping students understand their mistakes and learn from them.
- Batch Processing: Efficiently processes multiple submissions simultaneously, saving time and reducing manual effort.
- Secure and Reliable: Implements best practices to ensure the security of student data and the reliability of the grading process.
- A Canvas LMS account with API access enabled.
- Python 3.6 or higher.
- Installation of required Python libraries:
requests
,unittest
.
-
Clone the repository:
git clone https://github.com/yourusername/CanvasAutoGrader.git
-
Navigate to the CanvasAutoGrader directory:
cd CanvasAutoGrader
-
Install the required Python packages:
pip install -r requirements.txt
- Rename
config.sample.json
toconfig.json
. - Edit
config.json
to include your Canvas API key, course ID, and other relevant settings.
- Refer to the
examples
directory for sample unit tests. - Create a new Python file for your assignment's unit tests in the
tests
directory. - Use Python's
unittest
framework to define test cases for the assignment.
To execute CanvasAutoGrader and grade assignments:
python autograder.py
For detailed examples, including how to write unit tests and configure the tool for your courses, please see the docs
folder.
We welcome contributions from the community! If you're interested in improving CanvasAutoGrader, please feel free to fork the repository, make your changes, and submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please file an issue on the GitHub repository.
CanvasAutoGrader is not affiliated with or endorsed by Canvas LMS or Instructure. All trademarks belong to their respective owners.