Under Cloudbank and with funding from NSF, we are offering resources to teach Data Science courses including the full set of materials used to teach Data 6 at Berkeley.
This guide walks you through the step-by-step process of adopting Data 6 at your institution.
Prerequisites Checklist¶
Before starting, make sure you have:
A GitHub account (create one here if needed)
Institutional approval to use external course materials
Contact information for your IT department (for JupyterHub setup)
Access to your institution’s LMS (Canvas or similar)
Commitment to not distribute solutions publicly
Adoption Timeline¶
Step 1: Privacy Agreement and General Information
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 1-3 business days
Step 2: Create a copy of the student materials for yourself
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: Accepting the GitHub Repository Invitations
Estimated time: 5 minutes
After completing the Instructor Interest Form, you will be added to private solutions and resources repositories as well as any grading infrastructure needed for your students.
Check your email: You’ll receive GitHub invitation emails
Accept invitations: Click “Accept” on each invitation
Private solutions repository
Grading infrastructure organization (if applicable)
Verify access: You should now see private repositories 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: Canvas Template Download
Import into Canvas:
Go to your Canvas course
Navigate to Settings → Import Course Content
Upload the template file
Customize as needed for your institution
Configure JupyterHub links: Update assignment links to point to your JupyterHub instance
Step 5: Understanding the 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¶
Issue: Can’t access private repositories
Check that you’ve accepted all GitHub invitations
Verify your GitHub username matches what you provided in the form
Contact data6@berkeley.edu if issues persist
Issue: JupyterHub setup taking too long
This is normal - IT departments often need 1-2 weeks
We can help communicate with your IT department
Consider temporary alternatives (Google Colab, Binder) while waiting
Issue: 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 data6@berkeley.edu