Common Code Quality Issues of Novice Java Programmers: A Comprehensive Analysis of Student Assignments

Christina Kohlbacher, Michael Vierhauser, Iris Groher

2023

Abstract

Starting to learn programming is often perceived as being quite tedious by students at the bachelor level. Many programming courses thus face high drop-out rates and moderate results for those who pass. This problem is exacerbated when teaching programming to students enrolled in non-computer science curricula. To over-come these issues, we have developed a novel didactic concept based on peer learning, tutoring, dedicated teaching, and learning material that supports individuality and competency-based learning. Our current focus lies on teaching basic programming principles, but to further support our students and foster a positive learning experience, we want to learn more about the difficulties they are facing, particularly with respect to best practices, coding conventions, and code quality. We, therefore, performed a static code analysis of homework assignments of students participating in our introductory programming course for two consecutive years. We analyzed over 13,000 Java files and more than 400,000 lines of Java code to identify common code quality issues faced by our students. Our analysis shows that the majority of rule violations are related to coding style. The violations do not differ much with respect to the topics covered in the homework assignments, and hardly change over time. The more lines of code the students write, the more rules are violated. Based on our findings we present concrete recommendations on how to support novice programmers in improving their code quality.

Download


Paper Citation


in Harvard Style

Kohlbacher C., Vierhauser M. and Groher I. (2023). Common Code Quality Issues of Novice Java Programmers: A Comprehensive Analysis of Student Assignments. In Proceedings of the 15th International Conference on Computer Supported Education - Volume 2: CSEDU, ISBN 978-989-758-641-5, SciTePress, pages 349-356. DOI: 10.5220/0011715400003470


in Bibtex Style

@conference{csedu23,
author={Christina Kohlbacher and Michael Vierhauser and Iris Groher},
title={Common Code Quality Issues of Novice Java Programmers: A Comprehensive Analysis of Student Assignments},
booktitle={Proceedings of the 15th International Conference on Computer Supported Education - Volume 2: CSEDU,},
year={2023},
pages={349-356},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0011715400003470},
isbn={978-989-758-641-5},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 15th International Conference on Computer Supported Education - Volume 2: CSEDU,
TI - Common Code Quality Issues of Novice Java Programmers: A Comprehensive Analysis of Student Assignments
SN - 978-989-758-641-5
AU - Kohlbacher C.
AU - Vierhauser M.
AU - Groher I.
PY - 2023
SP - 349
EP - 356
DO - 10.5220/0011715400003470
PB - SciTePress