Data 6 Adoption Guide
This guide walks you through the step-by-step process of adopting Data 6 at your institution.
Step 1. GitHub account and instructor interest form¶
Estimated time: 15–30 minutes
Create a GitHub account (if you don’t have one): https://github.com
We need your GitHub username to grant access to private repositories
Complete the Instructor Interest Form: Data 6 Instructor Interest Form
This form helps us understand your needs
You’ll receive access to solutions and resources after completion
Expect a response within 24 hours
Step 2. Fork the student materials¶
Estimated time: 5–10 minutes
The public student materials are available at https://
Fork the repository: Click the “Fork” button in the top right of the repository page
This creates your own copy that you can customize
You can make changes without affecting the original
Explore the materials: Browse through labs, homeworks, and projects
Familiarize yourself with the structure
Note any materials you want to customize
Step 3. Accept GitHub invitations¶
Estimated time: 5 minutes
After completing the Instructor Interest Form, you will be added to private repositories and to grading infrastructure as needed. Accepting invitations in the browser is usually faster than hunting through email.
Solutions repository: Open dubois
-ctds /data -6 -materials -solutions while logged into GitHub. If you have a pending invitation, GitHub will prompt you to accept it. Otter grading service org: Open the otter
-service -stdalone organization page and accept the invitation if prompted (see the Grading section for how to use the service). Verify access: You should see the private solutions repository and any related repos in your GitHub account.
Step 4. Canvas shell and course website¶
Estimated time: 1–2 hours (depending on customization)
We can help you configure the Canvas shell we have set up for you.
Download the Canvas template¶
Point assignments at your JupyterHub¶
The default template links to datahub
Upload your Canvas template (zip or .imscc file) to the rewriter
Enter your JupyterHub URL (e.g.,
datahub.berkeley.edu/hubor your institution’s hub URL)Enter the materials repository URL — for Data 6, use
https://github.com/dubois-ctds/data-6-materials-studentScan and preview to see how links will change
Confirm that old links are being rewritten to your hub and that the repo points to
dubois-ctds/data-6-materials-studentRewrite and download the updated file
Video: JupyterHub rewriter¶
Import into Canvas¶
We recommend importing the cartridge into a new Canvas course. After the first import, copy that course inside Canvas from term to term instead of re-importing the cartridge into an existing shell (re-importing can duplicate items that do not share the same internal IDs).
Create a new course — Settings → Start a new course, name it (e.g., “Data 6”)
Go to Import Course Content from the course menu
Select Common cartridge 1.x package as the content type
Upload the .imscc file (the rewritten file from the rewriter step, or the original template if using datahub
.berkeley .edu) Upload all content for this initial import
Wait for the import — Status will show “queued” then “running” with a progress bar
Verify the links — After import, click on an assignment (e.g., Homework 1) and check the link in the bottom-left corner of your browser. It should show your JupyterHub URL. Click through to confirm the notebook loads correctly
Video: Uploading the Canvas template¶
Step 5. Student workflow¶
Review this before your first class
Here is how students will interact with assignments:
Access: Students log into Canvas and click on an assignment link
Open notebook: The notebook opens in JupyterHub (in a new tab)
Work: Students complete the notebook, checking answers as they go
Export: Students use the “export” cell at the bottom to download their completed notebook
Submit: Students upload the downloaded file to Canvas
Step 6. Instructor grading workflow¶
Estimated time: 5–10 minutes per assignment (after initial setup)
Download student submissions: Export all submissions from Canvas as a zip file
Get solutions:
Log into the private solutions repository on GitHub
Navigate to the
autograder_zipsfolderDownload the
autograder.zipfile for the assignment you’re grading
Grade automatically:
Use one of the grading methods (see Grading section):
Otter Service Standalone (recommended, web-based)
GradeScope (paid service with Canvas integration)
Local grading (full control, requires setup)
Import grades: Upload the CSV file with grades back to Canvas
Troubleshooting¶
Can’t access private repositories¶
Check that you’ve accepted all GitHub invitations
Verify your GitHub username matches what you provided in the form
Open dubois
-ctds /data -6 -materials -solutions and the otter-service-stdalone org while logged in — GitHub may show an accept prompt there Contact ds
-help@berkeley .edu if issues persist
JupyterHub not ready yet¶
If hub access is still in progress (for example Cloudbank provisioning), we will give you a realistic timeline when you contact us
For piloting, consider temporary alternatives (Google Colab, Binder) while your hub is prepared
Canvas import errors¶
Make sure you’re using the correct Canvas version
Check file size limits
Try importing sections individually if the full import fails
Need more help? Contact us at ds