Collaboration skills are important for future software engineers. In computer science education, these skills are often practiced through group assignments, where students develop software collaboratively. The approach that students take in these assignments varies widely, but often involves a division of labour. It can then be argued whether collaboration still takes place. The discipline of computing education is especially interesting in this context, because some of its specific features (such as the variation in entry skill level and the use of source code repositories as collaboration platforms) are likely to influence the approach taken within groupwork. The aim of this research is to gain insight into the work division and allocation strategies applied by computer science students during group assignments. To this end, we interviewed twenty students of four universities. The thematic analysis shows that students tend to divide up the workload to enable working independently, with pair programming and code reviews being often employed. Motivated primarily by grade and efficiency factors, students choose and allocate tasks primarily based on their prior expertise and preferences. Based on our findings, we argue that the setup of group assignments can limit student motivation for practicing new software engineering skills, and that interventions are needed towards encouraging experimentation and learning.
翻译:在计算机科学教育中,这些技能往往通过集体任务来实践,学生们通过协作开发软件。学生们在这些任务中采取的方法差别很大,但往往涉及分工。然后可以争论是否仍然合作。在这方面,计算机教育的纪律特别有趣,因为其某些具体特点(如入门技能水平的差异和使用源代码库作为协作平台)可能会影响集体工作所采用的方法。这一研究的目的是深入了解计算机科学学生在集体任务中采用的工作分工和分配战略。为此目的,我们采访了四所大学的20名学生。专题分析表明,学生往往分担工作量,以便能够独立工作,经常使用对齐的编程和代码审查。主要根据年级和效率因素,学生们选择和分配主要基于其先前专长和偏好的任务。根据我们的调查结果,我们认为,集体任务的设置可以限制学生在集体任务中运用新的软件工程技能的动力。我们需要采取措施鼓励实验和学习。