
Collaborative learning in groups has practical and pedagogical benefits. In software engineering education, the group formation stage can have an important influence on the quality of learning and students' satisfaction with their group. Knowledge of student experiences and preferences regarding group formation can inform course design and hopefully lead to better learning outcomes and student satisfaction. In this paper, we report experiences of group formation in software engineering courses, focusing on students' perspectives. We used surveys administered on three master's level software engineering courses, through which we explored students' prior experiences with group work in educational settings and their perspectives on how groups should be formed. We present results on students' thoughts about who should form groups, what information criteria they would consider as relevant when forming groups, and what kind of group formation strategy they prefer. Our results indicate that students preferred to keep the group formation process in their own hands, that they considered grade ambitions, educational background, and time availability to be important factors to consider, and that they generally preferred the formation strategy already used on the courses they attended. We also discuss how students' prior experiences may have coloured their perceptions of group formation strategies and the ethical dilemmas facing instructors when choosing different strategies. We present points of consideration for teachers who are interested in improving group formation on their software engineering courses.
The software engineering graduate apprenticeship program at the School of Computing, University of Glasgow, has a significant emphasis on work-based learning (WBL), with approximately 80% of the students' time over four years spent in the workplace. This work-based aspect of the program plays a more prominent role in the final two years, by which time apprentices are undertaking increasingly larger roles in the workplace. In this report, we present how we addressed the challenge of structuring and assessing WBL in these senior years such that there is a balance between professional competency attainment and ranked academic achievement, while providing a fair and flexible structure. Based on a model of WBL presented by Raelin in 1997, we outline our rationale for dividing the assessments into workplace projects, workplace journal, and a portfolio of artefacts. The projects are categorised into different types both for flexibility and to encourage academia-industry collaboration, the workplace journal encourages higher forms of reflection, while the portfolio assessment encourages and assesses the attainment of professional competencies. We present our experience of implementing this structure, an analysis of student feedback, and the adjustments made in response. With an increasing focus on work-ready skills and competency-based education in software engineering education, we expect the theory-informed structure we developed, and our experience of running and adapting it, to serve as an exemplar for developing a WBL program at research-led institutions.
Kubernetes has become a popular tool for automated container orchestration. Despite reported benefits, practitioners report that the secure configuration of Kubernetes is one of the primary challenges among practitioners. Moreover, there is a significant skill shortage of Kubernetes security experts. Understanding misconfigurations in Kubernetes can help practitioners prevent security incidents. We systematically investigate whether authentic learning can help students learn about misconfigurations in Kubernetes. We conduct an authentic learning exercise and collected responses from 295 students. Based on responses from the students, we find (i) students who have little to no experience in cybersecurity, software quality assurance, or static analysis perceived the authentic learning exercise as useful to learn misconfigurations in Kubernetes, and (ii) students perceptions of authentic learning exercise activities vary based on and educational background. We conclude our paper with recommendations for instructors and researchers.
As software becomes increasingly important, so does the education of people who develop software. To provide a good and motivating education to learners, it is necessary to be aware of their preferences. To give insight into the preference of learners, we conducted a study with university students and professionals aimed at learning more about their preferences. Results from our survey- and focus group-based research show large similarities between both groups of learners, such as the preference for e-learning materials, as this provides them flexibility for scheduling their learning sessions. However, differences exist when it comes to the preferred scheduling of online and offline sessions. Our findings can help educators not only in designing courses for university students or professionals, but also in designing courses that can be used by both groups of learners.
Programming knowledge is a crucial aspect of computer science education, and unit testing is commonly employed to automatically assess programming assignments. Instructors and teaching assistants typically invest considerable efforts in writing unit tests, which may still be vulnerable to human oversight and mistakes. In this work, we explored the feasibility of using Large Language Models (LLMs) to automate the assessment of programming assignments. In particular, we proposed two approaches: the plain approach that uses GPT-4o-mini in a vanilla setting, and the augmented approach that integrates additional strategies such as tailored prompts with syntax and semantic constraints, and a feedback mechanism with information on test-effectiveness metrics. We evaluate the two approaches on six real-world programming assignments from an introductory-level programming course at our university. Compared to the plain approach, the augmented approach improves the usability and effectiveness of the generated unit tests, reducing 85 % compilation errors while enhancing the statement coverage and mutation scores by 1.7 x and 2.1 x, respectively. In addition, the augmented approach also complements human-written tests by covering additional program behaviors. In a case study of 1296 students' submissions that pass human-written tests, the augmented approach successfully detected new bugs in 13 % submissions, with an accuracy of 27 %. These results not only demonstrate the potentials of LLMs in generating useful unit tests for programming assignments, but also highlight the strategies that can effectively enhance LLMs' capabilities to augment human-written tests, offering practical benefits for both educators and students.