2018 EDSIGCON Proceedings - Abstract Presentation
Using Jupyter Notebooks and GitHub to Create Explorable Explanations in Python and SAS Classes: Early Experience
Danial L. Clapper
Western Carolina University
Abstract
The iterative and exploratory nature of data analytics can make it challenging to document and reproduce the steps an analyst takes to arrive at a result. Jupyter Notebooks offer promise for creating reproducible computational narratives that allow reproducible, sharable solutions to this problem (Perez and Granger, 2015). Growing out of the IPython Project, Jupyter Notebooks makes it possible to create a notebook that is a mixture of text, interactive code and visualizations.
While Jupyter Notebooks have promise in conducting data analytics, they also have some unique pedagogical possibilities in the teaching of analytics. They provide a consistent, transparent, minimal learning curve environment for learning a variety of languages used in analytics, such as Python, SAS and R. The step by step and interactive nature of Jupyter Notebooks provides an attractive way to scaffold student learning and let students focus on solving one problem at a time as they gain mastery of the material.
Writing in the context of creating active readers, Victor suggests the idea of Explorable Explanations in which rather than thinking of text as something to be consumed, it could instead be an environment to think in (Victor, 2011). In the context of teaching data analytics, Jupyter Notebooks allow the creation of a unique learning environment that lowers initial barriers to learning, allows the instructor to provide learning scaffolding, allows students to learn and succeed with small parts of the problem but then build to more complex solutions -- all while encouraging the student to actively explore the explanatory material and add their own work to it.
Because Jupyter Notebooks files are text-based JSON files, they also are well suited for version control in git. In the past, the git version control system has been something that probably only software engineering students would use in class. But GitHub has significantly lowered the difficulties associated with using git. In addition, GitHub has created GitHub Education that gives faculty the ability to create as many private repositories as they need for their classes. Because of the quickness of pushes to GitHub, it can also make it much more feasible to have students work on in-class coding and then be able to display and discuss that code quickly during class. GitHub also gives instructors an opportunity to: See when activities are completed, add comments/notes to in-progress code, and work with a student's in-progress code while displaying to the class.
This Work-In-Progress presentation will describe the use of Jupyter Notebooks and GitHub in separate Python and SAS classes. The various pedagogical workflows used in the classes will be demonstrated with a summary of their successes as well as problems encountered.
Short Bibliography
About GitHub Education for educators and researchers. Retrieved from: https://help.github.com/articles/about-github-education-for-educators-and-researchers/
About Us: Some information about the Jupyter Project and Community. Retrieved from: http://jupyter.org/about
Fogh, J. H. (2018). Explorable Explanations: What are they? What do they explain? How do we work with them? Let's find out. Retrieved from http://muep.mau.se/bitstream/handle/2043/25770/Jesper%20Hyldahl%20Fogh%20-%20TP2%20-%20Explorable%20Explanations.pdf?sequence=1&isAllowed=y
Perez, F., & Granger, B. E. (2015). Project Jupyter: Computational narratives as the engine of collaborative data science. Retrieved from http://archive.ipython.org/JupyterGrantNarrative-2015.pdf
Rule, A., Tabard, A., & Hollan, J. (2018, April). Exploration and Explanation in Computational Notebooks. In ACM CHI Conference on Human Factors in Computing Systems.
Victor, B. (2011, March 10). Explorable Explanations. Retrieved from http://worrydream.com/ExplorableExplanations/
Zagalsky, A., Feliciano, J., Storey, M. A., Zhao, Y., & Wang, W. (2015, February). The emergence of github as a collaborative platform for education. In Proceedings of the 18th ACM Conference on Computer Supported Cooperative Work & Social Computing (pp. 1906-1917). ACM.
Recommended Citation: Clapper, D. L., (2018). Using Jupyter Notebooks and GitHub to Create Explorable Explanations in Python and SAS Classes: Early Experience. Proceedings of the EDSIG Conference, (2018) n.4784, Norfolk, Virginia