Peer code review has proven to be a valuable tool in software engineering. However, integrating code reviews into educational contexts is particularly challenging due to the complexity of both the process and popular code review tools. We propose to address this challenge by designing a code review application (CRA) aimed at teaching the code review process directly within existing online learning platforms. Using the CRA, instructors can scaffold online lessons that introduce the code review process to students through code snippets, following a format resembling computational notebooks. We refer to this online lesson format as the code review notebook format. Through a case study comprising an online lesson on code quality standards completed by 23 university students, we evaluated the usability of the CRA and the code review notebook format, obtaining positive results for both. These results are a first step toward integrating code review notebooks into software engineering education.
Over the past decade, the use of chatbots for educational purposes has gained considerable traction. A similar trend has been observed in social coding platforms, where automated agents support software developers with tasks such as performing code reviews. While incorporating code reviews and social coding platforms into software engineering education has been found to be beneficial, challenges such as steep learning curves and privacy considerations are barriers to their adoption. Furthermore, no study has addressed the role chatbots play in supporting code reviews as a pedagogical tool. To help address this gap, we developed an online learning application that simulates the code review features available on social coding platforms and allows instructors to interact with students using chatbot identities. We then embedded this application within a lesson on software engineering best practices and conducted a controlled in-class experiment. This experiment examined the effect that explaining content via chatbot identities had on three aspects: (i) students' perceived usability of the lesson, (ii) their engagement with the code review process, and (iii) their learning gains. While our findings show that it is feasible to simulate the code review process within an online learning platform and achieve good usability, our quantitative analysis did not yield significant differences across treatment conditions for any of the aspects considered. Nevertheless, our qualitative results suggest that students expect explicit feedback when performing this type of exercise and could thus benefit from automated replies provided by an interactive chatbot. We propose to build on our current findings to further explore this line of research in future work.
Over the past few years, there has been an increase in the use of chatbots for educational purposes. Nevertheless, the chatbot technologies and architectures that are often applied to educational contexts are not necessarily designed for such contexts. While general-purpose chatbot technologies can be used in educational contexts, there are some challenges specific to these contexts that need to be taken into consideration. Namely, chatbot technologies intended for education should, by design, integrate directly within online learning applications and focus on achieving learning goals by supporting learners with the task at hand. In this paper, we propose a blueprint for an architecture specifically aimed at integrating task-oriented chatbots to support learners in educational contexts. We then present a proof-of-concept implementation of our blueprint as a part of a code review application designed to teach programming best practices. Our blueprint could serve as a starting point for developers in education looking to build chatbot technologies targeting educational contexts and is a first step toward an open chatbot architecture explicitly tailored for learning applications. CCS CONCEPTS• Human-centered computing → Natural language interfaces; • Applied computing → Interactive learning environments; • Software and its engineering → Software system structures.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.