论文标题
编程项目的学生团队工作:GitHub日志可以向我们展示什么?
Student Teamwork on Programming Projects: What can GitHub logs show us?
论文作者
论文摘要
团队合作通常是由GIT和Apache Subversion(SVN)等版本控制系统介导的,对专业编程至关重要。结果,即使在入门课程中,许多大学也将协作和在线开发环境纳入其课程。在这项研究中,我们在CS2 Java编程课程的两个针对计算机科学专业的CS2 Java编程课程的产品中收集了GitHub日志。学生每年都为这两个项目成对工作(一个可选,另一个强制性)。我们使用学生的GitHub历史将学生团队分为三组,分为基于劳动分工的协作,合作或独奏。然后,我们为学生的团队合作计算了不同的指标,包括项目的不同部分的总数和平均投入数量,并使用这些指标来预测学生的团队合作风格。我们的发现表明,我们可以从他们的提交日志中自动识别学生的团队合作方式。这项工作有助于我们在使用版本控制系统时更好地了解新手的习惯。这些习惯可以识别其中的有害工作方式,并可能导致将来的自动脚手架发展自动脚手架,并在将来提供同伴支持。
Teamwork, often mediated by version control systems such as Git and Apache Subversion (SVN), is central to professional programming. As a consequence, many colleges are incorporating both collaboration and online development environments into their curricula even in introductory courses. In this research, we collected GitHub logs from two programming projects in two offerings of a CS2 Java programming course for computer science majors. Students worked in pairs for both projects (one optional, the other mandatory) in each year. We used the students' GitHub history to classify the student teams into three groups, collaborative, cooperative, or solo-submit, based on the division of labor. We then calculated different metrics for students' teamwork including the total number and the average number of commits in different parts of the projects and used these metrics to predict the students' teamwork style. Our findings show that we can identify the students' teamwork style automatically from their submission logs. This work helps us to better understand novices' habits while using version control systems. These habits can identify the harmful working styles among them and might lead to the development of automatic scaffolds for teamwork and peer support in the future.