Flowboard: How Seamless, Live, Flow-Based Programming Impacts Learning to Code for Embedded Electronics

Toolkits like the Arduino system have brought embedded programming to STEM education. However, learning embedded programming is still hard, requiring an understanding of coding, electronics, and how both sides interact. To investigate the opportunities of using a different programming paradigm than the imperative approach to learning embedded coding, we developed Flowboard. Students code in a visual iPad editor using flow-based programming, which is conceptually closer to circuit diagrams than imperative code. Two breadboards with I/O pins mirrored on the iPad connect electronics and program graph more seamlessly than existing IDEs. Program changes take effect immediately. This liveness reflects circuit behavior better than edit-compile-run loops. A first study confirmed that students can solve basic embedded programming tasks with Flowboard while highlighting important differences to a typical imperative IDE, Ardublock. A second, in-depth study provided qualitative insights into Flowboard’s impact on students’ conceptual models of electronics and embedded programming and exploring.

[1]  E. Brunvand LED Paper: Physical Computing with Handmade Paper , 2021, ACM SIGGRAPH 2021 Educators Forum.

[2]  Andrea Bunt,et al.  Learning Through Exploration: How Children, Adults, and Older Adults Interact with a New Feature-Rich Application , 2020, CHI.

[3]  David Weintrop,et al.  Programs in the Palm of your Hand: How Live Programming Shapes Children's Interactions with Physical Computing Devices , 2019, IDC.

[4]  Jan O. Borchers,et al.  Flowboard: A Visual Flow-Based Programming Environment for Embedded Coding , 2019, CHI Extended Abstracts.

[5]  Alberto L. Sangiovanni-Vincentelli,et al.  Beyond Schematic Capture: Meaningful Abstractions for Better Electronics Design Tools , 2019, CHI.

[6]  Da-Yuan Huang,et al.  AutoFritz: Autocomplete for Prototyping Virtual Breadboard Circuits , 2019, CHI.

[7]  Tovi Grossman,et al.  ElectroTutor: Test-Driven Physical Computing Tutorials , 2018, UIST.

[8]  Björn Hartmann,et al.  WiFröst: Bridging the Information Gap for Debugging of Networked Embedded Systems , 2018, UIST.

[9]  Felienne Hermans,et al.  Programming Misconceptions for School Students , 2018, ICER.

[10]  Mike Y. Chen,et al.  CurrentViz: Sensing and Visualizing Electric Current Flows of Breadboarded Circuits , 2017, UIST.

[11]  Sean Follmer,et al.  Scanalog: Interactive Design and Debugging of Analog Circuits with Programmable Hardware , 2017, UIST.

[12]  Tovi Grossman,et al.  Trigger-Action-Circuits: Leveraging Generative Design to Enable Novices to Design and Build Circuitry , 2017, UIST.

[13]  Björn Hartmann,et al.  Bifröst: Visualizing and Checking Behavior of Embedded Systems across Hardware and Software , 2017, UIST.

[14]  Mike Y. Chen,et al.  CircuitSense: Automatic Sensing of Physical Circuits and Generation of Virtual Circuits to Support Software Tools. , 2017, UIST.

[15]  Adon Christian Michael Moskal,et al.  The 'Art' of Programming: Exploring Student Conceptions of Programming through the Use of Drawing Methodology , 2017, ICER.

[16]  Fernando Reyes Avilés,et al.  Mobile augmented reality on electric circuits , 2017, 2017 Computing Conference.

[17]  Alberto L. Sangiovanni-Vincentelli,et al.  Turning coders into makers: the promise of embedded design generation , 2017, SCF.

[18]  Sayamindu Dasgupta,et al.  Scratch Community Blocks: Supporting Children as Data Scientists , 2017, CHI.

[19]  Björn Hartmann,et al.  The Toastboard: Ubiquitous Instrumentation and Automated Checking of Breadboarded Circuits , 2016, UIST.

[20]  Mike Y. Chen,et al.  CircuitStack: Supporting Rapid Prototyping and Evolution of Electronic Circuits , 2016, UIST.

[21]  Thomas D. LaToza,et al.  Programmers Are Users Too: Human-Centered Methods for Improving Programming Tools , 2016, Computer.

[22]  D. G. Nikolos,et al.  LAWRIS: A rule-based arduino programming system for young students , 2016, 2016 5th International Conference on Modern Circuits and Systems Technologies (MOCAST).

[23]  J. Nathan Matias,et al.  Skill Progression in Scratch Revisited , 2016, CHI.

[24]  Sara Jones,et al.  Crossed Wires: Investigating the Problems of End-User Developers in a Physical Computing Task , 2016, CHI.

[25]  Benjamin Mako Hill,et al.  Remixing as a Pathway to Computational Thinking , 2016, CSCW.

[26]  Matteo Pradella,et al.  Programming Languages shouldn't be "too Natural" , 2015, SOEN.

[27]  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).

[28]  A. Rogers The Classroom and the Everyday: The Importance of Informal Learning for Formal Learning , 2014 .

[29]  Simone Stumpf,et al.  End-User Experiences of Visual and Textual Programming Environments for Arduino , 2013, IS-EUD.

[30]  Maria Letizia Jaccheri,et al.  Creative and open software engineering practices and tools in maker community projects , 2012, EICS '12.

[31]  Camil Demetrescu,et al.  Reactive Imperative Programming with Dataflow Constraints , 2014, ACM Trans. Program. Lang. Syst..

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

[33]  Meredith Ringel Morris,et al.  WeSearch: supporting collaborative search and sensemaking on a tabletop display , 2010, CSCW '10.

[34]  N. Selwyn,et al.  Drawing digital pictures: an investigation of primary pupils’ representations of ICT and schools , 2009 .

[35]  Jonathan Cohen,et al.  Fritzing: a tool for advancing electronic prototyping for designers , 2009, TEI.

[36]  Yvonne Rogers,et al.  Collaboration and interference: awareness with mice or touch input , 2008, CSCW.

[37]  Rafael Ballagas,et al.  iStuff mobile: rapidly prototyping new mobile phone interfaces for ubiquitous computing , 2007, CHI.

[38]  Daniel J. Wigdor,et al.  Direct-touch vs. mouse input for tabletop displays , 2007, CHI.

[39]  Laura R. Novick,et al.  Evidence in favor of visual representation for the dataflow paradigm: An experiment testing LabVIEW's comprehensibility , 2006, Int. J. Hum. Comput. Stud..

[40]  Jeff Sauro,et al.  Estimating Completion Rates from Small Samples Using Binomial Confidence Intervals: Comparisons and Recommendations , 2005 .

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

[42]  Yury Litvin,et al.  Advances in dataflow programming languages , 2004, CSUR.

[43]  John Bird,et al.  Electrical and Electronic Principles and Technology , 2003 .

[44]  Saul Greenberg,et al.  Phidgets: easy development of physical interfaces through physical widgets , 2001, UIST '01.

[45]  Laura Barraza,et al.  Children's Drawings About the Environment , 1999 .

[46]  A. Agresti,et al.  Approximate is Better than “Exact” for Interval Estimation of Binomial Proportions , 1998 .

[47]  Michail N. Giannakos,et al.  Empirical studies on the Maker Movement, a promising approach to learning: A literature review , 2017, Entertain. Comput..

[48]  Ulrik Schroeder,et al.  Informatik Enlightened - Informatik (neu) beleuchtet dank Physical Computing mit Arduino , 2015, INFOS.

[49]  Ralf Romeike,et al.  Physical Computing im Informatikunterricht , 2013, INFOS.

[50]  J. Ungerer,et al.  Children's drawings provide a new perspective on teacher–child relationship quality and school adjustment , 2007 .

[51]  Tom Igoe,et al.  Physical computing: sensing and controlling the physical world with computers , 2004 .

[52]  D. Mavers Communicating Meanings through Image Composition, Spatial Arrangement and Links in Primary School Student Mind Maps , 2003 .

[53]  Burkhard Vollmers,et al.  LEARNING BY DOING – PIAGETS KONSTRUKTIVISTISCHE LERNTHEORIE UND IHRE KONSEQUENZEN FÜR DIE PÄDAGOGISCHE PRAXIS , 1997 .