skip to main content
10.1145/3478431.3499371acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article
Open access

If in Doubt, Try Three: Developing Better Version Control Commit Behaviour with First Year Students

Published: 22 February 2022 Publication History

Abstract

Developing good version control skills is important for students to master. This work focuses on helping students integrate good commit behaviour using a scaffolding process that happens with their regular assignments. A test group of students (n=30) was required to make a minimum of three commits in the first week. In the second week, students were trained to write better commit messages and worked together on a commit plan. In the final week, students worked alone on their commit plan. Commit behaviour was analysed for assignments occurring before, during and after the process. Results showed that students improved their commit behaviour in terms of number of commits, starting earlier with their assignments and writing more meaningful commit messages when compared to the rest of their cohort and the previous year's cohort (m=350). Qualitative results showed that students were mostly positive towards developing better commit behaviour and felt that the extra effort to think in commits delivered proportionally more benefits for their work.

References

[1]
Jeff Atwood. 2008. Check In Early; Check In Often. https://blog.codinghorror.com/check-in-early-check-in-often/. Accessed: 2021--12-05.
[2]
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. https://doi.org/10.1109/ICETA.2013.6674398
[3]
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. https://doi.org/10.1145/1227310.1227344
[4]
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. https://doi.org/10.1049/sej.1989.0030
[5]
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. https://doi.org/10.1145/2901739.2901776
[6]
Richard Glassey. 2019 a. Adopting git/github within teaching: A survey of tool support. In Proceedings of the 1st ACM Conference on Global Computing Education. 143--149. https://doi.org/10.1145/3300115.3309518
[7]
Richard Glassey. 2019 b. Developing feedback analytics: Discovering feedback patterns in an introductory course. In Proceedings of the ACM Conference on Global Computing Education . 37--43. https://doi.org/10.1145/3300115.3309519
[8]
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. https://doi.org/10.5555/1089182.1089195
[9]
Georgios Gousios and Diomidis Spinellis. 2017. Mining Software Engineering Data from GitHub. In Proceedings of the 39th International Conference on Software Engineering Companion (Buenos Aires, Argentina) (ICSE-C '17). IEEE Press, Piscataway, NJ, USA, 501--502. https://doi.org/10.1109/ICSE-C.2017.164
[10]
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. https://doi.org/10.1145/2729094.2742608
[11]
Ken T. N. Hartness. 2006. Eclipse and CVS for Group Projects . Journal of Computing Sciences in Colleges, Vol. 21, 4 (2006), pp. 217--222. https://doi.org/10.5555/1127389.1127430
[12]
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. https://doi.org/10.1145/3159450.3159595
[13]
Courtney Hsing and Vanessa Gennarelli. 2019. Using GitHub in the classroom predicts student learning outcomes and classroom experiences: Findings from a survey of students and teachers. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education . 672--678. https://doi.org/10.1145/3287324.3287460
[14]
Peter Hutterer. 2009. On Commits. https://who-t.blogspot.com/2009/12/on-commit-messages.html . Accessed: 2021--12-05.
[15]
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. https://doi.org/10.1007/978--3--319--13206--8_9
[16]
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. https://doi.org/10.1145/3197091.3197107
[17]
John Kelleher. 2014. Employing git in the classroom. In World Congress on Computer Applications and Information Systems (WCCAIS'14). IEEE, pp. 1--4. https://doi.org/10.1109/WCCAIS.2014.6916568
[18]
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. https://doi.org/10.1145/3159450.3159602
[19]
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. https://doi.org/10.1145/1734263.1734427
[20]
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. https://doi.org/10.1145/2445196.2445386
[21]
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. https://doi.org/10.5555/1127442.1127472
[22]
Ivan Milentijevic, Vladimir Ciric, and Oliver Vojinovic. 2008. Version control in project-based learning . Computers and Education, Vol. 50, 4 (2008), pp. 1331--1338. https://doi.org/10.1016/j.compedu.2006.12.010
[23]
Misc. 2021. Writing Good Commit Messages. https://github.com/erlang/otp/wiki/writing-good-commit-messages . Accessed: 2021--12-05.
[24]
Alex Radermacher, Gursimran Walia, and Dean Knudson. 2014. Investigating the skill gap between graduating students and industry expectations. In Companion Proceedings of the 36th international conference on software engineering . 291--300. https://doi.org/10.1145/2591062.2591159
[25]
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. https://doi.org/10.1145/1047124.1047441
[26]
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. https://doi.org/10.1145/1953163.1953342
[27]
Nayan B Ruparelia. 2010. The history of version control. ACM SIGSOFT Software Engineering Notes, Vol. 35, 1 (2010), 5--9. https://doi.org/10.1145/1668862.1668876
[28]
Sanket. 2019. Git Best Practices. https://deepsource.io/blog/git-best-practices/. Accessed: 2021--12-05.
[29]
Ian Sommerville. 2015. Software Engineering 10th ed.). Addison-Wesley. https://doi.org/10.5555/1841764
[30]
Diomidis Spinellis. 2005. Version control systems. IEEE Software, Vol. 22, 5 (2005), 108--109. https://doi.org/10.1109/MS.2005.140
[31]
Guilherme Trein. 2020. Git Commit Best Practices. https://github.com/trein/dev-best-practices/wiki/Git-Commit-Best-Practices . Accessed: 2021--12-05.
[32]
Miroslav Tushev, Grant Williams, and Anas Mahmoud. 2020. Using GitHub in large software engineering classes. An exploratory case study. Computer Science Education, Vol. 30, 2 (2020), 155--186. https://doi.org/10.1080/08993408.2019.1696168
[33]
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. https://doi.org/10.1049/ic:20040472

Cited By

View all
  • (2025)Introducing Code Quality at CS1 Level: Examples and Activities2024 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3689187.3709615(339-377)Online publication date: 22-Jan-2025
  • (2023)Thinking Inside the Box: Using Containers To Encourage Commit DisciplineJournal of Computing Sciences in Colleges10.5555/3636988.363701039:3(110-118)Online publication date: 1-Oct-2023
  • (2023)Improving the Quality of Commit Messages in Students’ Projects2023 IEEE/ACM 5th International Workshop on Software Engineering Education for the Next Generation (SEENG)10.1109/SEENG59157.2023.00005(1-4)Online publication date: May-2023

Index Terms

  1. If in Doubt, Try Three: Developing Better Version Control Commit Behaviour with First Year Students

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGCSE 2022: Proceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 1
    February 2022
    1049 pages
    ISBN:9781450390705
    DOI:10.1145/3478431
    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: 22 February 2022

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. commit behaviour
    2. cs1/cs2
    3. git
    4. version control systems

    Qualifiers

    • Research-article

    Conference

    SIGCSE 2022
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Introducing Code Quality at CS1 Level: Examples and Activities2024 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3689187.3709615(339-377)Online publication date: 22-Jan-2025
    • (2023)Thinking Inside the Box: Using Containers To Encourage Commit DisciplineJournal of Computing Sciences in Colleges10.5555/3636988.363701039:3(110-118)Online publication date: 1-Oct-2023
    • (2023)Improving the Quality of Commit Messages in Students’ Projects2023 IEEE/ACM 5th International Workshop on Software Engineering Education for the Next Generation (SEENG)10.1109/SEENG59157.2023.00005(1-4)Online publication date: May-2023

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media