Jupyter notebooks are widely used in industry for a range of tasks. This is particularly so in areas that involve significant amounts of data analysis or machine learning; indeed, while 5% of Python developers surveyed in the 2018 JetBrains Python Developer Survey report using Jupyter notebooks for their pri- mary development tool, when restricted to those working in data science roles, Jupyter notebooks tied with the PyCharm IDE as the most popular tool for Python development [1], and in the 2019 StackOverflow developer survey, 9.5% of developers surveyed listed Jupyter notebooks as their preferred develop- ment environment [2].
Jupyter notebooks provide a format that allows the user to combine code, explanation, and analysis in a single document. The ability to mix educational or explanatory content, includ- ing, but not limited to, images, video, typeset mathematical equations, and live code makes notebooks a highly effective communication tool that enables a ‘flowing narrative’ for stu- dents to follow. This has a significant pedagogical advantage, and it is difficult to produce a similar experience in other for- mats. However, literature on if or how Jupyter notebooks are currently being used in education is limited, and what litera- ture does exist is often tailored to their use in teaching specific narrow topics [3, 4]. There is little guidance in the literature on best practices for incorporating Jupyter notebooks into the curriculum.
In this poster, we present the results of a survey of educa- tors on their use of Jupyter notebooks for education. Our goal is to provide some perspective on how Jupyter notebooks are currently being used in education and to illustrate com- mon sentiments regarding their strengths and weaknesses in the classroom, so that others considering the use of Jupyter notebooks in their courses can use them effectively.