A Software Engineering Capstone Course Facilitated By GitHub Templates
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.