F9-CL2-1 - Panel: Synergistic Perspectives on Collaborative Learning with Version Control Tools

Panels / Special Sessions
Mihaela Sabin1 , Kevin Buffardi2, Simon Larsén3, Bonnie MacKeller4
1 University of New Hampshire, Manchester, NH, U.S.A.
2 California State University, Chico, California, U.S.
3 KTH Royal Institute of Technology, Stockholm, Sweden
4 St. John's University, New York City, NY, U.S.A.

Goals of the panel session

Through our individual presentations and participation in the discussion segment of the panel session, we will:

1) Overview the motivation for adopting version control tools and platforms in the classroom

2) Offer three complementary teaching perspectives on the use of version control

3) Share and discuss how to design collaborative learning with version control platforms in diverse learning environments.

Description of the topics/subjects/content) and rationale for why these ideas are better served by a panel session

Developing software and using version control are intrinsically connected in the software engineering industry today. That is why code repository hosting services, such as GitHub or BitBucket, are an industry standard that has started to gain popularity among computing and engineering academic programs. A recent research study [3] found that using GitHub in the classroom predicts better student learning experiences. However, the study also pointed out that teachers did not perceive some use of GitHub as favorably as the students did. 

The GitHub platform is attractive to students because it has professional relevance, helps students showcase their work, and facilitates effective feedback with tools such as code review and issue tracking. Students are also eager adopters of version control because of how highly valued version control collaborative skills are across computing and engineering careers. However, in the absence of a curriculum that scaffolds and cultivates this skillset, students typically learn version control on their own and have a superficial understanding on how it works. 

Educators have adopted version control tools and platforms to be more effective with collecting, assessing, and providing targeted feedback to student work. Code hosting services also have the advantage of building rich data sets of student assignments and projects in one or more courses, over one or multiple semesters. Such data sets represent an invaluable source for assessing student individual contributions to a team project [1] and for investigating  research questions in teaching and learning with version control tools and platforms [2]. We acknowledge that an enthusiastic stance for version control promotes the use of it as a mandatory practice that students should experience from  their first year in the program of study, as opposed to being a single topic in some course of the program curriculum. The increasing demand for DevOps skills, which blend development and operations practices, adds to the enthusiasm for Git and GitHub as a central component to student preparation for DevOps careers.

In this panel, we focus on the specific value of version control as an enabler of collaborative learning. Designing collaborative learning with version control, however, brings considerable challenges. That is why the biggest question to scaling the use of version control is how to effectively teach it across program curricula. A skeptical teaching perspective is rightly justified by the lack of teaching resources and tools that teachers need to overcome version control's complexities and very time-consuming administrative tasks associated with using version control platforms. 

One example of lowering the entry barrier for teachers is the open source tool RepoBee [4], which helps teachers distribute and collect assignments, organize peer-review, and extend its basic functionality with plugins for tasks like automatic grading via unit testing and static code analysis. Another approach to mitigate the risks posed by limited experience with the use of version control is for teachers to collaborate, share, and support each other when teaching similar courses [5]. Encouraged by these examples, our panel seeks to open a realistic path to leveraging collaborative learning with version control platforms by engaging both enthusiasts and skeptics in a productive conversation that is inclusive of all experiences.

Description of the anticipated audience and why this is of interest to the FIE community

We anticipate that computing and engineering educators who use software projects and coding assignments in their courses will be interested in introducing or improving on the use of version control. From our own experience [1], [2], [4], [5], we know that version control can help teachers with giving prompt feedback and assessing both coding and non-coding artifacts. Version control platforms can also improve student collaboration practices  in any computing or engineering course, regardless of level (introductory or advanced) or disciplinary content. We also know how much the FIE community values project-based learning and team work. We believe that our presentations and audience participation will generate a productive discussion on how version control could become a common practice in project-based learning.

Brief description of any any proposed peer-reviewed full papers (if any) from panel members to accompany the Panel session

Not applicable.


[1] K. Buffardi, "Assessing Individual Contributions to Software Engineering Projects with Git Logs and User Stories,"  in Proc. of the 51st ACM Technical Symposium on Computer Science Education (SIGCSE ‘20). Association for Computing Machinery, New York, NY, USA, 2020 (in press). 

[2] R. Glassey, "Developing Feedback Analytics: Discovering Feedback Patterns in an Introductory Course," in Proc. of the ACM Conference on Global Computing Education (CompEd ’19). Association for Computing Machinery, New York, NY, USA, 2019, pp. 37–43. DOI:https://doi.org/10.1145/3300115.3309519.

[3] C. Hsing and V. Gennarelli, "Using GitHub in the Classroom Predicts Student Learning Outcomes and Classroom Experiences: Findings from a Survey of Students and Teachers," in Proc. of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE ’19). Association for Computing Machinery, New York, NY, USA, 2019, pp. 672–678. DOI:https://doi.org/10.1145/3287324.3287460

[4] S. Larsén and R Glassey, "RepoBee: Developing Tool Support for Courses using Git/GitHub,", in Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’19). Association for Computing Machinery, New York, NY, USA, 2019, pp. 534–540. DOI:https://doi.org/10.1145/3304221.3319784. 

[5] B. K. MacKellar, M. Sabin, and A. Tucker, "Scaling a framework for client-driven open source software projects: A report from three schools," Journal of Computing Sciences in Colleges, vol. 28, no. 6, pp. 140–147, June 2013.