Hi all,
UC Berkeley’s Data Science Education Program is excited to announce the beta release of version 1.0.0 of Otter-Grader!
Otter-Grader is a new open source Python and Jupyter notebook autograder that allows instructors to customize their assignment creation and grading pipeline. It supports many different types of autograding infrastructure, from grading locally on the instructor’s machine to a deployable grading service that students can submit to. It was originally designed to be a serverless autograding solution for use at institutions who can’t afford or maintain the server overhead required for traditional autograding services.
Otter is on the verge of its v1 release, which includes updates to its existing functionality, including a reorganized CLI and several bug fixes. It also includes a variety of new features, chief among them being a deployable grading server called Otter Service and an assignment development tool called Otter Assign (a fork of okpy’s jassign that is also backward-compatible with jassign’s format). These updates are intended to make Otter a robust full-scale assignment development and grading tool.
With the updates in v1, Otter is divided into six main tools:
- Otter Assign, which allows instructors to write questions, solutions, and tests in a single notebook and parses this notebook into the requisite files
- Otter Check, which allows students to run checks from the command line and in a notebook against public tests
- Otter Export, which exports notebooks to PDFs using pandoc and a custom LaTeX template
- Otter Generate, which takes autograder test files and generates an autograder configuration file compatible with Gradescope’s proprietary autograding service
- Otter Grade, which allows instructors to grade students’ submissions locally in parallel Docker containers
- Otter Service, which builds and manages a deployable Otter grading service
The main goal of Otter is cross-compatibility. We want instructors to be able to fit Otter into their assignment pipelines and be able to use it in the easiest form without much manipulation required. For example, when grading with Otter Grade or Otter Service, PDFs of notebooks can be automatically uploaded to Gradescope for easily grading manually graded questions. Otter’s future contains features that are intended to extend this compatibility, including Canvas LTI for Otter Grade and Otter Service and integrations with other LMSs.
Otter is designed to be a scalable autograding solution with a low barrier to entry. It hopes to encapsulate all relevant steps of the assignment pipeline in a way that is conducive to any instructor’s preferred platform.
We are always looking for users and contributors, so please don’t hesitate to reach out to us! Please contact us at ds-infra@berkeley.edu with any questions or for more information.
Thank you!