Empirical studies of programmers: the territory, paths, and destination
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Analyzing the high frequency bugs in novice programs
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Change-episodes in coding: when and how do programmers change their code?
Empirical studies of programmers: second workshop
Advancing the study of programming with computer-aided protocol analysis
Empirical studies of programmers: second workshop
The Psychological Study of Programming
ACM Computing Surveys (CSUR)
Studying programmer behavior experimentally: the problems of proper methodology
Communications of the ACM
A Practical Guide to Usability Testing
A Practical Guide to Usability Testing
Marcel: Simulating the Novice Programmer
Marcel: Simulating the Novice Programmer
Mini-languages: a way to learn programming principles
Education and Information Technologies
Toward empirically-based software visualization languages
VL '95 Proceedings of the 11th International IEEE Symposium on Visual Languages
Teaching roles of variables in elementary programming courses
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Journal of Visual Languages and Computing
ACM Transactions on Computer-Human Interaction (TOCHI)
ACM Transactions on Computing Education (TOCE)
Koli '08 Proceedings of the 8th International Conference on Computing Education Research
An introduction to program comprehension for computer science educators
Proceedings of the 2010 ITiCSE working group reports
Hi-index | 0.00 |
Empirical studies of novice programming typically rely on code solutions or test responses as the basis of their analyses. While such data can provide insight into novice programming knowledge, they say little about the programming processes in which novices engage. For those interested in improving novice programming environments, a key research question arises: How can we collect and analyze data on novice programming that will enable us (a) to analyze and compare the programming processes promoted by alternative novice programming environments, and (b) ultimately to build better novice programming environments? To address this question, we have collected a large video corpus of novices as they construct code solutions in various versions of ALVIS Live! [17], a novice programming environment. Through detailed post-hoc analyses of our video corpus, we have developed a methodology for compiling the moment-by-moment evolution of novice code solutions. Based on an analysis of a model code solution's key semantic components, our methodology enables researchers to document, on a second-by-second basis, (a) what part of a code solution a programmer is focusing on, and (b) where the semantic feedback provided by the programming environment is helping. Although it is time and labor intensive, our methodology provides researchers with a standard set of data and representations for comparing the programming processes promoted by alternative programming environments.