skip to main content
10.1145/3300115.3309518acmconferencesArticle/Chapter ViewAbstractPublication PagescompedConference Proceedingsconference-collections
research-article

Adopting Git/Github within Teaching: A Survey of Tool Support

Published: 09 May 2019 Publication History

Abstract

The adoption and use of Git and Github within computer science education is growing in popularity. The motivation for this shift is strong: it combines a robust system for managing student coursework, sophisticated collaboration and communication tools for students and teaching staff, and an authentic experience of an important software engineering skill. Whilst previous literature has reported upon experience and benefits, there still exists a technical barrier to overcome in adopting Git and Github within an educational context. In response, both the community of teachers using Git/Github and the Github organisation itself have developed tool support to help solve the challenge of adoption, however these efforts are somewhat isolated and relatively unstudied. This work aims to provide an overview of these tools, identify the commonalities and differences, and develop a framework for comparison to assist teachers when looking for solutions for their own courses.

References

[1]
Miroslav Bias. 2013. Version Control System in CS1 Course: Practical Experience. In IEEE 11th International Conference on Emerging eLearning Technologies and Applications (ICETA'13). pp. 23--28.
[2]
Curtis Clifton, Lisa C Kaczmarczyk, and Michael Mrozek. 2007. Subverting the Fundamentals Sequence: Using Version Control to Enhance Course Management. In Proceedings of the 38th ACM Technical Symposium on Computer Science Education (SIGCSE'07). ACM New York, NY, USA, pp. 86--90.
[3]
B J Cornelius, M Munro, and D J Robson. 1989. An approach to software maintenance education. Software Engineering Journal, Vol. 4, July (1989), pp. 233--236.
[4]
Valerio Cosentino, Javier Luis, and Jordi Cabot. 2016. Findings from GitHub: Methods, Datasets and Limitations. In Proceedings of the 13th International Workshop on Mining Software Repositories (MSR'16). ACM New York, NY, pp. 137--141.
[5]
Joseph Feliciano, Margaret-Anne Storey, and Alexey Zagalsky. 2016. Student experiences using GitHub in software engineering courses: a case study. In Proceedings of the 38th International Conference on Software Engineering Companion (ICSE'16). 422--431.
[6]
Richard Glassey. 2018. Managing assignment feedback via issue tracking. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2018). ACM New York, NY, USA, p. 382.
[7]
Louis Glassy. 2006. Using version control to observe student software development processes. Journal of Computing Sciences in Colleges, Vol. 21, 3 (2006), pp. 99--106.
[8]
Georgios Gousios and Diomidis Spinellis. 2017. Mining Software Engineering Data from GitHub. In Proceedings of the 39th International Conference on Software Engineering Companion (ICSE-C '17). IEEE Press, Piscataway, NJ, USA, 501--502.
[9]
Lassi Haaranen and Teemu Lehtinen. 2015. Teaching Git on the Side. In Proceedings of the 20th Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE'15). ACM New York, USA, 87--92.
[10]
Ken T. N. Hartness. 2006. Eclipse and CVS for Group Projects. Journal of Computing Sciences in Colleges, Vol. 21, 4 (2006), pp. 217--222.
[11]
Sarah Heckman and Jason King. 2018. Developing Software Engineering Skills using Real Tools for Automated Grading. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education. ACM, 794--799.
[12]
Ville Isomö ttö nen and Michael Cochez. 2014. Challenges and Confusions in Learning Version Control with Git. In Communications in Computer and Information Science, Zholtkevych G. (eds) Ermolayev V., Mayr H., Nikitchenko M., Spivakovsky A. (Ed.). Vol. 469. 178--193.
[13]
An Ju and Armando Fox. 2018. TEAMSCOPE: Measuring Software Engineering Processes with Teamwork Telemetry. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE'18). ACM New York, NY, USA, pp. 123--128.
[14]
Eirini Kalliamvakou, Georgios Gousios, Kelly Blincoe, Leif Singer, Daniel M. German, and Daniela Damian. 2016. An in-depth study of the promises and perils of mining GitHub. Empirical Software Engineering, Vol. 21, 5 (2016), pp. 2035--2071.
[15]
John Kelleher. 2014. Employing git in the classroom. In World Congress on Computer Applications and Information Systems (WCCAIS'14). IEEE, pp. 1--4.
[16]
Stephan Krusche and Andreas Seitz. 2018. ArTEMiS: An Automatic Assessment Management System for Interactive Learning. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education. ACM, 284-289.
[17]
Oren Laadan, Jason Nieh, and Nicolas Viennot. 2010. Teaching Operating Systems Using Virtual Appliances and Distributed Version Control. In Proceedings of the 41st ACM technical symposium on Computer Science Education (SIGCSE'10). ACM New York, NY, USA, pp. 480--484.
[18]
Joseph Lawrance, S Jung, and Charles Wiseman. 2013. Git on the cloud in the classroom. In Proceeding of the 44th ACM technical symposium on Computer science education (SIGCSE'13). pp. 639--644.
[19]
Stephen Paul Linder, David Abbott, and Michael J. Fromberger. 2006. An instructional scaffolding approach to teaching software design. Journal of Computing Sciences in Colleges, Vol. 21, 6 (2006), pp. 238--250.
[20]
Ivan Milentijevic, Vladimir Ciric, and Oliver Vojinovic. 2008. Version control in project-based learning. Computers and Education, Vol. 50, 4 (2008), pp. 1331--1338.
[21]
Karen L. Reid and Gregory V. Wilson. 2005. Learning by Doing : Introducing Version Control as a Way to Manage Student Assignments. In Proceedings of the 36th ACM technical symposium on Computer Science Education (SIGCSE'05). ACM New York, NY, USA, pp. 272--276.
[22]
Daniel Rocco and Will Lloyd. 2011. Distributed version control in the classroom. In Proceedings of the 42nd ACM technical symposium on Computer Science Education (SIGCSE'11). pp. 637--642.
[23]
Ian Sommerville. 2015. Software Engineering 10th ed.). Addison-Wesley.
[24]
Ying Liu. 2004. CVS historical information to understand how students develop software. In International Workshop on Mining Software Repositories (MSR'04). In proceedings of the 26th International Conference on Software Engineering (ICSE'04). ACM Press, pp. 32--36.

Cited By

View all
  • (2024)GitHub Pages as an LMS AlternativeProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660667(1-2)Online publication date: 2-May-2024
  • (2024)Active Repos: Integrating Generative AI Workflows into GitHubProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 210.1145/3649405.3659517(777-778)Online publication date: 8-Jul-2024
  • (2024)Combining Local Testing with Automatic Commits: Benefits for Progress Tracking and CS2 Students' Learning ExperienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653561(108-114)Online publication date: 3-Jul-2024
  • Show More Cited By

Index Terms

  1. Adopting Git/Github within Teaching: A Survey of Tool Support

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CompEd '19: Proceedings of the ACM Conference on Global Computing Education
    May 2019
    260 pages
    ISBN:9781450362597
    DOI:10.1145/3300115
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 May 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Git/Github
    2. computing education
    3. version control system

    Qualifiers

    • Research-article

    Conference

    CompEd '19
    Sponsor:

    Acceptance Rates

    CompEd '19 Paper Acceptance Rate 33 of 100 submissions, 33%;
    Overall Acceptance Rate 33 of 100 submissions, 33%

    Upcoming Conference

    CompEd '25
    ACM Global Computing Education Conference 2025
    October 21 - 25, 2025
    Gaborone , Botswana

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)89
    • Downloads (Last 6 weeks)12
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)GitHub Pages as an LMS AlternativeProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660667(1-2)Online publication date: 2-May-2024
    • (2024)Active Repos: Integrating Generative AI Workflows into GitHubProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 210.1145/3649405.3659517(777-778)Online publication date: 8-Jul-2024
    • (2024)Combining Local Testing with Automatic Commits: Benefits for Progress Tracking and CS2 Students' Learning ExperienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653561(108-114)Online publication date: 3-Jul-2024
    • (2024)Integrating Canvas and GitLab to Enrich Learning ProcessesProceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3639474.3640056(180-190)Online publication date: 14-Apr-2024
    • (2024)Fostering a Testing Mindset through Automated Feedback on Multiple Submissions Using Git-keeper2024 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)10.1109/ICSTW60967.2024.00066(349-353)Online publication date: 27-May-2024
    • (2024)Detecting Learning Behavior in Programming Assignments by Analyzing Versioned RepositoriesIEEE Access10.1109/ACCESS.2024.351484312(188828-188844)Online publication date: 2024
    • (2024)Introducing GitHub Classroom into a Formal Methods ModuleFormal Methods Teaching10.1007/978-3-031-71379-8_2(25-42)Online publication date: 10-Sep-2024
    • (2023)DCGit: Decentralized Internet Hosting for Software Development2023 International Conference on Information Networking (ICOIN)10.1109/ICOIN56518.2023.10049006(660-665)Online publication date: 11-Jan-2023
    • (2023)Applications for Automatic C Code Assessment2023 24th International Carpathian Control Conference (ICCC)10.1109/ICCC57093.2023.10178987(21-26)Online publication date: 12-Jun-2023
    • (2023)Relation Between Student Characteristics, Git Usage and Success in Programming CoursesResponsive and Sustainable Educational Futures10.1007/978-3-031-42682-7_10(133-148)Online publication date: 28-Aug-2023
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media