First, as a reminder, here is what the student's nbgrader_config.py
file looks like:
In [ ]:
%%bash
cat /tmp/student_home/nbgrader_config.py
After working on an assignment, the student can submit their version for grading using nbgrader submit
and passing the name of the assignment and the name of the class:
In [ ]:
%%bash
export HOME=/tmp/student_home && cd $HOME
nbgrader submit "Problem Set 1"
Note that "the name of the assignment" really corresponds to "the name of a folder". It just happens that, in our current directory, there is a folder called "Problem Set 1":
In [ ]:
%%bash
export HOME=/tmp/student_home && cd $HOME
ls -l "/tmp/student_home"
Students can see what assignments they have submitted using nbgrader list --inbound
:
In [ ]:
%%bash
export HOME=/tmp/student_home && cd $HOME
nbgrader list --inbound
Importantly, students can run nbgrader submit
as many times as they want, and all submitted copies of the assignment will be preserved:
In [ ]:
%%bash
export HOME=/tmp/student_home && cd $HOME
nbgrader submit "Problem Set 1"
We can see all versions that have been submitted by again running nbgrader list --inbound
:
In [ ]:
%%bash
export HOME=/tmp/student_home && cd $HOME
nbgrader list --inbound
Note that the nbgrader submit
(as well as nbgrader fetch
) command also does not rely on having access to the nbgrader database -- the database is only used by instructors.
After students have worked on the assignment for a while, but before submitting, they can validate that their notebooks pass the tests by clicking the "Validate" button (analogous to running nbgrader validate
). If any tests fail, they will see a warning:
If there are no errors, they will see that the validation passes:
Once students have validated all the notebooks, they can click the "Submit" button to submit the assignment (analagous to running nbgrader submit ps0 --course cogsci131
). Afterwards, it will show up in the list of submitted assignments (and also still in the list of downloaded assignments):
Students may submit an assignment as many times as they'd like. All copies of a submission will show up in the submitted assignments list, and when the instructor collects the assignments, they will get the most recent version of the assignment: