Creating Assignments

Otter ships with an assignment development and distribution tool called Otter Assign, an Otter-compliant fork of jAssign that was designed for OkPy. Otter Assign allows instructors to create assignments by writing questions, prompts, solutions, and public and private tests all in a single notebook, which is then parsed and broken down into student and autograder versions.

Otter Assign currently supports two notebook formats: format v0, the original master notebook format, and format v1, which was released with Otter-Grader v3. Format v0 is currently the default format option but v1 will become the default in Otter-Grader v4.

To run Otter Assign on a v1-formatted notebook, add the --v1 flag to the command:

otter assign lab00.ipynb dist --v1

Converting to v1

Otter includes a tool that will help you convert a v0-formatted notebook to v1 format. To convert a notebook, use the module otter.assign.v0.convert from the Python CLI. This tool takes two position arguments: the path to the original notebook and the path at which to write the new notebook. For example,

python3 -m otter.assign.v0.convert lab01.ipynb lab01-v1.ipynb