External Imagery in Computer Programming

Imagery is a cognitive process commonly used in sports in which athletes internally or externally visualize themselves performing a skill, allowing them to create an internal experience similar to the physical event. It is intended to allow participants to refine and perfect their performance. This paper investigates the use of imagery in the setting of computer programming. We explore the idea that watching a keystroke replay of yourself writing computer code that solves a specific problem can increase the speed and quality of a subsequent attempt at solving a similar problem as well as improve attitude and engagement. We investigate the theory of imagery, its application to computer programming, and we present results of a qualitative study. Our results suggest that using imagery could have a positive effect on the profitability of spending time reviewing code.

[1]  M. Arvinen-Barrow,et al.  Elite and Novice Athletes' Imagery Use in Open and Closed Sports , 2007 .

[2]  Christopher D. Hundhausen,et al.  Talking about code: Integrating pedagogical code reviews into early computing courses , 2013, TOCE.

[3]  Y. Raghu Reddy,et al.  In Support of Peer Code Review and Inspection in an Undergraduate Software Engineering Course , 2015, 2015 IEEE 28th Conference on Software Engineering Education and Training.

[4]  A. Moran,et al.  Metacognition and action: a new pathway to understanding social and cognitive aspects of expertise in sport , 2014, Front. Psychol..

[5]  John R. Anderson,et al.  Debugging: An Analysis of Bug-Location Strategies , 1987, Hum. Comput. Interact..

[6]  Miriam Gamoran Sherin,et al.  Video Portfolio Assessment: Creating a Framework for Viewing the Functions of Teaching. , 1998 .

[7]  A. Paivio Cognitive and motivational functions of imagery in human performance. , 1985, Canadian journal of applied sport sciences. Journal canadien des sciences appliquees au sport.

[8]  Alberto Bacchelli,et al.  Expectations, outcomes, and challenges of modern code review , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[9]  M. Jeannerod,et al.  Possible involvement of primary motor cortex in mentally simulated movement: a functional magnetic resonance imaging study. , 1996, Neuroreport.

[10]  Edward Cutrell,et al.  "Yours is better!": participant response bias in HCI , 2012, CHI.

[11]  Leon E. Winslow,et al.  Programming pedagogy—a psychological overview , 1996, SGCS.

[12]  Allan Paivio,et al.  Imagery use by athletes: development of the Sport Imagery Questionnaire. , 1998 .

[13]  A. Strauss,et al.  Grounded theory , 2017 .

[14]  George D. Kuh,et al.  Student Engagement and Student Learning: Testing the Linkages* , 2006 .

[15]  Anees A. Sheikh,et al.  Imagery in Sports and Physical Performance , 1994 .

[16]  J. Kruger,et al.  Unskilled and unaware of it: how difficulties in recognizing one's own incompetence lead to inflated self-assessments. , 1999, Journal of personality and social psychology.

[17]  Andy Zaidman,et al.  Modern code reviews in open-source projects: which problems do they fix? , 2014, MSR 2014.

[18]  Allen Newell,et al.  Problem solving techniques for the design of algorithms , 1984, Inf. Process. Manag..

[19]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[20]  Shane McIntosh,et al.  An empirical study of the impact of modern code review practices on software quality , 2015, Empirical Software Engineering.