Last year, Gustaaf Wehnes – a computer science teacher at William Aberhart High School in Calgary, Alberta – heard about a Callysto workshop from a colleague. He attended the session and learned how Callysto uses Jupyter notebooks to teach data science. Jupyter notebooks are free, online documents that allow users to create and share documents that incorporate live code. The “live code” part is key. Users have the flexibility to do a wide variety of data science functions, such as creating data visualizations (i.e. graphs) and cleaning data (i.e. fixing missing or inaccurate values).
“There was an obvious data science connection, and I was already pivoting my courses to be more data-centric, including how to query, process, and store data,” says Wehnes. “Since the workshop, I wanted to see how Jupyter notebooks worked. I made it the focus of my 2019-2020 teacher professional growth plan, which is an annual requirement for Alberta teachers.”
Facing the challenge
In early March, Wehnes anticipated the move to online learning due to the COVID-19 pandemic. He knew this shift would impact students in his advanced computer science 30 course, who were learning how to work with data using the “SQL” programming language.
An online shift would mean these students wouldn’t have the same computer environment to work in to practice on data sets. As well, students wouldn’t be able to access the school server, where they store their data sets.
Using a “Jupyter” solution
From the Callysto workshop, Wehnes understood Jupyter notebooks could solve the upcoming learning challenges. Jupyter notebooks work on almost any computer or tablet – users only need an internet connection and browser. Jupyter notebooks also have the capacity to manage large data sets, which means his students could explore real-world, open-source data that would be managed from Jupyter’s server.
He spent a few weeks learning how to use Jupyter notebooks, and developed four notebooks of his own for his Computer Science 30 students. In these notebooks (which are done in chronological order) students learn to find and analyze open data, visualize data, and then filter and join data sets.
“There were substantial support materials and examples provided by Callysto on how to use open-source data, which helped me learn,” he says.
The online shift happened just before the end of March. Wehnes’s students are now taking the notebooks on a virtual test-run. “They were enthusiastic when I demonstrated some basics,” he says. “One of the comments in our online chat was: ‘This is very cool!’”
Exploring the learning opportunities
Overall, Wehnes hopes these notebooks will introduce students to using open-source data to develop data-centric apps.
“I want to prepare them for the modern workforce, and help them see the role data plays in daily life and business,” he says.
Specific outcomes he hopes students will learn are: how to use the SQL programming language to work with data from Socrata (a web platform used by governments for hosting open-source data); how to join datasets programmatically; and the difference between client-side and server-side data processing.
When it comes to advice on how other teachers can introduce Jupyter notebooks to their classrooms, Wehnes says: “Take a bit of time and find your level. Don’t overly stress about writing your own notebooks right away. Once you have a good concept of what these notebooks can do, take an example and modify. You can also try to connect with the Computer Science classes in your school or district, and see if they are willing to work with you in developing your own.”
Interested in learning more? Contact us!
If you’re a Grades 5-12 teacher interested in learning how to use Jupyter notebooks in your classroom, email us at firstname.lastname@example.org.
Happy online learning!