Skip to main content

Teaching

How I teach data science, and over a decade of workshops, conference tutorials, and recorded courses outside the classroom.

I’ve been teaching data science since 2014, when I started teaching workshops with The Carpentries. That turned into tutorials at conferences like SciPy, PyCon, and posit::conf, recorded courses with Pearson and DataCamp, and 4 years as a Data Science Educator at Posit (formerly RStudio), where I’m also a Certified Tidyverse Trainer. These days I’m a Lecturer in Statistics at the University of British Columbia, and my courses there have their own page.

🏫 Teaching at UBC

My courses in UBC Statistics and the Master of Data Science program, and the open textbooks they run on.

my UBC courses →

🎤 Talks and workshops

Every talk, workshop, and tutorial I’ve given, with links to the materials.

talks and workshops →

🩺 ds4biomed

Data Science for the Biomedical Sciences: an online book teaching data skills to clinicians and researchers.

read the book →

Open textbooks

All of these are free to read online, so anyone can learn from them or teach with them. The first 3 run my courses in UBC’s Master of Data Science program.

How I teach

I picked up live coding from my time with The Carpentries, and it’s still a big part of how I teach, mistakes and all. Each lecture’s code ends up in its own public GitHub repository, so students have something to look back on when they’re working on their assignments (and a colleague who took over one of my courses found them the fastest way to see what had been taught).

I start every lecture with a 10 to 15 minute review of earlier topics, since students don’t always bring what they already know into a new lecture on their own. I also try to keep in mind who’s actually in the room. My PhD research was on learner personas, designing data science materials for a specific audience, and in DSCI 100 I’ve noticed students arriving with less computing background than they used to, so I added code review sessions and wrote worked examples for every week in both R and Python.

A lot of my course material starts out as a conference tutorial or workshop, where I get to see how it lands with an audience before it goes into a course. The LLM unit in DSCI 532 went through a workshop for MDS students, tutorials at PyData and the New York Data Science & AI Conference, and a talk to my department before any students had to sit through it for credit.

Teaching with AI

This year I started bringing AI into my classes on purpose, both to help students learn the material and so they can see how these tools actually work. What that looks like in my UBC courses is on the Teaching at UBC page, and I’m writing up how it goes in my Incorporating AI in the Classroom series on the blog. Outside UBC, I’m co-teaching Learn Anything with AI, a one-week retreat with Eric Ma, in February 2027.

The Carpentries

I’ve been part of The Carpentries since 2014, first teaching workshops and later training new instructors, and from 2020 to 2022 I was their Maintainer Community Lead. Everything I’ve done with them, including all 15 workshops I’ve taught, is on its own page.

Workshops and tutorials

At Virginia Tech, I co-taught the intensive data science workshop for the Data Science for the Public Good program (2015–2018).

Recent conference tutorials and workshops:

  • 2026: Shiny for Python at PyCon US and SciPy; Git forking and contributing to open source at R/Medicine
  • 2025: Shiny for Python at posit::conf and SciPy; LLMs for data science at PyData Seattle and the New York Data Science & AI Conference
  • 2024: machine learning in Python with scikit-learn at posit::conf (materials); creating and distributing R packages at the Statistical Society of Canada (materials)
  • 2016–2023: pandas tutorials at PyCon, SciPy, PyBay, and PyData; Git for data science at the New York R Conference; R and Python workshops at ODSC East, R/Medicine, and posit::conf

Those are the highlights. Every talk and workshop I’ve given, with links to its materials, is on my Talks page.

Recorded courses

Writing about teaching

Posts tagged teaching on the blog, including my Preparing the Future Professoriate series from grad school.