Teaching and Learning with Jupyter

Jupyter notebooks, inspired by Donald Knuth’s (1984) vision of “literate programming”, embed directly executable code (Julia, Python, and R – hence Jupyter) within rich text documents. Although originally developed for scientists to share their work, they are also becoming a popular method to introduce data-rich science and mathematical investigations to secondary and intro college students (Fleischer et al., 2022; Van Dusen, 2020). For example, Berkeley’s own Data 6 and Data 8 “Introduction to Data Science” course activities (https://data6.org/; http://www.data8.org/), UCLA’s CourseKata collection of high school mathematics curricula (https://coursekata.org/), and ProDaBi, an emerging data/AI curricular package in Germany (https://www.prodabi.de/en/), all run on python/Jupyter notebooks.

However, development of curriculum using Jupyter has far outpaced basic research in this area. Jupyter was not originally designed for educational use. Early empirical work indicates challenges in teaching with Jupyter at the K-12 level are common (Johnson, 2020), and still little is known about what is required to prepare teachers to introduce these materials to classrooms (Hanč et al., 2020). These early findings are consistent with my conversations with high school and university educators, who find Jupyter notebooks can be susceptible to shallow “click-run-and-done” engagements. Like other tools of science and mathematics, introducing python/Jupyter notebooks to students requires teachers to develop attunements to the basic structures and epistemic functions of these tools, and this process is not yet well-understood.

This pilot will examine teaching and learning with Jupyter notebooks through a sequence of two semi-structured cognitive task interviews with ~30 pre-service STEM teachers as they interact with a set of two python/Jupyter notebook tasks focused on local air quality. Leveraging epistemic network analytic techniques to identify patterns across participants, this work will examine the following questions:

(1) Technical. What technical aspects of Jupyter notebooks (navigating the notebook; understanding foundational structures such as data frames; reading and writing code; creating measures or data representations) do teachers find challenging and why?

(2) Conceptual. What connections, if any, do teachers articulate between computing, data/statistics, science, and their own knowledge of real-world contexts as presented in the notebook task?

(3) Epistemological. What do teachers identify as the nature, benefits, and limitations of open data and computing as tools for making sense of data-rich scientific phenomena?


People