skip to main content
10.1145/3501709.3544288acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
poster

(How) Should Variables and Their Naming Be Taught in Novice Programming Education?

Authors Info & Claims
Published:07 August 2022Publication History

ABSTRACT

With the growing interest in programming skills in society, programming will inevitably become part of national curricula. The research presented on this poster aims to address programming for everyone and hopes to contribute to the accessibility of programming lessons for both students and teachers with various backgrounds. In order to do so, we approach the learning and teaching of a programming language from a natural language perspective, and in particular, we focus on reading code, including one of the most important programming concepts: variables.

During the last decades, the number of research projects on reading code has increased. For example, research on reading and explaining code has shown that code reading skills correlate to code writing skills [4, 5, 11, 12, 15]. Neuroscientific results indicate that language-related brain networks are possibly more important when programming than brain networks related to problem-solving or mathematics [7, 8, 13]. In addition, classroom experiments demonstrate how training on technical reading abilities can improve programming skills [6], and how reading code aloud, a strategy derived from natural language learning, helps with remembering syntax, which is an element of coding that beginners often struggle with [9, 14].

Research has also shown the importance of variables in reading and understanding code. It is commonly accepted that meaningful identifier names (or ‘mnemonic’ names) help readers understand code more easily than when abbreviations or (random) letters are used [2, 10], although it has also been found that such names can be misleading if they wrongly represent their contents or purpose [1, 3]. The question still remains what is “good” variable naming for learning to program.

Existing research on variable naming usually focuses on understanding code or assessing the readability of code. To the best of our knowledge, no prior research has looked at how (if) variable names are considered in the classroom and if there are any strategies used for practicing naming. This poster presents some initial findings of 12 semi-structured interviews (60 minutes) with teachers from secondary education, university-level education, and adult education on the practice of teaching variables. Our focus is on naming, but we also cover more general teaching strategies and practice, common student difficulties (related to variables) as experienced by the teachers, as well as teachers’ perceptions of the importance of variable naming.

Our preliminary results show two main approaches to teaching variable naming: a small group clearly highlights the importance of good and consistent naming throughout their courses, although there is no consensus on ”good naming practices”. Another group of teachers finds naming important, but does not (yet) translate this in their teaching. This group may even completely ignore naming or give inconsistent naming examples. Overall, naming is not included in grading. Teachers reflect that good naming practices may help students understand programming concepts quicker and mention that better students also show better naming practices in their own code. With our research, we hope to encourage discussion on the teaching of variables and work towards practical clues for (beginning) teachers to support them with accessible programming lessons.

References

  1. Venera Arnaoudova, Massimiliano Di Penta, and Giuliano Antoniol. 2016. Linguistic antipatterns: what they are and how developers perceive them. Empirical Software Engineering 21, 1 (Feb. 2016), 104–158. https://doi.org/10.1007/s10664-014-9350-8Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Eran Avidan and Dror G. Feitelson. 2017. Effects of Variable Names on Comprehension an Empirical Study. In Proceedings of the 25th International Conference on Program Comprehension(ICPC ’17). IEEE Press, Buenos Aires, Argentina, 55–65. https://doi.org/10.1109/ICPC.2017.27Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Caprile and Tonella. 2000. Restructuring program identifier names. In Proceedings 2000 International Conference on Software Maintenance. IEEE, San Jose, CA, USA, 97–107. https://doi.org/10.1109/ICSM.2000.883022Google ScholarGoogle Scholar
  4. Binglin Chen, Sushmita Azad, Rajarshi Haldar, Matthew West, and Craig Zilles. 2020. A Validated Scoring Rubric for Explain-in-Plain-English Questions. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education(Portland, OR, USA) (SIGCSE ’20). Association for Computing Machinery, New York, NY, USA, 563–569. https://doi.org/10.1145/3328778.3366879Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Malcolm Corney, Sue Fitzgerald, Brian Hanks, Raymond Lister, Renee McCauley, and Laurie Murphy. 2014. ’explain in Plain English’ Questions Revisited: Data Structures Problems. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (Atlanta, Georgia, USA) (SIGCSE ’14). Association for Computing Machinery, New York, NY, USA, 591–596. https://doi.org/10.1145/2538862.2538911Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Madeline Endres, Madison Fansher, Priti Shah, and Westley Weimer. 2021. To Read or to Rotate? Comparing the Effects of Technical Reading Training and Spatial Skills Training on Novice Programming Ability. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Athens, Greece) (ESEC/FSE 2021). Association for Computing Machinery, New York, NY, USA, 754–766. https://doi.org/10.1145/3468264.3468583Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Madeline Endres, Zachary Karas, Xiaosu Hu, Ioulia Kovelman, and Westley Weimer. 2021. Relating Reading, Visualization, and Coding for New Programmers: A Neuroimaging Study. In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, Madrid, ES, 600–612. https://doi.org/10.1109/ICSE43902.2021.00062Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Benjamin Floyd, Tyler Santander, and Westley Weimer. 2017. Decoding the Representation of Code in the Brain: An fMRI Study of Code Review and Expertise. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). IEEE, Buenos Aires, Argentina, 175–186. https://doi.org/10.1109/ICSE.2017.24Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Felienne Hermans, Alaaeddin Swidan, and Efthimia Aivaloglou. 2018. Code Phonology: An Exploration into the Vocalization of Code. In Proceedings of the 26th Conference on Program Comprehension (Gothenburg, Sweden) (ICPC ’18). Association for Computing Machinery, New York, NY, USA, 308–311. https://doi.org/10.1145/3196321.3196355Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Lawrie, C. Morrell, H. Feild, and D. Binkley. 2006. What’s in a Name? A Study of Identifiers. In 14th IEEE International Conference on Program Comprehension (ICPC’06). IEEE, Athens, Greece, 3–12. https://doi.org/10.1109/ICPC.2006.51Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Teemu Lehtinen, Aleksi Lukkarinen, and Lassi Haaranen. 2021. Students Struggle to Explain Their Own Program Code. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1 (Virtual Event, Germany) (ITiCSE ’21). Association for Computing Machinery, New York, NY, USA, 206–212. https://doi.org/10.1145/3430665.3456322Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Laurie Murphy, Sue Fitzgerald, Raymond Lister, and Renée McCauley. 2012. Ability to ’explain in Plain English’ Linked to Proficiency in Computer-Based Programming. In Proceedings of the Ninth Annual International Conference on International Computing Education Research (Auckland, New Zealand) (ICER ’12). Association for Computing Machinery, New York, NY, USA, 111–118. https://doi.org/10.1145/2361276.2361299Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Chantel S. Prat, Tara M. Madhyastha, Malayka J. Mottarella, and Chu-Hsuan Kuo. 2020. Relating Natural Language Aptitude to Individual Differences in Learning Programming Languages. Scientific Reports 10, 1 (March 2020), 3817. https://doi.org/10.1038/s41598-020-60661-8Google ScholarGoogle ScholarCross RefCross Ref
  14. Alaaeddin Swidan and Felienne Hermans. 2019. The Effect of Reading Code Aloud on Comprehension: An Empirical Study with School Students. In Proceedings of the ACM Conference on Global Computing Education (Chengdu,Sichuan, China) (CompEd ’19). Association for Computing Machinery, New York, NY, USA, 178–184. https://doi.org/10.1145/3300115.3309504Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jacqueline L. Whalley, Raymond Lister, Errol Thompson, Tony Clear, Phil Robbins, P. K. Ajith Kumar, and Christine Prasad. 2006. An Australasian Study of Reading and Comprehension Skills in Novice Programmers, Using the Bloom and SOLO Taxonomies. In Proceedings of the 8th Australasian Conference on Computing Education - Volume 52 (Hobart, Australia) (ACE ’06). Australian Computer Society, Inc., AUS, 243–252.Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    ICER '22: Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 2
    August 2022
    57 pages
    ISBN:9781450391955
    DOI:10.1145/3501709

    Copyright © 2022 Owner/Author

    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 7 August 2022

    Check for updates

    Qualifiers

    • poster
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate189of803submissions,24%

    Upcoming Conference

    ICER 2024
    ACM Conference on International Computing Education Research
    August 13 - 15, 2024
    Melbourne , VIC , Australia

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format .

View HTML Format