An Exploration of Participation in Student Software Teams
How Programming Experience Affects Participation in Student Software Teams and Leveraging Repository Insights for Monitoring Participation
More Info
expand_more
Abstract
Group work is an integral part of Computing Education, but introduces problems when students either fail to participate enough or dominate, not allowing their team members to contribute. This research focuses on identifying the participation level of the students, allowing the teacher or teaching assistant who monitors the group throughout the project to identify and resolve problems. The software metrics that can be extracted from the code repository are often used in this monitoring process. Therefore, this study investigates the correlation between the software metrics and the participation level. Furthermore, this study aims to understand the correlation between programming experience and the participation level in the project.
To this end, four project groups were observed over several weeks, followed by interviews with their teaching assistants. A questionnaire assessed each student’s programming experience and collected data about confounding factors. A selection of software metrics to collect was made based on the literature and the teaching assistant interviews. Per contributor, we collected and analysed the number of lines of code, amount of issue comments, amount of MR comments, amount of commits, cumulative cyclomatic complexity, maximum cyclomatic complexity, amount of pipelines triggered, and pipeline failure ratio.
Of the twenty students in the observed groups, eight were classified as high participation, and six were identified as low participation. No significant correlation was found between participation level and gender, age, nationality, GPA, or group familiarity. Programming experience also did not predict participation, suggesting that a lack of experience is not a valid reason for low engagement. Furthermore, the number of lines of code students wrote, the number of commits students made, and the number of comments that students posted on merge requests are correlated with the participation level. This means these metrics can be used for monitoring student software groups and can indicate more than just code contribution.