An Empirical Study on Novice Programmer’s Behaviors with Analysis of Keystrokes

An Empirical Study on Novice Programmer’s Behaviors with Analysis of Keystrokes

Dapeng Liu (GradientX, Santa Monica, CA, USA), Shaochun Xu (Department of Computer Science, Algoma University, Sault Ste Marie, ON, Canada) and Huafu Liu (Department of Computer Science, Changsha University, Changsha, China)
Copyright: © 2013 |Pages: 20
DOI: 10.4018/ijsi.2013010106
OnDemand PDF Download:
No Current Special Offers


This paper presents a series of two experiments in which programming behaviors were observed and analyzed when they were programming with pressure and without pressure. There were eleven and twenty-four subjects respectively. In both experiments, the authors used a software tool to record the keystroke frequency, designed criteria to evaluation program quality, and conducted a survey after the experiment. The experiment results show that there is no direct relation between the numbers of keystrokes and programmer’s performance when programmers are working without pressure or with pressure. The first experiment results demonstrate while novice programmers are diverse in terms of programming styles, ones with more experiences tend to control code execution in finer granularity. Source code format can be an indicator of programming performance. The second experiment results demonstrate that programmers with higher performance likely have higher keystroke productivity. Programmers are also more productive under pressure in terms of keystrokes.
Article Preview

There are a lot of research activities regarding the cognitive activities during software engineering process. Davies did a systematical analysis on the programming strategy (Davies,1993), and suggested to study the explanation of programming skill and to integrate ideas about knowledge representation with a strategic model, which might enable us to make predictions about how changes in knowledge representation might give rise to particular strategies and to the strategy changes associated with developing expertise.

Visser (1987) conducted experiments on professional programmers to study the strategies that were used during programming. He found that programmers memorized a variety of data sources and sample program listings, so programmers may recall that a solution exists in a listing, find the listing, and then use the coded solution as an approach for the current problem. The programming knowledge was classified by Ye and Salvendy (Ye & Salvendy, 1996) into a five level abstractions. They also found that experts have better knowledge at an abstract level, and the novices tend to have more concrete knowledge.

Complete Article List

Search this Journal:
Open Access Articles
Volume 10: 4 Issues (2022): Forthcoming, Available for Pre-Order
Volume 9: 4 Issues (2021): 3 Released, 1 Forthcoming
Volume 8: 4 Issues (2020)
Volume 7: 4 Issues (2019)
Volume 6: 4 Issues (2018)
Volume 5: 4 Issues (2017)
Volume 4: 4 Issues (2016)
Volume 3: 4 Issues (2015)
Volume 2: 4 Issues (2014)
Volume 1: 4 Issues (2013)
View Complete Journal Contents Listing