Investigating novice and expert programmers' problem solving via protocol analysis
The goal of the present study was to use content analysis to gain insight into the process of problem-solving of novice and expert programmers. While classic work on programmers identifies goals / plans as key constructs needed to code, there is relatively little work using protocol analysis. We recruited 7 expert and 12 novice rogrammers who completed up to 3 brief programming problems while providing a talk-aloud of their inner problem solving process. Based on analysis of the transcriptions of this talk aloud data, we identified the goals and steps used, as well as the broad differences between experts and novices in their problem solving process. These differences were formalized into python ACT-R models, and model output was compared to programs written by human participants.