P2-02: Teaching Version Control in Introductory and Advanced Courses With GitHub Classroom: Experiences and Resources

By Jacob Fiksel, Leah Jager, Margaret Taub, and Johanna Hardin (Johns Hopkins University)


As more businesses, governments, and researchers make analysis-driven decisions, it is important to teach students how to collaborate with others in managing data, code, and results that are part of the analysis pipeline. Git and GitHub are common tools for keeping track of multiple versions of data analytic content, which allow for more than one person to simultaneously work on a project. GitHub Classroom aims to provide a way for students to work on and submit their assignments via Git and GitHub, giving teachers an opportunity to teach these version control tools as part of their course. In the Fall 2017 semester, we implemented GitHub Classroom in two educational settings--an introductory computational statistics lab at Johns Hopkins University (JHU) and a more advanced computational statistics course at Pomona College (PO). We found many educational benefits of implementing GitHub Classroom, such as easily providing coding feedback during assignments and making students more confident in their ability to collaborate and use version control tools for future data science work. We also discuss challenges for implementing GitHub Classroom in an introductory course setting and suggest different ways of introducing it in a statistics or data science course, based on student background knowledge. In addition to this discussion, we provide free and publicly available resources both for students to begin using Git/GitHub and for teachers to use GitHub Classroom for their own courses.




eCOTS 2018 - P2-02 - Teaching Version Control in Introductory and Advanced Courses With GitHub Classroom - Experiences and Resources.pdf