Skip to content

Latest commit

 

History

History
88 lines (68 loc) · 3.72 KB

index.rst

File metadata and controls

88 lines (68 loc) · 3.72 KB

Otter-Grader Documentation

.. toctree::
    :maxdepth: 1
    :hidden:

    tutorial
    test_files/index
    otter_assign/index
    otter_check/index
    workflow/index
    execution
    plugins/index
    pdfs
    seeding
    logging
    api_reference
    cli_reference
    resources
    Changelog <https://github.com/ucbds-infra/otter-grader/tree/master/CHANGELOG.md>

Otter Grader is a light-weight, modular open-source autograder developed by the Data Science Education Program at UC Berkeley. It is designed to grade Python and R assignments for classes at any scale by abstracting away the autograding internals in a way that is compatible with any instructor's assignment distribution and collection pipeline. Otter supports local grading through parallel Docker containers, grading using the autograding platforms of 3rd-party learning management systems (LMSs), non-containerized grading on an instructor's machine, and a client package that allows students to check and instructors to grade assignments their own machines. Otter is designed to grade Pyhon and R executables, Jupyter Notebooks, and RMarkdown documents and is compatible with a few different LMSs, including Canvas and Gradescope.

Otter is organized into six components based on the different stages of the assignment pipeline, each with a command-line interface:

Installation

Otter is a Python package that is compatible with Python 3.6+. The PDF export internals require either LaTeX and Pandoc or wkhtmltopdf to be installed. Docker is also required to grade assignments locally with containerization, and Postgres only if you're using Otter Service. Otter's Python package can be installed using pip. To install the current stable version, install with

pip install otter-grader

If you are going to be autograding R, you must also install the R package using devtools::install_github:

devtools::install_github("ucbds-infra/ottr@stable")

Installing the Python package will install the otter binary so that Otter can be called from the command line. You can also call Otter as a Python module with python3 -m otter.

Docker

Otter uses Docker to create containers in which to run the students' submissions. Docker and our Docker image are only required if using Otter Grade. Please make sure that you install Docker and pull our Docker image, which is used to grade the notebooks. To get the Docker image, run

docker pull ucbdsinfra/otter-grader