Searcharxiv⌕ Search

arXiv subjects

Rafael Corsi Ferrao

Publications and source records attributed to Rafael Corsi Ferrao.

3 recordsLinked to original sources

Enhancing Capstone Program Workflow: A Case Study on a Platform for Managing Academic-Industry Projects

Capstone projects are widely adopted by universities around the world as a culminating assessment in bachelor's degree programs. These projects typically involve student teams tackling complex, real-world problems proposed by external stakeholders, such as companies, NGOs, or research centers. Although they offer valuable hands-on experience, managing Capstone projects can be challenging due to their multiple stages and demands. The process typically begins by identifying students' interests, followed by sourcing and selecting potential projects from external organizations. After presenting these options to students, groups must be formed based on various criteria, including academic ranking, GPA, previous experience, and individual skill sets. In this paper, we detail a web-based tool designed to streamline the management of Capstone projects at Insper, with an emphasis on project sourcing and group formation. We also discuss the technological solutions and the challenges encountered throughout development and deployment. Furthermore, we present usage data from recent years, offering insights that may prove valuable for institutions or teams developing similar tools in the future.

cs.CY↗

LLM Contribution Summarization in Software Projects

This full paper in innovative practice provides an automated tool to summarize individual code contributions in project-based courses with external clients. Real industry projects offer valuable learning opportunities by immersing students in authentic problems defined by external clients. However, the open-ended and highly variable scope of these projects makes it challenging for instructors and teaching assistants to provide timely and detailed feedback. This paper addresses the need for an automated and objective approach to evaluate individual contributions within team projects. In this paper, we present a tool that leverages a large language model (LLM) to automatically summarize code contributions extracted from version control repositories. The tool preprocesses and structures repository data, and uses PyDriller to isolate individual contributions. Its uniqueness lies in the combination of LLM prompt engineering with automated repository analysis, thus reducing the manual grading burden while providing regular and informative updates. The tool was assessed over two semesters during a three-week, full-time software development sprint involving 65 students. Weekly summaries were provided to teams, and both student and faculty feedback indicated the tool's overall usefulness in informing grading and guidance. The tool reports, in large proportion, activities that were in fact performed by the student, with some failure to detect students' contribution. The summaries were considered by the instructors as a useful potential tool to keep up with the projects.

cs.SE↗

Who Introduces and Who Fixes? Analyzing Code Quality in Collaborative Student's Projects

This paper investigates code quality education by analyzing how errors are introduced and corrected in group projects within an embedded systems course. We identify who introduces errors, who fixes them, and when these actions occur. Students learn code quality rules for C and embedded systems. We address three questions: RQ1: What is the impact of group formation on code quality? RQ2: How do students interact to fix code issues? RQ3: When are issues introduced and resolved? We analyzed data from eight individual labs and two group projects involving 34 students. The course provides continuous, automated feedback on code quality. Findings show that the most active contributors often introduce the most issues. Many issues are fixed late in the project. Individual labs tend to have fewer issues due to their structured nature. Most problems are fixed by the original author, while cross-student fixes take longer, especially in shared code. Critical issues are fixed quickly, but non-critical ones may be ignored, showing a focus on functionality over quality.

cs.SE↗