Manually grading and formgradeΒΆ
See also
- nbgrader formgrade
- Command line options for
nbgrader formgrade
- How to structure course files
- More details on how the nbgrader hierarchy is structured.
- Configuration options
- Details on
nbgrader_config.py
After assignments have been autograded, they will saved into an
autograded
directory (see How to structure course files for details):
After running nbgrader autograde
, the autograded version of the
notebooks will be:
autograded/{student_id}/{assignment_id}/{notebook_id}.ipynb
To grade the assignments with an HTML form, all we have to do is run:
nbgrader formgrade
This will launch a server at http://localhost:5000
that will provide
you with an interface for hand grading assignments that it finds in the
directory listed above. Note that this applies to all assignments as
well – as long as the autograder has
been run on the assignment, it will be available for manual grading via
the formgrader.
The formgrader doesn’t actually modify the files on disk at all; it only modifies information about them in the database. So, there is no “output” step for the formgrader.
Important note: if you run the formgrader on a public IP address and port (for example, by running nbgrader formgrade --ip=<public_ip>
), then anyone will be able to access the formgrader at its URL!
So, you probably want to only run the formgrader on a private network that only the instructors have access to (e.g., behind a VPN).
Alternately, if students are accessing their notebooks via JupyterHub, then you can configure the formgrader to authenticate users through JupyterHub so that only specified graders may access the formgrader. See Using nbgrader with JuptyerHub for more details.