Table of Contents
Fetching ...

A Software Engineering Capstone Course Facilitated By GitHub Templates

Spencer Smith, Christopher William Schankula, Lucas Dutton, Christopher Kumar Anand

TL;DR

A GitHub template is proposed that contains all the initial infrastructure a team needs, including the folder structure, text-based template documents and template issues, and a fairness measure based on the disparity between number of commits between all pairs of teammates is introduced.

Abstract

How can instructors facilitate spreading out the work in a software engineering or computer science capstone course across time and among team members? Currently teams often compromise the quality of their learning experience by frantically working before each deliverable. Some team members further compromise their own learning, and that of their colleagues, by not contributing their fair share to the team effort. To mitigate these problems, we propose using a GitHub template that contains all the initial infrastructure a team needs, including the folder structure, text-based template documents and template issues. In addition, we propose each team begins the year by identifying specific quantifiable individual productivity metrics for monitoring, such as the count of meetings attended, issues closed and number of commits. Initial data suggests that these steps may have an impact. In 2022/23 we observed 24% of commits happening on the due dates. After partially introducing the above ideas in 2023/24, this number improved to 18%. To measure the fairness we introduce a fairness measure based on the disparity between number of commits between all pairs of teammates. Going forward we propose an experiment where commit data and interview data is compared between teams that use the proposed interventions and those that do not.

A Software Engineering Capstone Course Facilitated By GitHub Templates

TL;DR

A GitHub template is proposed that contains all the initial infrastructure a team needs, including the folder structure, text-based template documents and template issues, and a fairness measure based on the disparity between number of commits between all pairs of teammates is introduced.

Abstract

How can instructors facilitate spreading out the work in a software engineering or computer science capstone course across time and among team members? Currently teams often compromise the quality of their learning experience by frantically working before each deliverable. Some team members further compromise their own learning, and that of their colleagues, by not contributing their fair share to the team effort. To mitigate these problems, we propose using a GitHub template that contains all the initial infrastructure a team needs, including the folder structure, text-based template documents and template issues. In addition, we propose each team begins the year by identifying specific quantifiable individual productivity metrics for monitoring, such as the count of meetings attended, issues closed and number of commits. Initial data suggests that these steps may have an impact. In 2022/23 we observed 24% of commits happening on the due dates. After partially introducing the above ideas in 2023/24, this number improved to 18%. To measure the fairness we introduce a fairness measure based on the disparity between number of commits between all pairs of teammates. Going forward we propose an experiment where commit data and interview data is compared between teams that use the proposed interventions and those that do not.

Paper Structure

This paper contains 13 sections, 1 equation, 6 figures, 1 table.

Figures (6)

  • Figure 1: V Model Used for Capstone Deliverables
  • Figure 2: GitHub Capstone Template
  • Figure 3: Histogram of Commits for 2022--2023. Dates shown in red are due dates for major written deliverables, and dates in orange are days where presentations were scheduled.
  • Figure 4: Histogram of Commits for 2023--2024. Dates shown in red are due dates for major written deliverables, and dates in orange are days where presentations were scheduled.
  • Figure 5: Fairness of Commits Per Team 2022/23 [n=13; Team Fairness Mean: 0.63, Stddev: 0.15; Time Fairness Mean: 0.12, Stddev: 0.05; Correlation: -0.16]
  • ...and 1 more figures