Worldwide, coding is gaining momentum in K–12 education. Estonia and England, for example, have implemented national curricula, making computer programming mandatory for all school-age students across all grades. Other nationsFootnote 1 are also moving in this direction. In North America, while national-level discussions and calls have yet to gather the same momentum, an increasing number of initiatives are emerging at the local level. For example, the Chicago School District recently launched Computer Science for All, making computer science a core subject in all public high schools. This move was prompted in large part by support from Google and Microsoft, as well as through initiatives such as Code.org and Hour of Code, which are dedicated to expanding access to computer science for all U.S. students.

With regard to the specifics of curriculum development, coding is generally understood as a means to teach ‘computational thinking’. While this term is subject to diverse interpretations, for our purposes it entails using computer science concepts to formulate and solve problems (ECE 2016). More directly, for us computational thinking is about formatting solutions to problems in ways that allow machines to perform them.

Not surprisingly, as computer science is a major source domain for these considerations (and hence descriptions of benefits), potential curricula and concepts often reflect a computer science perspective. As Hickmott et al. (2018) noted in their comprehensive review of studies of computational thinking in mathematics classrooms between 2006 and 2016, most research on K–12 computational thinking tends to be generated by computer science researchers and focuses on programming skills, with only 60 of the 1017 reviewed studies dedicated to explicit mathematical learning.

For instance, Wing (2006) considered computational thinking to be a universally applicable orientation for solving difficult problems, thinking recursively, interpreting code and data, designing large complex systems and conceptualizing at multiple levels of abstraction. Grover and Pea (2013) identified the following elements of a computational thinking curricula:

abstractions and pattern generalizations (including models and simulations), systematic processing of information, symbol systems and representations, algorithmic notions of flow of control, structured problem decomposition, iterative, recursive and parallel thinking, conditional logic, efficiency and performance constraints, and debugging and systematic error detection. (pp. 39–40)

Brennan and Resnick (2012) identified concepts that can be learned in connection to Scratch, namely sequences, loops, events, parallelism, conditionals, operators and data. Block-based programming software, such as Scratch, provides novices with opportunities to construct programs easily. However, learning foundational concepts of computational thinking with block-based programs is not so easy. Sinclair and Patterson (2018), for example, found the use of loops rare when Grade 10 students designed ‘machines’ while programming in Sketchpad (a dynamic geometry environment). Similarly, Grover and Basu (2017) found that middle-school students had difficulty understanding how loops worked when programming in Scratch. They caution that deeper understanding of concepts such as loops and variables requires focused teaching strategies and tasks. Bakos and Thibault (2018) found that Grade 2/3 students were capable of learning and creating multiple action loops, but they encountered difficulties relating to the number of times necessary to repeat a pattern.

Generally speaking, then, computational thinking processes are considered to be about the decomposition of problems, abstraction, pattern recognition and algorithmic design, with specific skills operating within these processes – i.e. something different from existing mathematics curricula, but with clear resonance to many of the broad themes and deep intentions of those curricula. Yet, despite such resonance, the majority of the literature ignores the fact of computing science’s disciplinary roots in mathematics. Furthermore, there appears to be little effort to make explicit curricular connections between mathematics and computational thinking.

On this matter, Idit Harel’s (1990) pioneering work with children could be taken as a caution against incorporating computer programming in schooling for its own sake. When Grade 4 children were tasked with using Logo to design and program computer screen representations of fractions, they did demonstrate significant gains in their understanding of fractions and programming. However, the children in Harel’s control group – who learned Logo programming as something to be mastered devoid from contextual and meaningful tasks – did not show significant gains in learning mathematics or sophisticated programming outcomes.

Linking a new computational thinking curriculum to established mathematics curricula also presents a risk of over-burdening a subject area that is already experienced by many as too densely packed. It is mainly for this reason that we have been investigating the utility of programming as something for, rather than considering programming as something more for schools. In other words, instead of approaching coding as additional curricular material, we focus on co-amplifying parallels between programming and mathematics, and endeavour to track how coding can be integrated into the existing programmes of study in order to bolster mathematical learning.

Papert (1980) was one of the first to promote connecting learning mathematics with computational thinking, with major contributions dating from the 1970s and 1980s. Harel (1990), who was one of Papert’s students, studied Grade 3 children as they developed instructional materials to explain fractions to others using Instructional Design Project software, formatting their fractions explanations using LogoWriter. In creating representations of fractions to help explain them to others, learners strengthened their own understanding of fractions while developing programming skills.

A few studies of programming computers with two-dimensional visual interfaces have highlighted connections to mathematical concepts. For instance, Mor et al. (2004) described eleven 14-year-old students’ mathematical learning while programming with ToonTalk in a game called ‘Guess my robot’. Students (proposers) would invent a rule and program it to generate a sequence of numbers. Other students (responders) would then try to build a robot that could replicate the number sequence. As pupils explained the sequence, they detailed complex problem-solving strategies that included algebraic operations.

In another study, Benton et al. (2017) provided a rich sequence of Scratch programming tasks that highlighted approaches for teaching the concepts of algorithm and of 360o turns. When tasked with repeatedly turning a block to develop the idea of 360o, students (aged 9–11) used strategies of guessing, counting and estimation, and precise calculations. Gadanidis et al. (2017) also observed Grade 1 students using Scratch in order to investigate patterns and the beginnings of the binomial theorem.

Recent studies explicitly connecting mathematics learning with autonomous robots are rarer. Mioduser and Levy (2010) described the experiences of six children, aged 5–6, in programming an autonomous robot for five weekly 35-min sessions. They found that, with the support of adults, the children had success in programming robots to complete increasingly complex tasks. However, they did not describe specific mathematical concepts.

Similarly, Savard and Freiman (2016) studied two teams of students as they engaged in a task in which they were required to program a robot to move through a series of forward moves and turns. The students on one team were in Grades 5–6 and, on the other, in Grades 6–7. Savard and Freiman identified several mathematical concepts required in the task, including, “direction, translation and rotation; in measurement: circumference, time, distance and degrees; in arithmetic: percent, decimals and the four operations” (p. 103). However, with the authors’ focus on analyzing the complexity of the task, they did not describe directly how their students used these concepts.

So, how do children engage in specific mathematical concepts when they program robots? This question serves as the backdrop to the suggestion we develop here, namely that programming robots can provide powerful opportunities for mathematical thinking when entwined with the existing mathematics curriculum. Specifically, we demonstrate that, when combined with robots, computational thinking can provide powerful encounters with numbers, as well as both additive and multiplicative thinking, and that such approaches can be meaningful, engaging, situated and rich in immediate feedback. By providing a detailed description of children’s engagement with multiple instantiations of different concepts in arithmetic, combined with their use of robots, this article aims to contribute to understanding how working with robots might provide possibilities for mathematical engagement.

Background

This work is strongly anchored to the concept of embodied cognition, as framed by scholars who focus on the bodily bases of meaning (e.g. Varela et al. 1991), as well as the role of analogy and metaphor in blending and extending those meanings (e.g. Lakoff and Johnson 1980; Lakoff and Núñez 2000). We specify metaphor in this study as the “structures of imagination and understanding that emerge from our embodied experience” (Johnson 1987, p. xiv).Footnote 2

Noting that “Metaphor is a pervasive, irreducible, imaginative structure of human understanding that influences the nature of meaning and constraints of our rational inferences” (p. xii), Johnson explained that metaphor occurs when we “project patterns from one domain of experience in order to structure another domain of a different kind” (pp. xiv–xv). In this context, metaphor helps us to understand abstract concepts from our projections from past experiences. These ideas about metaphor are integral to our understanding of instantiations of mathematical concepts, and so we explore them in more detail in the next section.

We focus on instantiations of mathematical concepts, a term we use to encompass images, analogies, applications, actions and other elements of experience that might come to be enfolded into one’s mathematical understanding. For example, according to Bergen and Feldman (2008), access to concept development is based on physically embodied experiences: our individual human conceptual systems are profoundly marked by our experiences. For Glenberg (2008), who promotes embodied teaching and learning strategies, “mathematical problem solving makes use of representations based on bodily systems of action and perception” (p. 359). His suggested strategies for teaching and learning involve acting out procedures and solving problems using concrete manipulatives while simultaneously reading symbolizations.

Mathematics and Metaphor

Lakoff and Núñez (2000) argued that learning arithmetic concepts begins much earlier than formal mathematical instruction, and that it is grounded in everyday experiences, constructed artifacts and metaphorical thought. They noted, “For the most part, human beings conceptualize abstract concepts in concrete terms, using ideas and modes of reasoning grounded in the sensorimotor system” (p. 5). For instance, conceptualizing numbers as points on a line is a conceptual metaphor of mathematical thought. Lakoff and Núñez described four grounding metaphors for arithmetic: object collection, object construction, measuring stick and object along a path:

  • The metaphor of arithmetic as object collection is based on a one-to-one correspondence between numbers and physical objects. With this metaphor, numbers answer the question of “How many?” as a count. Hence, for example, the concept of ‘greater than’ corresponds to a higher count. For instance, 5 is greater than 3 because it relates to a set with more elements in it.

  • The metaphor of arithmetic as object construction frames number in terms of the questions ‘How much?’ or ‘How big?’. In this case, ‘greater’ is understood in terms of comparative size rather than count – and so, for example, 5 is greater than 3 because an object comprising a size of 5 units is larger than one of size 3 units.

  • The measuring stick metaphor for arithmetic maps numbers onto distances, and so frames numbers in terms of ‘How long?’ or ‘How far?’. In this case, 5 is greater than 3 because it is longer.

  • The metaphor of arithmetic as object along a path is based on location, through which numbers offer insight into ‘Where?’ or ‘When?’. In this instance, 5 is greater than 3 because getting to 5 entails moving further from a common starting point (i.e. zero).

While the importance of these metaphors for mathematical understanding may not be immediately obvious, Lakoff and Núñez argued that the development of robust understandings of each, and the capacity to move nimbly among them, is critical for the emergence of mathematical understanding. In particular, and as argued further by mathematician Barry Mazur (2003), the last two of the above metaphors are vital for a nuanced appreciation of the number line, which is essential to many mathematical concepts beyond those encountered in elementary school.

Instantiations of Multiplication

For the most part, each of the above metaphors of number – as a count, a size, a distance and a position – can readily be used to illustrate and interpret acts of addition of whole numbers. A few complications begin to arise with subtraction and when considering other number systems, but comprehensible interpretations are usually possible – at least with the kinds of situations encountered by learners at the elementary school level. The same may be said of many familiar instantiations of multiplication. For instance:

  • a count multiplied by a count (e.g. 4 sets of 3 items), which generates a count;

  • a count multiplied by a length (e.g. 4 hops of 3 cm each), which generates a length.

In these sorts of cases, multiplication can be interpreted as repeated addition. However, that interpretation can be untenable when, for example, multiplying a distance by a distance (generating an area) or when multiplying by a size/scalar.

When we began designing programming tasks to support the understanding of addition and multiplication, such concerns did not figure prominently into our thinking. We uncritically imagined addition in this space as mainly being about combining linear movements, which we thought would afford opportunities to consolidate understanding of the number line. We initially thought about multiplication in similar terms, mainly as repeating incremental movements. However, the context of programming robotic motion presented other instantiations of multiplication that were not at all obvious to us at the start and which may contribute to more powerful and flexible understanding of the operation. We explore these in more detail later in this article.

We situate our work against a rather extensive backdrop on research into multiplicative thinking which, as a component of arithmetic, has been the subject of research for several decades (e.g. Bell et al. 1981; Hiebert 1986). In 1983, Vergnaud identified broad strands of the multiplicative conceptual field as multiplication, division, fractions, ratio, rational numbers, linear functions, dimensional analysis and vector spaces. The same year, Behr et al. (1983) identified six constructs of rational number: part–whole, decimal, ratio, quotient, operator, and continuous and discrete quantities. And Harel and Confrey (1994) argued that Vergnaud’s and Behr and colleagues’ papers established that ideas about multiplication and rational numbers were interwoven like a spider’s web, where contact with one strand echoed across the whole space. Multiplication is still a current topic in mathematics education research (see Beckmann and Izsák 2015; Davis 2008; Devlin 2011; Hackenberg and Tillema 2009; Webel and DeLeeuw 2016).

In their work with mathematics teachers, Davis and Renert (2014) identified several instantiations of multiplication and organized them based on their underlying metaphors. For instance, underlying skip counting and number-line hopping is a grounding metaphor of motion. A grounding metaphor of object collection is realized in grouping and repeated addition. Similarly, array-making, folding and branching invoke an object construction metaphor, whereas scaling and linear functions are realized in a measuring stick metaphor. Yet, in none of these studies is there a discussion of multiplication as a loop, an instantiation that is central to coding. That absence is perhaps surprising, given that the words multiply and loop are rooted in the same metaphor.

The word loop has middle-English origins, with the Scottish Gaelic word ‘lùb, meaning to bend, double or return into itself (OED, 2018). Similarly, multiply was originally formed by compounding multi and ply, with ply meaning to bend, bow, fold or double. While we have been unable to verify if programmers were at all aware of this connection when they adopted loop to refer to a repeat structure, it is nonetheless intriguing to notice the common figurative grounding across two rarely connected processes.

In the next sections, as we move toward a discussion of this instantiation, we first describe the context of a recent study, before exploring our research question about how programming robots might support children’s emerging understandings of number, arithmetic and multiplicative thinking.

Context

In this study, we photographed and video-recorded children as they learned to build and program Lego Mindstorms EV3 robots over four half-day sessions. Twenty-two children, ranging in age from 9 to 10 years, participated in this study at Pakan School, Whitefish Lake First Nation 128, in rural Northern Alberta.Footnote 3 The sequence of tasks during the project was as follows. On Day 1, the children followed the instructions laid out in the Lego Mindstorms EV3 manual to become acquainted with the some of the basic architecture of robots that is possible with these kits. Day 2 began with a combination of teacher-led explanations and group-based explorations to enable the children to program their robots to ‘dance’, by selecting, sequencing and looping movements and sounds. They were then given the task of programming a robot to trace a triangle, square, pentagon or hexagon. On Day 3, they were given the final challenge of building a robot that could find and douse a ‘fire’ in any of four rooms of a miniature model building. Day 4 was dedicated to participation in the final demonstration/competition.

Data included professional video-recordings and GoPro digital images, as well as field notes and artifacts, including saved computer programs. Analysis consisted of an iterative process for selecting videos and images that exemplified the students’ embodied actions of mathematical thinking. We used an interpretive approach for selecting videos (Knoblauch and Schnettler 2012). Rather than a standardized categorical analysis, we sought excerpts of videos that specifically captured children’s mathematical engagement.

Initially, I (Francis, first author) reviewed the first day of approximately 3 h of video data seeking fragments where mathematical engagements were visible. Once, several suitable video fragments were found, the authors discussed the quality of the mathematical engagement in the video. For pragmatic reasons, the focus was then narrowed to where engagement with number was evident. I then returned to the larger corpus of video data to seek more video fragments where children were engaged with number. After several consultations, we agreed on the final selection of three scenarios. The selected videos then formed the basis for understanding the children’s experiences.

A narrative developed through an iterative process of re-reading the literature, reviewing the video and GoPro data, and re-writing. As is evident in our analysis below, video data were vital. In particular, it permitted us to slow down the process and identify the integrated/nested processes of mathematical engagement that occurred. We then transcribed the video, recording conversations as well as expressions, and bodily engagements. Overlaid on the transcripts were descriptions of the mathematical concepts with which the children engaged. The authors then unpacked and examined the ways in which the children engaged with these concepts, for insight into what the instantiations of the concept were and how they were invoked.

In the next section, three scenarios focus our discussion on two topics of number and multiplicative thinking. We address the first with a scenario of a trio of girls attempting to program their robot to move a certain distance into the hallway. The second topic of multiplicative thinking we explore with two scenarios: (1) a boy tapping the vertices and sides of a triangle to count the number of programming steps necessary for the robot to move around the triangle as an example of additive thinking; (2) a boy learning how the number of sides and angles of a polygon connects to the number of repeats in a loop. This latter scenario illustrates a developing shift from thinking in terms of a sequence of like actions to thinking in terms of a repetition of a single action – or, more provocatively, from thinking additively to thinking multiplicatively.

Findings and Interpretation

Arithmetic Topic 1: Understanding Number

In the video from Day 3 (see Fig. 1), I was helping Team Pink program their robot to move into the model building. This action required manipulating one block of EV3 code to move the wheels by a specified number of rotations. The team members started out with a guess of 0.4 rotations to move the robot into the first corridor of the building. After testing how far the robot actually moved, and observing that the robot needed to move a considerably greater distance, I prompted the girls by asking what they should try next. Celina suggested they try a point-five [0.5] rotation. The small incremental change was still not enough, so I suggested they try two [2]. Two rotations moved the robot too far, which prompted the question, “What is between zero point five and two?” Celina responded, “Five”. I drew a simple number line on the whiteboard and asked again, “What is between zero point five and two?” “Oh!” Celina exclaimed, “One point eight”. The particular number she chose was close to the number of rotations actually required, indicating that she likely understood a meaning for 1.8. Later observations of Celina’s use of decimal numbers for programming the robots to move appeared to confirm her understanding.

Fig. 1
figure 1

Programming a robot to move into the hall of the challenge’s miniature four-roomed model building. See Number Line video at https://vimeo.com/144996708

In the following sequence of images and descriptions, we summarize how the task of programming a robot to move into a specified space calls for all four of the representations of arithmetic noted by of Lakoff and Núñez. Instantiations of arithmetic as object collection are used in most counting situations, whenever the forms being counted are perceived as discrete objects. In our observations of elementary-level mathematics classrooms, it is by far the most common interpretation of number that is explicitly invoked. Less obviously, it is also called for in programming movements, since programmers translate complicated actions into discrete steps or instructions.

And, more obscurely, conceptual moves such as the discretizing of wheel turns initially format movement in terms of counts – although we observe in first efforts to program robots to move that learners quickly transition to seeing movement in terms of sizes (i.e. answering ‘How big?’ or ‘How much?’). This is evident in a vocabulary shift from, for instance with learners describing numerical values as ‘not big enough’ or ‘too large’, rather than as ‘not enough turns’ or ‘too many’. Regardless of this, however, in order to anchor their initial uses of number to the count-dominated uses of number in their mathematics classes, we began by explicitly focusing on number as count. Figure 2 presents an instantiation of number as count, showing that two turns are fewer (that is, comprise a smaller set) than fiver turns.

Fig. 2
figure 2

Number of wheel rotations as an instantiation of arithmetic as object collection

For many learners, it appears that preliminary emphases on number as count and number as object construction constitute useful scaffolds for dealing with distances that cannot be represented in terms of full wheel turns (that is, in terms of whole numbers of turns), setting the stage for explicit invocation of the measuring stick metaphor. Figure 3 illustrates how this instantiation might be initially encountered. In this case, to move the robot a further distance forward, Celina wanted a larger wheel rotation than 0.4, so she added an incremental number of 0.1 wheel rotation to come up with a 0.5 wheel rotation. It could be argued that she continued to rely on a number as count metaphor here, with ‘0.1 wheel turn’ as the new unit. However, her vocabulary oscillated between notions of size and distance (e.g. “point five is bigger than point four” and “point four isn’t far enough”). Thus, we believe we have observed a transition in conception of number, through which wheel turns are not perceived as discrete objects, but as parsable continuities. Those parsed elements can then be assembled into an appropriate object or seen as a precise distance.

Fig. 3
figure 3

Bridging arithmetic as object construction and the measuring stick metaphor through combining portions of wheel rotations (in this case, number can be meaningfully interpreted as both size and distance)

Instantiations of the measuring stick also featured prominently in the children’s programming, and was particularly manifest in the frequent need to interpret wheel turns in terms of actual distances (e.g. when the phrase “one wheel turn” was deployed not as a description of movement, but as a reference to a distance of roughly 12 cm). Figure 4 demonstrates the instance in which the room of the hall was at shorter than approximately 1.5 wheel turns. In this instance, programming the code block required understanding measurement. It also illustrates an instance in which students tended to shift fluidly between distance (i.e. ‘How long?’) and location (i.e. ‘Where?’), as they characterized numerical values both in terms of the distance a robot must travel (“It has to go one point five”) and the place at which it is supposed to arrive (“It has to go to one point five”).

Fig. 4
figure 4

Measuring stick – the length of hall of the into the room

Thus, programing a robot to move can potentially draw upon and blend together all four of the noted metaphors of arithmetic. However, our strong sense is that instantiations of measuring stick and object along a path very quickly come to dominate learners’ thinking – which, as we noted above, are vital for a robust and nimble appreciation of the number line. In terms of programming tasks, Fig. 5 presents an occurrence that can be interpreted as an instantiation of number as both distance and location. In this case, the starting place becomes a critical element that occurs when the robot enters the room, and recurs in the opposite direction when the robot leaves.

Fig. 5
figure 5

Arithmetic as both a distance and as an object along the path

In the exchange several paragraphs earlier, we take Celina’s immediate and satisfactory response to the repeated question as evidence that Francis was justified in her suspicion that the learners were lacking an appropriate image for working with decimal numbers – or, at least, were unable to extend whichever interpretations had been previously available for a situation in which distance was measured in wheel rotations. Few members of the class used decimals for programming without being prompted, even though Celina’s teacher commented several times over the course of the coding sessions that the class had just completed their decimal unit. Programming the robot to move compelled Celina to elaborate her understanding as the visual representation of the number line presented a way to link wheel turns with distance explicitly.

Being able to identify the particular instantiation(s) that might be of most use in a situation is a critically important teaching competence, as Francis demonstrated this in the interaction with Celina when she recognized that Celina was not interpreting number as a distance and thus reminded her of that by offering the image of a number line. No explanation other than an image of number that fitted the application at hand was required.

Arithmetic Topic 2: Moving from ‘Additive’ Thinking to ‘Multiplicative’ Thinking

The need for appropriate metaphors and images of number is not sufficient for making sense of the entire episode with Celina. A closer analysis revealed a further issue with the students’ arithmetic, namely, the tendency to default to additive actions when multiplicative actions would have been more suitable. That episode began with the group’s realization that an entry of 0.4 moved the robot on a small portion of a desired distance. Asked what else they might try, they increased only by an increment of 0.1 (to 0.5) rather than by the necessary factor of (roughly) four times.

This same tendency to default to additive actions when multiplicative ones would have been more productive was witnessed many times across many groups over the 4-days project. The additive thinking video scenario linked to Fig. 6 provides a window into another instance of the same phenomenon. In this case, Michael, an engineering student, is helping with programming the robot. He states that he wants to start a new program and that he does not “want to have any loops yet”. Gene, who is on the floor (to the left) in an orange shirt, is figuring out how many blocks of code are needed for the program. As Michael talks, Gene counts “one, two, three, four, five, six,” and taps each vertex and side of the yellow triangle. Michael says, “First, I want to see if it can go straight and then turn.” Gene interjects, “I need six there”. He traces the triangle’s path with his fingers and says, “It goes there straight, turn, straight [inaudible]”. Gene’s step-by-step repetition of the same two steps (‘straight, turn, straight, turn, straight, turn’ sequence) is an example of additive thinking – construing the situation in terms of a sequence of increments rather than identifying the ‘unit’ that repeats and the number of times the ‘unit’ repeats (e.g. three). In light of Davis and Renert’s (2014) analysis of grounding metaphors, Gene’s grouping and repeated addition of robot motions could be considered instantiations of the object collection metaphor.

Fig. 6
figure 6

Programming the robot to follow a triangle. See Additive Thinking video at https://vimeo.com/144820583

A looping program is any program that “repeats a fixed instruction sequence” (Abelson and DiSessa 1981, p. 40). For the triangle, the loop repeats the straight–turn sequence three times. Recall that looping rests upon the grounding metaphor of object construction (i.e. folding). Phrased in terms of programming, Gene opted to repeat the same straight–turn of instructions sequentially (object collection) rather than by employing a loop (object construction). He used this additive approach even though he and his group mates had learned how to use loops the day before when they programmed their robot to dance.

In keeping with Sinclair and Patterson (2018) observation that evidence of the use of loops is rare, only one of the eight groups in the class used a loop for the polygon task, suggesting that the move from additive/increment-based thinking (object collection) to multiplicative/loop-based thinking (object construction) is more conceptually demanding. Seemingly aligning with Grover and Basu’s (2017) approach to developing understanding of loops, the classroom teacher, along with Francis, attempted to help Liam program with loops, as illustrated in the additive to multiplicative video linked to Fig. 7. Liam, on the left, identified that a pentagon has three sides. When asked to count the sides, he walked around the pentagon counting aloud and announced “five times”. I explained that five times is the number needed to repeat the two block codes (go straight and then turn) in the loop. In response, Liam exclaimed excitedly, “Yes!”

Fig. 7
figure 7

Programming using loops. See Additive to Multiplicative video at https://vimeo.com/144826969

In the same video scenario, two boys were shown fine-tuning their robot’s program to follow a triangle. Their robot never stopped, which indicates that they were using an infinite loop, which suggests that they were making use of a concept of “repeating,” but likely not of multiplication. They identified the straight–turn unit that repeats, but not the number of times that that unit repeats. After three attempts at tracing out a triangle, they still did not craft a program that would stop their robots.

Were coding to be an integrated part of the elementary mathematics experience, it seems that looping might present a distinct and powerful instantiation of multiplication. In particular, it is one that also entails enactments of the distributive property of multiplication over addition, since everything ‘inside’ the loop – just like everything inside a set of brackets – is acted on by the loop’s operator (e.g. 5(4 + 3) where 4 + 3 is added and then multiplied five times).

Across the participants in our study, there was a strong tendency to program robots to trace out polygons as a sequence of same-steps, rather than as a repetition of a single sequence of steps (that is, as enabled with a loop). Perhaps students felt it was safer just to code individually and linearly in time, rather than having to think about which part was being repeated and how many times. That this tendency was not easily interrupted through instruction provides evidence of the complexity of thinking multiplicatively. Even at the end of the 4 days, during the final challenge, only two of the groups had managed to appreciate the power of loops sufficiently to incorporate them consistently into their programs. Not surprisingly, theirs were also the robots that performed the best. In one of these cases, the code for the winning robot (see winning robot videoFootnote 4) involved a loop to determine whether a ‘fire’ was present, announcing ‘yes’ or ‘no’, as appropriate, and the activation of an arm motion to dump fire retardant if ‘yes’.

We dwell on this point because the operation of multiplication is, arguably, the most important concept in grade-school mathematics. Multiplicative thinking is the cornerstone of proportional thinking, which is foundational to advanced mathematics for reasons that include the access it affords to an extended range of numbers (for example, larger whole numbers, decimals, common fractions, ratio and percent), its role in recognizing and solving a range of problems involving direct and indirect proportion, as well as the power it offers with its prominent place in school-based concepts and processes (Siemen 2017). In brief, multiplicative thinking is a key in the transition from early ideas to later, more advanced ones in mathematics (see, for example, ACME 2011, p. 20). Knowing how to find repeating sequences of coding instructions and identifying the number of times the sequence repeats is an example of multiplicative thinking. Understanding how to align loops with multiplication could therefore provide powerful opportunities for its development.

Closing Remarks

In the scenarios reported, the tasks of programming robots required more than parsing complicated actions into a singular direction; they entailed flexible engagement with conceptual metaphors and mathematical models. Drawing upon the similar metaphoric roots associated both with programming robots and with mathematics could provide opportunities for co-amplifying the teaching and learning of both.

Prompted by the type of observations and interpretations described here, we have begun to notice that the tendencies and instances of immature understanding we observed in the students’ actions are not specific to elementary-age children alone. We have also observed similar tendencies when working with pre-service and in-service teachers. In a recent undergraduate Science, Technology, Engineering and Mathematics (STEM) Education course, over one-third of the pre-service teachers used step-by-step sequences rather than loops to program their robots to trace out regular polygons. Similarly, in a recent professional learning workshop, more than half of a group of in-service teachers opted for a step-by-step sequence rather than a looped sequence of straight–turns to program a robot to trace a regular polygon.

Given that computer programming aligns closely with concepts and structures in mathematics, we suspect that it might offer other powerful instantiations for mathematical concepts that have not yet been noticed. Such a suggestion is perhaps not surprising, given the mathematical roots of computer programming. In this context, and in consideration of the fact that mathematics literacy, like competency with programming, is of growing relevance, the realization that engagement with emergent technologies can complement and co-amplify mathematics learning can perhaps contribute to our evolving understandings of what ‘basic’ mathematics might be for our era.

With regard to important complementarities between learning mathematics and learning to code, the Lego Mindstorms EV3 robots and their associated programming language provide a powerful instance of multiple solutions: they afford tremendous flexibility for accomplishing a range of tasks, from the trivial to the significantly complex. None of the programming tasks set for the children in our study had pre-given or optimal ‘solutions’. Despite that – or perhaps because of that – the children were able to engage in ways that they could recognize as successful, even when ‘complete’ solutions were not reached. With incremental tasks and iterative refinements, the children were able to develop more sophisticated and efficient methods for programming the robot. It is not difficult to imagine a mathematics class with similar standards of success.

That said, it is not a coincidence that the winning robot had the most efficient and sophisticated program of the group. Some answers were better than others, and those answers appeared to reflect powerful mathematical thinking. Future research could follow how the children’s mathematical insight gained via engagement with robotics move into other instances of mathematical understanding.

The implications of the results of this study underscore the importance of developing and implementing a computer programming curriculum in schools – but not as something more, that is, a separate curriculum. This tendency to develop and include a separate, new subject area is, we believe, hinged to a habit of seeing coding as a skill, which in turn is hinged on the habit of justifying this new subject area on the basis of perceived cultural and economic need. However, when coding is engaged with, not as a distinct skill set, but rather as a domain of human knowing with deep roots in and emergent powers for mathematics, it makes more sense to think about computer programming as ‘something for’.

We have attempted to illustrate a few preliminary instances of how integrating programing robots into the existing curriculum can provide powerful models for teaching and learning mathematics, but we do not believe that the potentiality of coding ends there. Programming is an emergent literacy that can amplify other critical literacies, thus affording access to a diverse range of cultural capital. While we hope there will be a consequent rich discussion of the co-amplifying possibilities of a mathematics-and-coding curriculum, we are also hopeful that educators might also consider possibilities for integrating coding into other established subject areas as well.