skip to main content
10.1145/1953163.1953342acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Distributed version control in the classroom

Published: 09 March 2011 Publication History

Abstract

Modern distributed version control systems offer compelling advantages for teaching students professional software development practices and skills. In this paper, we explore the potential for incorporating Mercurial into introductory, intermediate, and advanced computing courses. By incorporating version control into the entire CS curriculum, instructors create unique opportunities to engage students in collaborative, real-world projects and activities, giving them critical early exposure to the expectations and assumptions prevalent in the software development community. Early introduction to version control provides students with an important foundation in both personal and collaborative development excellence, offering them a competitive edge in the marketplace and a superior understanding of software development best practice.

References

[1]
B. Cannon, S. J. Turnbull, A. Vassalotti, B. Warsaw, and D. Ochtman. Choosing a distributed vcs for the python project. Retrieved September 6, 2010 from http://www.python.org/dev/peps/pep-0374/.
[2]
C. Clifton, L. C. Kaczmarczyk, and M. Mrozek. 2007. Subverting the fundamentals sequence: using version control to enhance course management. In SIGCSE '07: Proceedings of the 38th SIGCSE technical symposium on Computer science education, pages 86--90, New York, NY, USA. ACM.
[3]
Computer science curriculum 2008. Retrieved September 7, 2010 from http://www.acm.org/education/curricula/ComputerScience2008.pdf.
[4]
B. de Alwis and J. Sillito. 2009. Why are software projects moving from centralized to decentralized version control systems? In CHASE '09: Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering, pages 36--39, Washington, DC, USA. IEEE Computer Society.
[5]
C. Horstmann. Mercurial on opensolaris and glassfish. Retrieved April 3, 2010 from http://weblogs.java.net/blog/cayhorstmann/archive/2010/03/28/mercurial-%opensolaris-and-glassfish.
[6]
A. Hunt and D. Thomas. 2000. The Pragmatic Programmer. Addison-Wesley.
[7]
R. C. Martin. 2003. Agile Software Development. Pearson Education, Inc., Upper Saddle River, NJ, USA.
[8]
A. Meneely and L. Williams. 2009. On preparing students for distributed software development with a synchronous, collaborative development platform. In SIGCSE '09: Proceedings of the 40th ACM technical symposium on Computer science education, pages 529--533, New York, NY, USA. ACM.
[9]
Mozilla developer center mercurial introduction. Retrieved September 6, 2010 from https://developer.mozilla.org/en/Mercurial.
[10]
K. L. Reid and G. V. Wilson. 2005. Learning by doing: introducing version control as a way to manage student assignments. In SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science education, pages 272--276, New York, NY, USA. ACM.
[11]
J. Spolsky. 2004. Joel on Software. Springer-Verlag, New York, NY, USA.

Cited By

View all
  • (2024)Detecting Learning Behavior in Programming Assignments by Analyzing Versioned RepositoriesIEEE Access10.1109/ACCESS.2024.351484312(188828-188844)Online publication date: 2024
  • (2022)If in Doubt, Try ThreeProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499371(362-368)Online publication date: 22-Feb-2022
  • (2022)Early Identification of Student Struggles at the Topic Level Using Context-Agnostic FeaturesProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499298(147-153)Online publication date: 22-Feb-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '11: Proceedings of the 42nd ACM technical symposium on Computer science education
March 2011
754 pages
ISBN:9781450305006
DOI:10.1145/1953163
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 March 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. distributed version control
  2. education
  3. mercurial
  4. software development process
  5. software tools

Qualifiers

  • Research-article

Conference

SIGCSE '11
Sponsor:

Acceptance Rates

SIGCSE '11 Paper Acceptance Rate 107 of 315 submissions, 34%;
Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)1
Reflects downloads up to 19 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Detecting Learning Behavior in Programming Assignments by Analyzing Versioned RepositoriesIEEE Access10.1109/ACCESS.2024.351484312(188828-188844)Online publication date: 2024
  • (2022)If in Doubt, Try ThreeProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499371(362-368)Online publication date: 22-Feb-2022
  • (2022)Early Identification of Student Struggles at the Topic Level Using Context-Agnostic FeaturesProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499298(147-153)Online publication date: 22-Feb-2022
  • (2021)Progression highlighting for programming coursesJournal of Computing Sciences in Colleges10.5555/3470215.347021736:10(17-23)Online publication date: 8-Jun-2021
  • (2021)Making a Case for Studying the Effects of Using GitHub on HBCU Students' Computational Thinking Skills2021 Conference on Research in Equitable and Sustained Participation in Engineering, Computing, and Technology (RESPECT)10.1109/RESPECT51740.2021.9620585(1-2)Online publication date: 23-May-2021
  • (2019)Adopting Git/Github within TeachingProceedings of the ACM Conference on Global Computing Education10.1145/3300115.3309518(143-149)Online publication date: 9-May-2019
  • (2018)Analytic Hierarchy Process of Selection in Version Control Systems: Applied to Software DevelopmentInformation and Communication Technologies of Ecuador (TIC.EC)10.1007/978-3-030-02828-2_6(75-85)Online publication date: 18-Oct-2018
  • (2016)Quantifying introductory CS students' iterative software process by mining version control system repositoriesJournal of Computing Sciences in Colleges10.5555/2904446.290447031:6(97-104)Online publication date: 1-Jun-2016
  • (2014)Introducing undergraduate database students to K-12 education researchProceedings of the 45th ACM technical symposium on Computer science education10.1145/2538862.2538957(683-688)Online publication date: 5-Mar-2014
  • (2014)Challenges and Confusions in Learning Version Control with GitInformation and Communication Technologies in Education, Research, and Industrial Applications10.1007/978-3-319-13206-8_9(178-193)Online publication date: 28-Nov-2014
  • 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