Novice Programmers and Software Quality: Trends and Implications
Peeratham Techapalokul, Eli Tilevich · 2017
It remains unclear when it is the right time to introduce software quality into the computing curriculum. Introductory students often cannot afford to also worry about software quality, while advanced students may have been groomed into undisciplined development practices already. To answer these questions satisfactorily, educators need strong quantitative evidence about the pervasiveness of software quality problems in software written by novice programmers. This paper presents a comprehensive study of software quality practices of novice programmers writing Scratch programs. By focusing on finding code smells-coding patterns indicative of quality problems-we analyze a longitudinal dataset of 100+ novice Scratch programmers and close to 3K of their programs. Even after gaining proficiency, students continue to introduce the same quality problems into their code, suggesting a need for timely educational interventions. Given the importance of software quality for modern society, computing educators should teach quality concepts and practices alongside the core computing curriculum.