Collecting assignmentsΒΆ

See also

nbgrader collect
Command line options for nbgrader fetch
nbgrader list
Command line options for nbgrader list
The philosophy and the approach
More details on how the nbgrader hierarchy is structured.
Configuration options
Details on nbgrader_config.py

First, as a reminder, here is what the instructor’s nbgrader_config.py file looks like:

%%bash

cat nbgrader_config.py
c = get_config()

c.NbGrader.course_id = "example_course"
c.TransferApp.exchange_directory = "/tmp/exchange"

After students have submitted their assignments, the instructor can view what has been submitted with nbgrader list --inbound:

%%bash

nbgrader list --inbound
[ListApp | INFO] Submitted assignments:
[ListApp | INFO] example_course jhamrick Problem Set 1 2016-03-03 15:06:15 UTC
[ListApp | INFO] example_course jhamrick Problem Set 1 2016-03-03 15:06:17 UTC

The instructor can then collect all submitted assignments with nbgrader collect and passing the name of the assignment (and as with the other nbgrader commands for instructors, this must be run from the root of the course directory):

%%bash

nbgrader collect "Problem Set 1"
[CollectApp | INFO] Collecting submission: jhamrick Problem Set 1

This will copy the student submissions to the submitted folder in a way that is automatically compatible with nbgrader autograde:

%%bash

ls -l submitted
total 0
drwxr-xr-x  3 jhamrick  staff  102 Dec 15 14:57 Bitdiddle
drwxr-xr-x  3 jhamrick  staff  102 Dec 15 14:57 Hacker
drwxr-xr-x  3 jhamrick  staff  102 Mar  3 09:06 jhamrick

Note that there should only ever be one instructor who runs the nbgrader release and nbgrader collect commands (and there should probably only be one instructor – the same instructor – who runs nbgrader assign, nbgrader autograde and nbgrader formgrade as well). However this does not mean that only one instructor can do the grading, it just means that only one instructor manages the assignment files. Other instructors can still perform grading by accessing the formgrader URL.