Feedback on assignments

See also

nbgrader feedback
Command line options for nbgrader feedback
How to structure course files
Details about how the directory hierarchy is structured
Configuration options
Details on nbgrader_config.py

After assignments have been autograded and/or manually graded, they will located in the autograded directory (see How to structure course files for details):

autograded/{student_id}/{assignment_id}/{notebook_id}.ipynb

After running nbgrader feedback, HTML versions of these notebooks will be saved to:

feedback/{student_id}/{assignment_id}/{notebook_id}.html

Workflow example: Instructor returning feedback to students

In the following example, we have an assignment with two notebooks. There are two submissions of the assignment that have been graded:

Autograded submission 1:

Autograded submission 2:

Generating feedback is fairly straigtforward (and as with the other nbgrader commands for instructors, this must be run from the root of the course directory):

%%bash

nbgrader feedback "Problem Set 1"
[FeedbackApp | INFO] Copying /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/autograded/Bitdiddle/Problem Set 1/jupyter.png -> /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/feedback/Bitdiddle/Problem Set 1/jupyter.png
[FeedbackApp | INFO] Copying /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/autograded/Bitdiddle/Problem Set 1/timestamp.txt -> /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/feedback/Bitdiddle/Problem Set 1/timestamp.txt
[FeedbackApp | INFO] Converting notebook /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/autograded/Bitdiddle/Problem Set 1/Problem 1.ipynb to html
[FeedbackApp | INFO] Writing 221681 bytes to /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/feedback/Bitdiddle/Problem Set 1/Problem 1.html
[FeedbackApp | INFO] Converting notebook /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/autograded/Bitdiddle/Problem Set 1/Problem 2.ipynb to html
[FeedbackApp | INFO] Writing 193601 bytes to /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/feedback/Bitdiddle/Problem Set 1/Problem 2.html
[FeedbackApp | INFO] Setting destination file permissions to 444
[FeedbackApp | INFO] Copying /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/autograded/Hacker/Problem Set 1/jupyter.png -> /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/feedback/Hacker/Problem Set 1/jupyter.png
[FeedbackApp | INFO] Copying /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/autograded/Hacker/Problem Set 1/timestamp.txt -> /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/feedback/Hacker/Problem Set 1/timestamp.txt
[FeedbackApp | INFO] Converting notebook /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/autograded/Hacker/Problem Set 1/Problem 1.ipynb to html
[FeedbackApp | INFO] Writing 210705 bytes to /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/feedback/Hacker/Problem Set 1/Problem 1.html
[FeedbackApp | INFO] Converting notebook /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/autograded/Hacker/Problem Set 1/Problem 2.ipynb to html
[FeedbackApp | INFO] Writing 193731 bytes to /Users/jhamrick/project/tools/nbgrader/docs/source/user_guide/feedback/Hacker/Problem Set 1/Problem 2.html
[FeedbackApp | INFO] Setting destination file permissions to 444

Once the feedback has been generated, there will be new directories and HTML files corresponding to each notebook in each submission:

Feedback for submission 1:

Feedback for submission 2: