  Understanding how novices reason about coding at a neurological level has
implications for training the next generation of software engineers. In recent
years, medical imaging has been increasingly employed to investigate patterns
of neural activity associated with coding activity. However, such studies have
focused on advanced undergraduates and professionals. In a human study of 31
participants, we use functional near-infrared spectroscopy to measure the
neural activity associated with introductory programming. In a controlled,
contrast-based experiment, we relate brain activity when coding to that of
reading natural language or mentally rotating objects (a spatial visualization
task). Our primary result is that all three tasks -- coding, prose reading, and
mental rotation -- are mentally distinct for novices. However, while those
tasks are neurally distinct, we find more significant differences between prose
and coding than between mental rotation and coding. Intriguingly, we generally
find more activation in areas of the brain associated with spatial ability and
task difficulty for novice coding compared to that reported in studies with
more expert developers. Finally, in an exploratory analysis, we also find a
neural activation pattern predictive of programming performance 11 weeks later.
While preliminary, these findings both expand on previous results (e.g.,
relating expertise to a similarity between coding and prose reading) and also
provide a new understanding of the cognitive processes underlying novice
programming.
