Understanding Programming Expertise: An Empirical Study of Phasic Brain Wave Changes

Author(s): Igor Crk, Timothy Kluthe, Andrea Stefik
Venue: ACM Transactions on Computer-Human Interaction
Date: February 2016

Type of Experiement: Other
Sample Size: 34
Class/Experience Level: Graduate Student
Participant Selection: Volunteer Based
Data Collection Method: Project Artifact(s)


This study's purpose was to see if there was a possible way to unify the definition of a programmer's expertise through data. The group conducting this experiment used electroencephalography (EEG)-based measurements in order to try and prove this possibility.

In the experiment they were able to get a sample size of 34 undergraduate students to volunteer. These individuals were grouped based on number of units taken from computer science classes. The class levels range from 0-4. The experiment consisted of a training session for the behavior of the experiment, three farely simple coding tasks, and the measurement of the upper alpha, lower-2 alpha, lower-1 alpha, and theta brain waves using the Emotiv EEG device. These brain waves were then correlated with the class level and correctness of the tasks performed.

The experiment produced results that the upper alpha and lower-1 alpha brain waves showed a significant differences when it came to class level and correctness. The lower-2 alpha showed significant differences in regards to class level, but not correctness. The theta waves observed illustrated significant differences by class level and marginal differences in correctness.

Overall, this means that programmers with more expertise exhibit lower working memory load because of the presence of patterns developed over years of experience. The author's are sure to state that this is not a comprehensive study, but opens the door for much more research in the field of determining programming expertise with EEG data.