Transfer of Cognitive Skills from Programming: When and How?

Abstract
Investigations of the impact of programming instruction on cognitive skills have yielded occasional positive and many negative findings. To interpret the mixed results, we describe two distinct mechanisms of transfer–“low road” transfer, resulting from extensive practice and automatization, and “high road” transfer, resulting from mindful generalization. High road transfer seems implicated where positive impacts of programming have been found; insufficient practice and little provocation of mindful abstraction are characteristic of investigations not demonstrating transfer. Our discussion affirms that programming instruction can improve cognitive skills under the right conditions, but cautions that implementing such conditions on a wide scale may be difficult and that programming instruction must compete with other means of improving cognitive skills.