Programs in the Palm of your Hand: How Live Programming Shapes Children's Interactions with Physical Computing Devices

As physical computing devices proliferate, researchers and educators push to make them more engaging to learners. One approach is to make the act of programming them more interactive and responsive via live programming so that program edits are immediately reflected in the behavior of the physical device. To understand the impact of live programming on interactions with physical computing devices, we conducted a comparative study where children ages 11-15 programmed a BBC micro:bit device using either the MicroBlocks live programming environment or MakeCode, the micro:bit default environment. Results show that MicroBlocks users spent more time interacting directly with the physical device while showing different patterns of interaction compared to MakeCode users. We also found variations in the differences between environments related to activity structures. This paper contributes to the growing body of literature on how the design of interfaces---like programming environments---for physical computing devices shapes emerging interaction patterns.

[1]  Jeffrey G. Gray,et al.  Learnable programming , 2017, Commun. ACM.

[2]  Judith Bishop,et al.  Multi-platform Computing for Physical Devices via MakeCode and CODAL , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion).

[3]  Christopher D. Hundhausen,et al.  An experimental study of the impact of visual semantic feedback on novice programming , 2007, J. Vis. Lang. Comput..

[4]  Jennifer C. Greene,et al.  Qualitative Data Analysis and Interpretation , 1989 .

[5]  Michael Eisenberg,et al.  Beyond Black Boxes: Bringing Transparency and Aesthetics Back to Scientific Investigation , 2000 .

[6]  David Weintrop,et al.  Comparing Block-Based and Text-Based Programming in High School Computer Science Classrooms , 2017, ACM Trans. Comput. Educ..

[7]  Sean McDirmid,et al.  Living it up with a live programming language , 2007, OOPSLA.

[8]  Hiroshi Ishii,et al.  curlybot: designing a new class of computational toys , 2000, CHI.

[9]  Timothy C. Bell,et al.  Should your 8-year-old learn coding? , 2014, WiPSCE.

[10]  Joanna Goode,et al.  Exploring Computer Science: A Case Study of School Reform , 2011, TOCE.

[11]  Timothy S. McNerney From turtles to Tangible Programming Bricks: explorations in physical language design , 2004, Personal and Ubiquitous Computing.

[12]  Mitchel Resnick,et al.  Extending Scratch: New pathways into programming , 2015, 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[13]  Alan F. Blackwell,et al.  The Programming Language as a Musical Instrument , 2005, PPIG.

[14]  David W. Sandberg Smalltalk and exploratory programming , 1988, SIGP.

[15]  Mitchel Resnick,et al.  Some reflections on designing construction kits for kids , 2005, IDC '05.

[16]  M. Resnick,et al.  Programmable Bricks: Toys to Think With , 1996, IBM Syst. J..

[17]  Andreas Stefik,et al.  An Empirical Investigation into Programming Language Syntax , 2013, TOCE.

[18]  Ricarose Roque,et al.  A survey of computational kits for young children , 2018, IDC.

[19]  Sue Sentance,et al.  "Creating Cool Stuff": Pupils' Experience of the BBC micro:bit , 2017, SIGCSE.

[20]  Michael S. Horn,et al.  Strawbies: explorations in tangible programming , 2015, IDC.

[21]  Tom Lauwers,et al.  Designing the Finch: Creating a Robot Aligned to Computer Science Concepts , 2010, AAAI 2010.

[22]  Alexandre Bergel,et al.  The Road to Live Programming: Insights from the Practice , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[23]  Thomas W. Price,et al.  Comparing Textual and Block Interfaces in a Novice Programming Environment , 2015, ICER.

[24]  Paulo Blikstein,et al.  Think globally, build locally: a technological platform for low-cost, open-source, locally-assembled programmable bricks for education , 2010, TEI '10.

[25]  John Maloney,et al.  GP: A General Purpose Blocks-Based Language (Abstract Only) , 2017, SIGCSE.

[26]  Steven L. Tanimoto,et al.  A perspective on the evolution of live programming , 2013, 2013 1st International Workshop on Live Programming (LIVE).

[27]  湯淺 太一,et al.  20世紀の名著名論:Seymour Papert: Mindstorms:Children Computers and Powerful Ideas Basic Books New York 1980 , 2005 .

[28]  Paulo Blikstein,et al.  Gears of our childhood: constructionist toolkits, robotics, and physical computing, past and future , 2013, IDC.

[29]  Randall B. Smith,et al.  Directness and liveness in the morphic user interface construction environment , 1995, UIST '95.

[30]  Mark D. Gross,et al.  roBlocks: a robotic construction kit for mathematics and science education , 2006, ICMI '06.

[31]  Ivan E. Sutherland,et al.  Sketch pad a man-machine graphical communication system , 1964, DAC.

[32]  Henry Lieberman,et al.  Bridging the gulf between code and behavior in programming , 1995, CHI '95.

[33]  E. Merzari,et al.  Large-Scale Simulations on Thermal-Hydraulics in Fuel Bundles of Advanced Nuclear Reactors , 2007 .

[34]  Robert Hirschfeld,et al.  Exploratory and Live, Programming and Coding: A Literature Study Comparing Perspectives on Liveness , 2018, Art Sci. Eng. Program..

[35]  Mitchel Resnick,et al.  To mindstorms and beyond: evolution of a construction kit for magical machines , 2000 .

[36]  Hiroshi Ishii,et al.  Topobo: a constructive assembly system with kinetic memory , 2004, CHI.

[37]  Mitchel Resnick,et al.  Digital manipulatives: new toys to think with , 1998, CHI.

[38]  David Weintrop,et al.  To block or not to block, that is the question: students' perceptions of blocks-based programming , 2015, IDC.

[39]  Neil Fraser,et al.  Ten things we've learned from Blockly , 2015, 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond).

[40]  Brian Harvey,et al.  Bringing "No Ceiling" to Scratch: Can One Language Serve Kids and Computer Scientists? , 2010 .

[41]  Randy Pausch,et al.  Alice: a 3-D tool for introductory programming concepts , 2000 .

[42]  Jan O. Borchers,et al.  How live coding affects developers' coding behavior , 2014, 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[43]  Paulo Blikstein,et al.  GoGo Board: Augmenting Programmable Bricks for Economically Challenged Audiences , 2004, ICLS.

[44]  Marina Umaschi Bers,et al.  KIBO robot demo: engaging young children in programming and engineering , 2015, IDC.

[45]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[46]  Steven L. Tanimoto,et al.  VIVA: A visual language for image processing , 1990, J. Vis. Lang. Comput..

[47]  Akito Monden,et al.  Programming education for primary school children using a textual programming language , 2015, 2015 IEEE Frontiers in Education Conference (FIE).

[48]  John Maloney,et al.  The Scratch Programming Language and Environment , 2010, TOCE.

[49]  Mitchel Resnick,et al.  Real-time programming and the big ideas of computational literacy , 2003 .

[50]  Sebastian Burckhardt,et al.  It's alive! continuous feedback in UI programming , 2013, PLDI.

[51]  Nick Collins,et al.  Live coding in laptop performance , 2003, Organised Sound.

[52]  Deborah A. Fields,et al.  Teaching Practices for Making E-Textiles in High School Computing Classrooms , 2017, FabLearn.