Overview
Nb2canvas is a custom LTI tool (https://edtech.ucsd.edu/instructional-tools/index.html) that can be added to a Canvas course which allows nbgrader assignments, submissions and grades to be uploaded from datahub.ucsd.edu to the course. This removes the need to upload a spreadsheet of grades. The following article goes over various features within the nb2canvas LTI tool and steps on how to setup and configure the LTI tool.
Using the nb2canvas LTI tool
There will be a row for each NBGrader assignment for your course, and once you either select a corresponding pre-existing Canvas assignment or create one (more below), you can click "Upload Grades" and after a few minutes, you will see the grades recorded in the Canvas assignment.
Guidelines Regarding Course Assignments in Canvas
- In order for the nb2canvas LTI tool to "see" Canvas assignments, they must be put into the default "Assignments" group on the "Assignments" page of your course. Assignments in any other group, such as "Discussions" will be ignored.
- Avoid having multiple Canvas assignments with the same name. Both will be listed and there is no built in way to differentiate them.
- The LTI uses information from the courses Nbgrader data, and while only the course's designated grader account can access formgrader in DataHub, any teacher or TA with access to the LTI module can use the tool.
- If you choose to create the assignment in Canvas instead of Nb2canvas, make sure to create the assignment as a "no submission" type assignment.
nb2canvas: Canvas Assignment Column Dropdown
- The default selection `Create Canvas Assignment` will create a new assignment in Canvas with the name of the Nbgrader assignment.
- The max grade will be transferred from Nbgrader to the new assignment in Canvas.'
- You can choose to upload an Nbgrader assignment to another Canvas assignment in the dropdown.
- The Canvas assignment's max score will not be changed by the upload.
- If there is already a canvas assignment in the class that shares their name with an Nbgrader assignment, it will automatically be selected. You can still choose to upload to a different assignment.
nb2canvas: Late Penalty
- Default value is no point reduction for late submissions.
- You can select from a predetermined set of penalties which will reduce the given percentage from every assignment submitted past the due date.
- If a student submits an assignment before the deadline, then accidentally submits again after the deadline, the penalty will still be assessed. If this occurs, please manually download grades using 'nbgrader export', and import the grades.csv file via the Canvas gradebook.
- If there is already a penalty applied in Nbgrader before transferring to Canvas then leave this at 0 or the student will be penalized twice.
nb2canvas: Upload Grades
- Once you have made your selections for the Canvas Assignment and Late Penalty dropdowns, click the upload grades button to begin the upload.
- Once uploaded you will be able to reselect the late penalty and reupload if needed.
- For large classes(100+) the upload process will take a few minutes.
- Uploading multiple assignments at once will generally be faster overall, however the progress bar will likely get stuck for some time near the end.
nb2canvas: Cancelling Upload
- The cancel button will unlock the Nbgrader assignment to be re-assigned to another Canvas assignment.
- This does not erase the grades in the Canvas.
nb2canvas: Feedback Transfer
- Manual and automatically generated feedback on NbGrader will be transferred with the submission.
- If you update the feedback on NbGrader you will have to re-upload the assignment with this LTI to update the comments in Canvas.
- Re-uploading will remove old feedback comments, but other comments should remain untouched.
- Feedback will be shown to the student as a downloadable attachment in the comment section for the submission.
Setting up and Configuring the LTI Tool
Adding the LTI Tool to Your Course
- Go to (or create) a module in your course and click the "+" button:

- In the popup, select "External Tool" from the dropdown and select "nb2canvas.ucsd.edu". Make sure to check the "Load in a new tab" checkbox.

- Keep the tool as unpublished so that only you can access it. Now the LTI tool is available as an external tool link within this module!
- Click on the link, and you should see a "Load nb2canvas.ucsd.edu in a new window" button. Click that button, and the first time you should see an Authorization page
containing the content below (the "nb2canvas" name may be slightly different):

- Below this, click "Authorize". You should now see the "Canvas - Nbgrader" user interface:

If you have any questions or problems, please email canvas@ucsd.edu to create a support ticket.