Rookie Mistakes: Measuring Software Quality in Student Projects to Guide Educational Enhancement
Marco De Luca, Sergio Di Martino, Sergio Di Meglio, Anna Rita Fasolino, Luigi Libero Lucio Starace, Porfirio Tramontana

TL;DR
This study evaluates software quality in intermediate student projects using static analysis, revealing common issues and offering guidance for educators to enhance Software Engineering curricula and promote quality practices.
Contribution
It extends prior research by analyzing larger, more complex student projects and providing actionable insights for teaching software quality in university courses.
Findings
Identified prevalent code smells and architectural anti-patterns in student projects
Highlighted specific quality issues faced by intermediate students
Provided evidence-based recommendations for curriculum improvement
Abstract
When teaching Programming and Software Engineering in Bachelor's Degree programs, the emphasis on creating functional software projects often overshadows the focus on software quality, a trend that aligns with ACM curricula recommendations. Software Engineering courses are typically introduced later in the curriculum, and can generally allocate only limited time to quality-related topics, leaving educators with the challenge of deciding which quality aspects to prioritize. In this decision, the literature offers limited guidance, as most existing studies focus on code written by novice students and small code units, making it unclear whether those findings extend to intermediate-level students with foundational object-oriented programming skills working on more complex software projects. To address this gap, we analyze 83 object-oriented team projects developed by 172 university…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Reliability and Analysis Research · Software Engineering Techniques and Practices · Online Learning and Analytics
