ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Fri 19 Apr 2024 16:30 - 16:45 at Amália Rodrigues - Analysis 4 Chair(s): Giovanni Denaro

Motivation. Variable naming practices are part of the software developer’s profession, influencing program comprehension and code quality. Yet, little is known about how variable naming practices are taught in beginner courses. Objective. This paper investigates naming beliefs, self-reported teaching practices, and observations regarding variable naming practices of teachers of introductory Python programming courses. Methods. We adopted an in-depth qualitative approach by interviewing ten teachers from secondary education and higher education and developed several themes in order to answer our research questions. Results. Among various opinions and practices, we found that teachers agree on using meaningful names, but have conflicting beliefs about what is meaningful. Moreover, the described teaching practices do not always match teacher’s views on meaningful names, and teachers rarely encourage students to use them. Instead, they express that naming practices should not be enforced and that students will develop them by example. Whereas some teachers report focusing solely on conventions, others deliberately dedicate time for students to engage with naming, create their own guidelines, provide continuous feedback, or include naming exercises on exams. Discussion. Naming practices do not seem to be deliberately taught, even though they influence program understanding and code quality. We also identified inconsistencies in teachers’ self-reported naming practices. As such, we encourage intentional conversations about naming practices in educational settings, specifically linking naming to code quality and readability. We see room for group and peer activities as a means to this end, as well as providing formative feedback dedicated to naming.

Fri 19 Apr

Displayed time zone: Lisbon change

16:00 - 17:30
16:00
15m
Talk
Generating REST API Specifications through Static Analysis
Research Track
Ruikai Huang Georgia Institute of Technology, Manish Motwani Oregon State University, USA, Idel Martinez Georgia Institute of Technology, Alessandro Orso Georgia Institute of Technology
16:15
15m
Talk
Precise Sparse Abstract Execution via Cross-Domain Interaction
Research Track
16:30
15m
Talk
Teachers' Beliefs and Practices on the Naming of Variables in Introductory Python Programming Courses
Software Engineering Education and Training
Vivian van der Werf Leiden University, Alaaeddin Swidan Open University of the Netherlands, Felienne Hermans Vrije Universiteit Amsterdam, Marcus Specht Delft University of Technology, Efthimia Aivaloglou Delft University of Technology
16:45
7m
Talk
Automated Detection of Software Performance Antipatterns in Java-Based Applications
Journal-first Papers
Catia Trubiani Gran Sasso Science Institute, Riccardo Pinciroli Gran Sasso Science Institute, Andrea Biaggi University of Milano Bicocca, Francesca Arcelli Fontana University of Milano-Bicocca
16:52
7m
Talk
What really changes when developers intend to improve their source code: A commit-level study of static metric value and static analysis warning changes
Journal-first Papers
Alexander Trautsch University of Passau, Johannes Erbel University of Göttingen, Steffen Herbold University of Passau, Jens Grabowski University of Göttingen
16:59
7m
Talk
Emulation Tool For Android Edge Devices
Demonstrations
Lyla Naghipour Vijouyeh University of Oslo, Rodrigo Bruno INESC-ID, Instituto Superior Técnico, Universidade de Lisboa, Paulo Ferreira University of Oslo