Jul 2026· Annual Conference on Innovation and Technology in Computer Science Education· 0 citations· 19 references
Computer Science
TL;DR
This experience report describes how peer code reviews were implemented in an upper-division software engineering course that focuses on making modifications to large, existing code bases (i.e., brownfield development).
Abstract
Peer code reviews involve students conducting a code review of a classmate's submission to a programming assignment. While peer code reviews have an established history of being used and studied in computing education, they have primarily been documented in introductory computing courses. This experience report describes how we implemented peer code reviews in an upper-division software engineering course that focuses on making modifications to large, existing code bases (i.e., brownfield development). We discuss the perceived learning benefits, perceived challenges, and agreement between peer and course staff reviews. Overall, students enjoyed being able to see different approaches to the programming task they had just submitted, but expressed concerns about feeling qualified to make effective peer code reviews due to their limited software engineering experience and the difficulty of assessing code design. We also find that students are capable of evaluating the functional correctness of their peer's submission, but struggle to give accurate assessments of their peer's design and code style. We conclude with recommendations specifically for instructors who wish to use peer code reviews in upper-division software engineering courses, such as using a structured template to scaffold the peer code reviews and allowing multiple opportunities to provide code reviews to improve students' self-efficacy.
Software engineers must be able to create software that is not only correct, but of high quality. Consequently, computer science educators must emphasize software design principles and give students timely, accurate feedback on code quality. Prior work has shown that peer code review can effectively reinforce software design principles while providing timely feedback at scale; however, most existing tools have been designed primarily for introductory courses. This paper presents the design and evaluation of EvOwl, a peer code review tool tailored to upper-level software engineering courses. EvOwl includes novel features that are designed with large-scale and long-term projects in mind, such as support for using code coverage to focus students' attention on specific features within a large code base and a metric-guided approach to help students compare software quality across different implementations.
Adam Tillou, Praise O. Mayor, S. Rixner et al.· Annual Conference on Innovat...· 0 citations
Findings are interpreted as evidence that course-aware style feedback is promising as a pre-submission revision aid, but that future versions should combine deterministic rule checks with LLM-generated explanations, rule citations, and stronger verification support.
Ethan Dickey, L. Vento, Peter Kurto et al.· 0 citations
Software development projects inevitably involve a mix of technical and non-technical tasks, not all of which are equally appealing to those who perform them. While prior research has extensively examined how professional software developers perceive and manage undesirable tasks, the academic context, particularly students’ experiences, remains largely underexplored. This proposed presentation addresses this gap by reporting preliminary findings from an exploratory study conducted at Østfold University College, focusing on how students perceive undesirable software development tasks, the factors contributing to such perceptions, the emotional impact of performing these tasks, and the strategies students employ to cope with them. Understanding these dimensions is significant, as negative experiences with certain tasks may affect students’ motivation, well-being, and learning outcomes, ultimately influencing their preparedness for professional practice.The study adopted a survey-based research approach to gather empirical data from students enrolled in IT-related programs, including computer science and software engineering. A total of 30 participants with prior experience in academic software development projects completed an online questionnaire. The survey design followed empirically validated guidelines to ensure clarity and reliability and consisted of both closed-ended Likert-scale questions and optional open-ended questions. The questionnaire examined four main areas: perceived task undesirability, factors contributing to task undesirability, emotional and psychological impact, and coping strategies. Quantitative data were analyzed using descriptive statistics, while open-ended responses were examined using thematic analysis to capture additional contextual insights.The results indicate that students perceive several common software development activities as undesirable, most notably back-end related tasks, bug fixing, and writing documentation. These tasks were also reported as being frequently encountered, suggesting a persistent source of frustration in academic projects. In contrast, collaborative activities such as working with others or attending meetings were generally perceived as less undesirable, highlighting a divergence from findings reported in professional contexts. Performing undesirable tasks was associated with negative emotional responses, including reduced motivation, frustration, boredom, and, in some cases, procrastination. Although extreme outcomes such as intentions to leave a course or group were relatively rare, the prevalence of demotivation underscores the potential long-term impact on student engagement.Several factors were found to intensify task undesirability, including unrealistic deadlines, insufficient communication regarding the importance or future relevance of tasks, and concerns about personal well-being. To cope with undesirable tasks, students most commonly relied on a “Just Do It” approach, alongside collaborative strategies such as working in pairs, seeking help, and maintaining communication within the group. In particular, collaboration-based strategies were perceived as particularly effective.Overall, the findings suggest that undesirable tasks are an integral part of students’ academic software development experience and have meaningful emotional and motivational consequences. The presentation argues that these insights offer opportunities for educators to design curricula and learning environments that better address human dispositions, mitigate negative impacts, and potentially make undesirable tasks more meaningful and engaging for students. The study highlights the potential of AI tools to support and mitigate undesirable software development tasks.
Comparisons show that measured signal depends on production context and that process patterns can complement weak final-code signal in educational repositories, and that such models are appropriate only as instructor-mediated decision support, not as independent proof of authorship.
The quality of research software directly impacts the quality of the research results. Peer code review can identify defects, improve design, and facilitate knowledge sharing. Previously, we conducted a survey to understand how Research Software Engineers (RSEs) view and use code review. Because the prior survey did not examine how RSEs implement code review or the challenges they face, we study here how RSEs implement code review improvement practices, the challenges that limit adoption, and the additional strategies they propose. To gather this insight, we conducted 20 semi-structured interviews of RSEs. The results show that RSEs most often improved code review by using pull requests, defining review expectations, adding lightweight process steps, and using tools and automation (e.g., CI checks) to reduce effort and increase consistency. Key challenges included limited reviewer capacity and time, gaps in Git and software engineering skills, social and authority barriers to setting norms, and weak documentation or enforcement of standards. They also proposed lightweight training, clearer reviewer guidance (e.g., checklists), and better recognition of review and mentoring work. To ease peer code review adoption in research software, teams should begin with lightweight pull-request workflows, document a few clear review rules, use CI to enforce basics, and support reviewers with simple guidance, training, and recognition.
Md. Ariful Islam Malik, Jeffrey C. Carver, Nasir U. Eisty· Practice and Experience in A...· 0 citations