
Data 8: Foundations of Data Science¶
Data 8, "The Foundations of Data Science," is taught to first-year students at UC Berkeley. It combines inference, computing, and statistics (hypothesis testing, modeling, visualization, and more) into a single introductory course. The full set of materials used at Berkeley is available to adopt.
- Course site: data8.org · Textbook: inferentialthinking.com
- Zero to Data 8 guide: data8.org/zero-to-data-8 - syllabus, lectures, course staff, and context for running Data 8
- Browse notebooks in your browser: Data 8 xeus-lite
- Public student materials: ucb-dsus-adopters/materials-fds-v2
- Institutions using Data 8: Data 8 Inspired Curriculum
Quick start
- Complete the Data 8 Instructor Interest Form
- Choose your adoption version (Version 1 or Version 2 — see step 1 below)
- Fork the student materials
- Download the Canvas shell template
- Run the Canvas JupyterHub rewriter
- Upload to Canvas
- Grade with Otter
1. Choose your adoption version¶
Both versions use the same workflow below; they differ mainly in which materials repo and Canvas template you use.
| Version 1 | Version 2 (recommended) | |
|---|---|---|
| Materials repo | materials-fds | materials-fds-v2 |
| Basis | Spring 2022 | Spring 2026 |
| Notable features | Classic Data 8 sequence | Jupytutor integrated |
| Canvas shell | Original template | UI + accessibility improvements |
See Spring 2022 vs Spring 2026 changes (PDF) for a full comparison between versions.
New adopters should use Version 2; returning adopters can stay on Version 1 for continuity. The variable values on this page reflect Version 2 (Spring 2026).
2. Get access¶
Create a GitHub account if needed, then complete the Instructor Interest Form (indicate which version you'll use). Fork the student materials at ucb-dsus-adopters/materials-fds-v2, and accept the invitations to the private solutions repository (ucb-dsus-adopters/materials-fds-private-v2) and the Otter Service Standalone org.
Screen recording: forking the student materials
3. Set up Canvas¶
Download the Version 2 Canvas template.
Point assignments at your JupyterHub¶
Canvas JupyterHub rewriter: quick start
- Open the Canvas JupyterHub rewriter
- Upload your Canvas template (
.zipor.imsccfile) - Enter your JupyterHub URL (e.g.,
datahub.berkeley.edu/hubor your institution's hub URL) - Enter your fork of the student materials. Fork
ucb-dsus-adopters/materials-fds-v2 first, then use your fork URL
(e.g.,
https://github.com/YOUR_GITHUB_USERNAME/materials-fds-v2) - Scan and preview to see how links will change
- Confirm links point to your hub and your fork, then rewrite and download
When do you need this?
The default template links assignment URLs to datahub.berkeley.edu. If your institution
uses a different JupyterHub, run the template through the rewriter before importing
into Canvas so assignment links open on your hub and pull notebooks from your fork, not
the upstream Berkeley repo. A video walkthrough is below.
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 8")
- Go to Import Course Content from the course menu
- Select Common cartridge 1.x package as the content type
- Upload the
.imsccfile (the rewritten file from the rewriter step, or the original template if usingdatahub.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
What's in the Canvas shell
The Canvas shell includes:
- Reading assignments embedded as quizzes (ensures student engagement)
- Week-by-week course structure
- Pre-configured assignment links
- Gradebook setup
4. Student workflow¶
Screen recording: student workflow
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
5. Grade with Otter¶
The Otter Service Standalone is a web-based service for grading notebooks, with no local installation required. The service is available at https://grader.datahub.berkeley.edu/.
In-browser version
Otter Service In-Browser runs the same grading entirely in your
browser. Upload the autograder.zip from Step 3 and your submissions from Step 2, and
the grades CSV downloads directly, with no authorization or download code. The hosted
service and the steps below remain available.
Screen recording: grading walkthrough (5 min)
Step 1: Authorization. To access the service, we add your GitHub username to our Otter service organization. Once you have been added, accept the invitation by opening the otter-service-stdalone organization, then log in to the grader with your GitHub account.
Step 2: Download your student submissions. Export submissions from Canvas. You can grade a folder of notebooks by compressing it into a zip file and uploading that, or grade one notebook at a time by uploading the notebook itself.
Step 3: Download the solution files (autograder.zip). In the private solutions
repository (ucb-dsus-adopters/materials-fds-private-v2), browse to the
autograder_zips folder and download the autograder.zip for the assignment you are
grading. If you do not have access yet, complete the
Instructor Interest Form or email
ds-help@berkeley.edu.
Step 4: Upload and grade. In the "Grade" section, upload your autograder.zip and
the student submissions, then press Grade Notebooks. A "download" code appears under
the button. You will need it for the next step.
Step 5: Download your results. The system grades roughly one minute per ten notebooks. When it finishes, enter the code from Step 4 into the "Results" section and a folder with a log file and a CSV file downloads. The CSV contains the grades by notebook; if anything fails, check the log file first.
Instructor grading checklist¶
- Download student submissions: Export all submissions from Canvas onto your machine.
- Get solutions: Log into the private solutions repository
(ucb-dsus-adopters/materials-fds-private-v2), navigate to the
autograder_zipsfolder, and download theautograder.zipfor the assignment you are grading. - Grade automatically: Log into the grader at https://grader.datahub.berkeley.edu/ with your GitHub username and grade the submissions (see Otter Autograding).
- Import grades: Upload the CSV file with grades back to Canvas.
Please do not distribute solutions
Access to ucb-dsus-adopters/materials-fds-private-v2 is granted on the condition that solutions are not redistributed. This protects the integrity of the course materials for every adopting institution.
License¶
Data 8 content is released under two different licenses. Check which applies before you adapt or redistribute:
- The Data 8 textbook (Inferential Thinking) is licensed CC-BY-NC-ND. You may use it at inferentialthinking.com, but you may not modify or redistribute it without permission from the textbook authors.
- Data 8 course materials (notebooks, exercises, and other materials) are licensed CC-BY-NC. You are free to modify and distribute them.
- Private course materials (exams and answers) are kept private to protect course integrity; request access via the instructor interest form.
See Understanding Licenses for how to read these terms.
Explore the materials in your browser¶
The full course calendar is also available as an in-browser notebook preview, with links to slides, worksheets, and videos where available. It runs the notebooks directly in your browser (xeus-lite), so it is handy for previewing the materials. It is not meant for active classroom use, but it is a quick way to explore what the course covers.
Browse Data 8 notebooks in your browser
Need help?¶
Email ds-help@berkeley.edu or see Support.