Paper presented at the annual meeting of the Jean Piaget Society, Amsterdam, May 31 – June 2.
In computer programming, reflective abstraction (Piaget, 2001) is a near constant while writing computer code. Programmers must perpetually refactor existing code, dramatically restructuring it without changing
its outcome. This paper investigates how middle school students new to programming frame occasions for refactoring code during peer-to-peer interactions. This research took place in free-of-charge, two-week
summer coding workshops (M-F 9am – 4pm) for 5th – 10th grade students from high-poverty urban communities. Using laptop screen recordings and GoPro recordings of gesture and body movement, we marked, transcribed, and interpreted moments of refactoring using conventions of interaction analysis (e.g., Goodwin, 2013). Our fine-grained analysis of a refactoring episode, representative of refactoring conversations in our larger data set, demonstrates how processes of reflective abstraction can be socially
organized. We find that learners playfully and affectively frame the risks and benefits of refactoring, using narrative to negotiate the value of dramatically restructuring working code. Our analysis illustrates how
the microgenetic process of organizing thought into higher planes of professional competence is an irreducibly social and affective process, with implications for how students manage risk in their developing