Date on Honors Thesis

Spring 4-26-2024


Computer Science

Examining Committee Member

Dr. Jason Owen, PhD

Examining Committee Member

Dr. David Roach, PhD

Examining Committee Member

Dr. Christopher Mecklin, PhD


Over the previous 20 years, the software development industry has overseen an evolution in application of Version Control Systems (VCS) from a Centralized Version Control System (CVCS) format to a Decentralized Version Control Format (DVCS). Examples of the former include Perforce and Subversion whilst the latter of the two include Github and BitBucket. As DVCS models allow software contributors to maintain their respective local repositories of relevant code bases, developers are able to work offline and maintain their work with relative fault tolerance. This contrasts to CVCS models, which require software contributors to be connected online to a main server. Given this expansion in capabilities of productivity under the DVCS model, the Open Source Software (OSS) development scene has transformed accordingly by moving to a DVCS system from the previous CVCS one. Previous work has shown that security breaches and bugs existing on any given application are patched more efficiently, albeit with occasional latency. Accordingly, many software development businesses in the contemporary industry require potential applicants to have knowledge of a VCS model of some sort for employment, with preference given to a DVCS model.

Despite this necessity, many universities, including Murray State University, fail to introduce their students to any VCS system until the last year of their undergraduate experience in Computer Science during their work throughout their senior capstone project. Additionally, many students do not apply a VCS model until their senior capstone project as well. Preliminary literature review has found that students who are permitted to conduct academic work on assignments within the Computer Science profession in their earlier years have been found to have greater engagement (Hsing and Gennarelli, 1,2). They also found community through the VCS model they used and consequently were more motivated to complete course assignments (Hsing and Gennarelli, 2). Additionally, DVCS models, such as github, maintain a log of commits through securing hashing algorithms, preventing students from violating submission standards by modifying logs to give inaccurate submission dates (Lawrence et. al., 2). However, there appears to be a gap in research concerning enthusiasm of Computer Science students specifically to integrate VCS models earlier in their education.

Given the aforementioned benefits of the DVCS model, the goal of this study is to determine the academic benefits of introducing Computer Science students to DVCS models earlier in their education by measuring student and instructor attitudes to doing so. The first part of this study shall consist of obtaining data of student familiarity to VCS models and professor instructors on VCS models through a survey. The second part of this study aims to capture their attitudes towards integrating VCS education earlier in their academic career. The final part of this study shall consist of a regression model to determine enthusiasm of students. This will include VCS instructions earlier in their education based on their year in college and whether or not they have used VCS for software development. Likewise, a second regression model will assess the enthusiasm of professors to incorporate VCS in their lower-level courses will be determined by the amount of years they have taught and the course level they teach.