Coding Robots as a Source of Instantiations for Arithmetic
- 199 Downloads
With louder and more widespread calls to include computer programming as a core element of school curriculum, global efforts to define innovative and distinct coding curricula are underway. We take a different tack in this paper, one oriented by an investigation of the common ground between learning to program and learning mathematics. We observed 9- and 10-year-olds as they learned to build and program Lego Mindstorms EV3 robots over 4 days, attending in particular to the ways that programming robots to move might support the development and integration of powerful instantiations of number, arithmetic and multiplication. Our findings suggest that children’s understanding of number, and their transitions from additive to multiplicative thinking, can be powerfully supported by engaging in practical tasks rather than practice exercises.
KeywordsRobotics Coding Elementary mathematics Instantiations of arithmetic Metaphor Video analysis
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 nations1 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.
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.
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)
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.
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).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
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
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.
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.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 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.
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.
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 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 video4) 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.
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.
Including Finland, Italy, Bulgaria, Cyprus, Czech Republic, Denmark, Greece, Ireland, Lithuania, Poland and Portugal.
Image schemata is the other structure, which refers to a “recurring dynamic pattern of our perceptual interactions and motor programs that gives coherence and structure to our experience” (p. xiv). For instance, the vertical schema emerges from our experiences with verticality: climbing up, rising water in a bathtub, trees, standing up. For Johnson, “Experienced-based, imaginative structures of this image-schematic are integral to meaning and rationality” (p. xiv).
The names of the school and community are included here upon the insistence of participants in the study.
See winning robot video at https://vimeo.com/145404678
We thank participating teachers and students. We are also grateful to Michael Poscente for designing and coaching the Lego robotics task and to Dr. Shalini Khan for her careful and insightful editing. Thank you also to the two anonymous reviewers, whose insights greatly improved our thinking in this paper. This work was funded by the Imperial Oil Science Technology Engineering and Mathematics (IOSTEM) Education Initiative. IOSTEM was not involved in the study design.
- Abelson, H., & DiSessa, A. (1981). Turtle geometry: The computer as a medium for exploring mathematics. Cambridge: MIT Press.Google Scholar
- ACME. (2011). Mathematical needs: The mathematical needs of learners. London: The Royal Society Advisory Committee on Mathematics Education.Google Scholar
- Bakos, S., & Thibault, M. (2018). Affordances and tensions in teaching both computational thinking and mathematics. In E. Bergqvist, M. Österholm, C. Granberg, & L. Sumpter (Eds.), Proceedings of the 42 nd conference of the International Group for the Psychology of mathematics educations (Vol. 2, pp. 107–114). Umeå: PME.Google Scholar
- Behr, M., Lesh, R., Post, T., & Silver, E. (1983). Rational number concepts. In R. Lesh & M. Landau (Eds.), Acquisition of mathematics concepts and processes (pp. 91–125). New York: Academic Press.Google Scholar
- Brennan, K. & Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. Paper presented at the annual meeting of the American Educational Research Association (Vancouver, BC). (http://scratched.gse.harvard.edu/ct/files/AERA2012.pdf).
- Davis, B. (2008). Is 1 a prime number? Developing teacher knowledge through concept study. Mathematics Teaching in the Middle School, 14(2), 86–91.Google Scholar
- Davis, B., & Renert, M. (2014). The math teachers know: Profound understanding of emergent mathematics. New York: Routledge.Google Scholar
- Devlin, K. (2011, January). What exactly is multiplication? [Blog post]. (https://www.maa.org/external_archive/devlin/devlin_01_11.html).
- ECE. (2016). Coding and computational thinking on the curriculum (key messages of PLA #2). Helsinki: European Commission for Education (https://ec.europa.eu/education/sites/education/files/2016-pla-coding-computational-thinking_en.pdf).Google Scholar
- Grover, S., & Basu, S. (2017). Measuring student learning in introductory block-based programming. In M. Caspersen, S. Edwards, T. Barnes, & D. Garcia (Eds.), Proceedings of the 2017 ACM SIGCSE technical symposium on computer science education (pp. 267–272). New York: ACM Press.CrossRefGoogle Scholar
- Harel, I. (1990). Children as software designers: A constructionist approach for learning mathematics. Journal of Mathematical Behavior, 9(1), 3–93.Google Scholar
- Harel, G., & Confrey, J. (1994). The development of multiplicative reasoning in the learning of mathematics. New York: SUNY Press.Google Scholar
- Hiebert, J. (Ed.). (1986). Conceptual and procedural knowledge: The case of mathematics. Mahwah: Lawrence Erlbaum Associates.Google Scholar
- Johnson, M. (1987). The body in the mind: The bodily basis of meaning, imagination, and reason. Chicago: University of Chicago Press.Google Scholar
- Lakoff, G., & Johnson, M. (1980). Metaphors we live by. Chicago: University of Chicago Press.Google Scholar
- Lakoff, G., & Núñez, R. (2000). Where mathematics comes from: How the embodied mind brings mathematics into being. New York: Basic Books.Google Scholar
- Mazur, B. (2003). Imagining numbers (particularly the square root of minus fifteen). New York: Farrar, Straus and Giroux.Google Scholar
- Mor, Y., Hoyles, C., Kahn, K., Noss, R., & Simpson, G. (2004). Thinking in progress. Micromath, 20(2), 17–23.Google Scholar
- OED. (2018). Oxford English dictionary [online]. Oxford: Oxford University Press.Google Scholar
- Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. New York: Basic Books.Google Scholar
- Siemen, D. (2017, February 27). Targeting ‘big ideas’ in mathematics. Teacher. (https://www.teachermagazine.com.au/articles/targeting-big-ideas-in-mathematics).
- Varela, F., Thompson, E., & Rosch, E. (1991). The embodied mind : Cognitive science and human experience. Cambridge: MIT Press.Google Scholar
- Vergnaud, G. (1983). Multiplicative structures. In R. Lesh & M. Landau (Eds.), Acquisition of mathematics concepts and processes (pp. 127–174). New York: Academic Press.Google Scholar
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.