Listening to Code. Engaging children in CS through the connections with music.

Musical and computational structures present several parallelisms, such as sequences, loops, and triggered events. Because of these parallelisms, it has long been suggested that coding music could be a good way for young children to engage in and learn about computer science (CS). Despite these suggestions, coding music has not reached a widespread audience of young children, and the approach's potential to engage them has not been thoroughly demonstrated. We reasoned that a barrier to adoption is the conceptual complexity of imperative programming, which is the type of programming written as sequential lines of code.  In contrast to imperative programming, flow-based programming (FBP) is written as blocks connected by arrows, thus providing a more intuitive visualization of the computational (and musical!) structures. To evaluate the potential of FBP for engaging young children in CS activities, we created Mflow, a browser-based FBP platform that allows children to easily create sound compositions and play with sound structures. We developed a Mflow standards-aligned curriculum that teachers applied in their fourth-grade classrooms. Surveys indicate that children were greatly engaged, the experience successfully exposed them to CS, and increased their self-efficacy toward programming. Thus, FBP and Mflow appear as promising approaches for reaching a large number of children in the formal school system, increasing their exposure to and engagement with CS.