Publications
Type of Publication: Article in Collected Edition
Understanding the Differences Between Novice and Expert Programmers in Memorizing Source Code
- Author(s):
- Kramer, M.; Barkmin, M.; Tobinski, D.; Brinda, T.
- Editor:
- Tatnall, A.; Webb, M.
- Title of Anthology:
- Tomorrow's Learning: Involving Everyone. Learning with and about Technologies and Computing 11th IFIP TC 3 World Conference on Computers in Education, WCCE 2017, Dublin, Ireland, July 3-6, 2017, Revised Selected Papers
- pages:
- 630-639
- Publisher:
- Springer
- Location(s):
- Cham, Switzerland
- Publication Date:
- 2018
- ISBN:
- 978-3-319-74310-3
- Language:
- English
- Keywords:
- Assessment, Object-oriented programming, Working memory, Programming experience
- Digital Object Identifier (DOI):
- doi:10.1007/978-3-319-74310-3_63
- Link to complete version:
- https://doi.org/10.1007/978-3-319-74310-3_63
- Citation:
- Download BibTeX
Abstract
This study investigates the difference between novice and expert programmers in memorizing source code. The categorization was based on a questionnaire, which measured the self-estimated programming experience. An instrument for assessing the ability to memorize source code was developed. Also well-known cognitive tests for measuring working memory capacity and attention were used, based on the work of Kellog and Hayes. Thirty-eight participants transcribed items which were hidden initially but could be revealed by the participants at will. We recorded all keystrokes, counted the lookups and measured the lookup time. The results suggest that experts could memorize more source code at once, because they used fewer lookups and less lookup time. By investigating the items in more detail we found that it is possible that experts memorize short source codes in semantic entities, whereas novice programmers memorize them line by line. Because our experts were significantly better in the performed memory capacity tests, our findings must be viewed with caution. Therefore, there is a definite need to investigate the correlation between working memory and self-estimated programming experience.