Integration of computational thinking in K-12 mathematics education: a systematic review on CT-based mathematics instruction and student learning

There has been substantial research undertaken on the integration of computational thinking (CT) in K-12 mathematics education in recent years, particularly since 2018 when relevant systematic reviews were conducted on the topic. Many empirical studies in this area have yet to elaborate clearly and explicitly on how CT may support mathematics learning, or otherwise, in CT-based mathematics activities. Addressing this research gap, we conducted a systematic review on the integration of CT in K-12 mathematics education with a focus on CT-based mathematics instruction and students learning under such instruction. The Web of Science database was searched for in terms of studies published from 2006 to 2021, from which 24 articles were selected to provide illustrations of CT-based mathematics instruction and related student learning, and they were further analyzed according to education levels and contexts, programming tools, learning outcomes in CT and mathematics, and the mutual relationship between CT and mathematics learning. Among the results, this review found that geometrized programming and student-centered instructional approaches were facilitators of productive learning in CT and mathematics. Moreover, CT-based mathematics learning entails an interactive and cyclical process of reasoning mathematically and reasoning computationally, which can occur when: (1) applying mathematics to construct CT artefacts; (2) applying mathematics to anticipate and interpret CT outputs; and (3) generating new mathematical knowledge in parallel with the development of CT. The findings contribute to an in-depth understanding of what, and how, CT-based mathematics instruction impacts student learning in K-12 contexts.


Introduction
In the last two decades, considerable literature has grown around the theme of computational thinking (CT), namely, "the thought processes involved in formulating problems and their solutions, so that the solutions are represented in a form that can be effectively carried out by an information-processing agent" (Wing, 2011, p. 20). First to coin the term, Wing (2006Wing ( , 2008 emphasized that CT is a fundamental skill required in daily life and a kind of analytical thinking that shares close connections with mathematical thinking, engineering and scientific practices. Research on CT has received increasing attention, especially regarding its integration into K-12 educational contexts (e.g., Feldhausen et al., 2018;Jocius et al., 2021;Sırakaya et al., 2020;Swaid, 2015). One kind of such integration that has obvious connection, yet little is known Page 2 of 26 Ye et al. International Journal of STEM Education (2023) 10:3 about, is CT's integration in mathematics instruction and its associated learning outcomes (e.g., Barr & Stephenson, 2011;Sneider et al., 2014;Weintrop et al., 2016). Using CT and programming tools to learn mathematics can be traced back to Papert's Logo programming (1980) and further developed by Weintrop et al. (2016), who illustrate the resemblance of CT practices and those of science and mathematics practices, i.e., data handling, modelling and simulation, computational problemsolving, and systems thinking. With CT-based mathematics instructional approaches becoming more widely adopted in K-12 contexts in recent years (e.g., Miller, 2019;Pei et al., 2018;Shumway et al., 2021), a number of design-based research have been conducted to improve the conceptual basis and practice of a "computationally enhanced mathematics education" (Ng & Cui, 2021, p. 848). Related studies have also advanced the instructional design, including the programming tasks to facilitate students' mathematics learning. These studies encompass Kotsopoulos et al. 's (2017) pedagogical framework for CT activities, designing for unplugged, tinkering, making, remixing in K-12 mathematical problem-solving in the domains of combinatorics (e.g., De Chenne & Lockwood, 2022), algebra (Bråting & Kilhamn, 2021), number theory and mathematical modelling (e.g.,  and geometry (e.g., Miller, 2019). Significantly, these studies evidence the reciprocal relationship between computer science and mathematical concepts, in the sense that the application of CT deepens mathematical disciplinary knowledge, while the context of CT-based mathematics learning improves one's CT skills (Pei et al., 2018). However, as argued by Lockwood and De Chenne (2020), while programming seems to be effective in learning certain mathematical topics, it cannot be concluded that it would be superior to paper-and-pencil, nor that all domains of mathematics are generally suitable for integration with computing. In addition, students were found to experience various challenges due to potential differences between the two types of thinking (i.e., computational and mathematical) when solving mathematical problems in programming contexts . Thus, there remains a lack of consensus in the interrelationship and components of overlap between CT and mathematics, especially surrounding the K-12 education contexts in which strong emphasis has been placed on CT development in age-appropriate and interdisciplinary ways (Hong Kong Curriculum Development Council, 2020;International Society for Technology in Education, 2016;National Research Council, 2013). An important question to be further explored is to clarify how computing can be effectively used to foster K-12 mathematics thinking and learning (Hickmott et al., 2018), and vice versa.
While existing reviews have explored the multi-faceted linkage of CT and K-12 education (Barcelos et al., 2018;Grover & Pea, 2013;Hickmott et al., 2018;Hsu et al., 2018;Tang et al., 2020), a scarcity of reviews has discussed the linkage or interplay between CT and K-12 mathematics thinking and learning (Shumway et al., 2021). The most recent and relevant review was conducted by Hickmott et al. (2018), which was a scoping review of how CT has been applied in K-12 mathematics classrooms broadly. The categories of analyses were mainly descriptive, including implicit or explicit connections to domains of mathematics, activity approaches, and evidence of impact on student learning (by quantitative methods of studies). Hickmott et al. (2018) highlighted the need for "studies that explicitly linked the learning of mathematics concepts with computational thinking were uncommon in the reviewed literature" (p. 65). In response, this paper aims to provide an in-depth examination of extant studies of K-12 practices that explicitly link CT with mathematics thinking and learning. In this way, we contribute toward understanding and synthesizing the interplay between CT and mathematics learning as evident in empirical studies, especially given the vast number of studies that have been published since Hickmott et al. 's (2018) review.
In this paper, we report on a systematic review with the dual purpose of reviewing broadly the characteristics of CT-based mathematics instruction and student learning under such environment, and then provide an in-depth analysis and discussion of the interplay between CT and mathematics learning outcomes from extant empirical studies. To do so, we conducted a review of studies that detail both teaching and learning processes in CT-based mathematics activities. It addresses the research gap regarding the impact of CTbased mathematics instruction on student learning, and also more clearly and explicitly identify the interplay between CT and mathematics learning. To achieve our dual foci, we pose the following four research questions (RQs): 1. In what educational contexts is CT integrated in K-12 mathematics education? 2. What tools and instructional approaches are used in CT-based mathematics activities? 3. What theoretical constructs or conceptual frameworks have been used, and what students' learning outcomes are characterized in CT-based mathematics activities? 4. What kinds of interplay between CT and mathematics thinking and learning are observed?

Methodology
We used the PRISMA systematic review method (Page et al., 2021a, b) to review the impact of CT-based mathematics instruction on student learning. In what follows, we describe the search process, selection process and method of data analysis.

Search process
The Web of Science (WOS) database was used as the source for literature search. We used "computational thinking" AND "math*" AND ("school*" OR "educat*") AND ("primary" OR "elementary" OR "secondary" OR "middle" OR "high" OR "K-12") as the search terms to search in "topic", which included searching in titles, abstracts, author keywords, and keywords plus. In consistent with other systematic reviews on CT (Barcelos et al., 2018;Hsu et al., 2018), we limited our search to the publication date starting from 2006, when Jeannette Wing first introduced the term CT; as such, the date range of the publications searched was between 2006-01-01 and the date we performed the search, i.e., 2021-11-15. With WOS automatically removing duplicate articles, we obtained 290 articles in total for further screening.

Selection process
The overall goal of the selection process was to improve relevance of the searched articles as pertaining to the goals of the current review. Our selection process consisted of three stages, and the procedures are summarized in Fig. 1. In the following, we discuss each stage in detail. At Stage 1, non-English articles and non-journal articles (e.g., Conference Papers/Abstract/Unpublished papers) were removed to ensure language accessibility and quality of research of the literature pool, resulting in 164 remaining papers. We excluded unpublished articles because of the need for peer review to ensure quality. Consistent with similar review (Tang et al., 2020), our decision to exclude conference papers and abstract was based on the following reasons: (a) according to Bradford's Law (Testa, 2009), the majority of noteworthy scientific findings have been disclosed in journal articles. Conference papers in this situation would present findings that were similar to those in journal publications. (b) Our systematic review aimed to examine detailed teaching process or student learning process. In general, conference papers did not report such information due to the limited space.
In the next two stages, we developed screening criteria as aligned with our research purpose to investigate the integration of CT in K-12 mathematics education. Although we included keywords of "K-12", "CT", and "math" in the search terms, there was no guarantee that the search records were relevant to those terms, as we only limited the search in titles, abstracts, and keywords. Therefore, at Stage 2, we further reviewed the title, abstract, and full text (when necessary) holistically to eliminate studies that were not conducted in K-12 contexts (e.g., at collegiate levels) or were not focused on CT and/or mathematics education. For example, some articles only mentioned the term "STEM (Science, Technology, Engineer and Mathematics)", "mathematics", or "CT" in the abstracts, but the primary focus of the studies was neither CT-related nor mathematics education-related, i.e., these articles are not about the teaching, learning, and affect issues of CT and mathematics. After the screening of this stage, we removed 111 articles, and the remaining 53 articles entered the full-text screening at the next stage.
At Stage 3, we aimed to screen for those studies that provide adequate descriptions of the teaching and learning processes to shed light on the relationship between CT-based mathematics instruction and student learning outcomes in CT and mathematics. First, the articles must report on empirical studies, so that the quality of student learning with reference to the instructional design can be empirically investigated. As such, we excluded theoretical papers, reviews, and articles that described provisional activities without implementation. Second, we identified studies that analyzed student learning processes and outcomes upon engaging in some form of CT-based mathematics instruction. This means we excluded studies that did not offer insight into features of student learning, such as research focusing only on teachers' learning (e.g., Bouck et al., 2021), and articles that only described the process of implementation or design of a course, task, or learning program, without explicitly reporting on student learning (e.g., Matsumoto & Cao, 2017). Regarding the third and final criterion, we continued to determine whether the article explicitly described any features of the CT-based mathematics instructional process (e.g., tools, tasks, instructional approaches); this inclusion criterion directly relates to our research questions. The first author and the second author independently conducted screening against these criteria. For discrepant screening results, the authors discussed each one until mutual agreement. This screening stage was concluded with 24 articles that constituted the final collection of review articles.

Data analysis
Although our research questions seem to be more inclined to retain the studies using qualitative research methods, the numerical results (Fig. 2, left) does not show significant difference in the use of the three research methods (qualitative at 42%, quantitative at Page 4 of 26 Ye et al. International Journal of STEM Education (2023) 10:3 33%, mix method at 25%). We further categorized the data collection methods (Fig. 2, right) and found that observation and test are the two most frequent ways for assessing and having access to student learning.
Upon completion of the screening process, the first and the third author initially proposed a set of codes which addressed the RQs upon their reading of the 24 articles. For example, in response to answer RQ1 (educational context), the deductive codes included education level (grade), educational setting (school education or afterschool activity), and disciplinary context (multidisciplinary or CT-based mathematics context). Likewise, in response to RQ2 and RQ3, the authors prescribed codes that addressed the programming tools and instructional approach adopted, as well as learning outcomes (associated with CT or mathematics).
To arrive at the second-and third-level codes, the first and third author performed constant comparative analysis (Strauss & Corbin, 1990) to identify and refine the codes that adequately describe the methods and results highlighted in the empirical studies until saturation of categories. Specifically, the authors independently coded six of the articles (or 25% of the selected articles) and discussed the coding results to (1) operationalize the meaning of each code; and (2) delete, add, and synthesize coding items that were helpful to answer the RQs. This process yielded the second-and third-level codes, and a finalized coding scheme with code definitions as presented in Table 1. In the case of RQ4, the authors used constant comparative analysis (Strauss & Corbin, 1990) to obtain new findings regarding the interplay between CT and mathematics. Open coding was first used to create initial codes by extracting information from the literature that was pertinent to student learning. Then, the authors practiced axial coding and selective coding to create a core category to connect them and achieved the final codes.
Upon completion of the coding scheme, the authors coded another eight articles independently, and the interrater agreement exceeded 90%. At last, the first author coded all the remaining articles, and when encountering uncertain coding, all authors discussed until agreement. We report on the coding results in the next section.

Result
In this section, we first describe the educational context, where CT-based mathematics teaching and learning activities are implemented (section "Educational context of CT-based mathematics instruction"); this includes reporting on the education level, educational setting, and disciplinary context of the reviewed studies. Then, we discuss the pedagogical aspects of the articles (section "Pedagogical aspects of CT-based mathematics instruction"), which include the tools and instructional approaches used during CT-based mathematics instruction. Finally, we review students' learning outcomes in relation to CT and mathematics (section "Interplay between CT and mathematics learning outcomes"), both in terms of the diverse constructs used to characterize student learning, as well as the interplay between CT and mathematics learning outcomes as evident in the reviewed literature. We discuss the results along with our further insights in each sub-section.

Educational context of CT-based mathematics instruction
To begin, we use Fig. 3 to summarize the literature count regarding the education level in which the studies are conducted. Notably, more researchers have carried out studies in primary educational contexts, followed by lower secondary education. This may be related to researchers' attention to the importance of students' early exposure to CT (Jurado et al., 2020;Sáez-López et al., 2019) alongside the emergence of child-friendly programming tools for easy CT experimentation during a critical cognitive developmental period for CT learning (Rodríguez-Martínez et al., 2020). Among the 24 reviewed articles, five included research participants across education levels; these studies highlight the

Code definition
Instructional approach Task structure Problem-based learning Learner takes a problem as the starting point, focuses on the inquiry process and finally proposes solutions to the problem (Savery, 2015) Project-based learning The goal of project-based learning is to produce "products" with specifications. It is a complex project, where students encounter multiple problems and need to make clear plans and reasonable decisions to satisfy the requirements of the project (Blumenfeld et al., 1991) Inquiry-based learning Learning begins with questions and is supported by a series of mathematical tasks. Teachers can scaffold students to solve problems by providing related information. (Ernst et al., 2017) Other structure Embodied learning Teachers design concrete activities for students to participate with hand or body movement. Students are expected to experience abstract concepts with gestural or bodily experiences Game-based learning Learning during gameplay (embodied games or digital games) Pair-or group-learning Two or more students in different roles (e.g., one is "driver", who is responsible for operating corresponding tools; the other is an "observer, " who observe and give comments and suggestions) form a group to collaborate on learning feasibility of conducting CT-based mathematics activities to students with varying knowledge bases and skill levels. The cross-grade activities used among these studies are afforded by the spiral mathematics curricula across K-12 education, such as the recurrent arithmetic topics in kindergarten and lower primary education (Sung et al., 2017), the relevant transition from arithmetic to algebraic thinking in the middle school grades , and the interrelated 2D geometry topics across secondary education (Wilkerson-Jerde, 2014). In addition, these studies commonly provided an open-ended constructionist learning environment which involved the students creating CT artefacts with little direct instruction (Papert & Harel, 1991), during which the students could explore and develop non-prescribed learning outcomes in both mathematics and CT. As argued by Muñoz et al. (2020) and , CT-based mathematics activities are suitable for cross-grade teaching and learning, because they support non-traditional curricula learning, with the former study showing that mathematics learning could take on a range of domains with little prior mathematics knowledge necessary, and the latter study concluding that the developmental sequence of learning mathematics maybe altered by the use of computational tools. In particular,  highlights the conceptual connection between skip counting and geometric sequences, which takes roughly 7 years to learn in traditional curricula; but in the Scratch programming environment, it is as straightforward as replacing the symbol for operation. In summary, we synthesize from the reviewed studies the potential for CT-based mathematics instruction to achieve cross-grades mathematics learning. At the same time, they also stimulate questions regarding the constraints of disciplinary mathematics learning within a highly structured curricula which is predominantly intended for using paper-and-pencil as the medium of learning. As such, we also draw attention to the constraints of research and practice in CT-based mathematics instruction given the current curricula structure. As part of educational context, we analyzed the educational settings to understand whether CT-based mathematics instruction has been applied in formal or informal education, with the former being compulsory and the latter being voluntary. We found that 17 reviewed studies were conducted within a formal schooling environment, and 7 studies were conducted outside of formal education settings (of which 4 were in primary education and 3 were in secondary education). In particular, the 7 studies were contextualized in after-school programs or summer camps, which are also considered as non-formal education, since they are intentional and structured when compared to spontaneous and unstructured activities in daily informal settings (Eshach, 2007). We also investigated the disciplinary context of CT-based mathematics instructions to examine whether a single or multiple disciplines were involved in the learning activities. We found that a minority of studies (n = 7) aimed to develop or support students' CT and mathematics learning in an interdisciplinary or multidisciplinary way (e.g., STEM, STEAM, Math + Science). For example, the study of Gilchrist et al. (2021) was situated in a pandemic awareness STEM outreach curriculum focused on medicine, mathematics and technology, where students developed an epidemic outbreak simulator using the Python programming with CoCalc. In another study, students were asked to use KIBO robots to solve STEAM-related problems in designing and engineering a real-life artefact (Jurado et al., 2020).
The remaining 17 articles reported on students' CT and mathematics learning in the context of solving CT-based mathematical problems (see more discussion in section "Interplay between CT and mathematics learning outcomes"). For example, Wilerson-Jerde (2014) explored how secondary students create and analyze fractal structure with Categorizer, while Psycharis and Kallia (2017) posed a statistical problem for students to solve with MATLAB programs. At the primary education level, students used Scratch to learn geometric figures by drawing squares and spirolaterals (Miller, 2019). It is evident that most practices of CT-based mathematics instruction are situated in mathematical (disciplinary) problem-solving contexts rather than in STEM (multidisciplinary) contexts. The lack of studies which address multidisciplinary learning in CT-based mathematics instructions is likely associated with our earlier findings that most studies were conducted in formal education context. Moreover, it has been well-documented in literature that STEM integration is difficult to practice, especially when the focus of STEM integration is on achieving mathematics learning (English, 2016). Together, the findings surrounding educational levels and settings prove that CT-related research in both STEM and mathematics education is at a beginning point, and that more empirical research is needed to inform effective integration of CT in formal K-12 curricula context.

Pedagogical aspects of CT-based mathematics instruction
In this section, we focus on the pedagogical tools and approaches that have been developed and utilized to support CT-based mathematics instruction and student learning.

Tools
While CT is generally related to computer science and programming tools, CT learning activities are not limited to plugged activities (implemented with the use of computers). Our review shows that unplugged CT activities (implemented without the use of computer) are often carried out by researchers as precursory activities for plugged CT activities, such that students would experience some target CT concepts and practices in advance, and this is conducive to students' adaptation to programming (plugged) activities (Bouck & Yadav, 2020;Sung et al., 2017). In Bouck and Yadav's (2020) study, for example, an unplugged game of moving plastic cups on a surface was used to help students gain a better appreciation for what it is algorithms and debugging before students began coding to move a robot. In terms of plugged activities, we identified 18 different tools and platforms used in CT-based mathematics activities across the literature, with some being conventional tools for programming and technology instruction (e.g., Python, Scratch, Robot Dash), and some being more commonly used in mathematical practices (e.g., Sketchpad, GeoGebra, MATLAB). Based on the programming platform interface, we divide these tools into two categories: screen-based programming and tangible programming (Table 2).
Under screen-based programming, by which users program within a screen (e.g., computer screen), we identified three sub-categories of programming languages: text-based programming, block-based programming, and geometrized programming. We define text-based programming tools as those requiring strict, precise, and complex syntactic rules to code, thereby often requiring a keyboard to input text (Horn & Jacob, 2006), such as Processing, Python, Matlab, and MaLT2 (Fig. 4a). In blockbased programming environment (e.g., Scratch, ViMAP), students can drag and drop the visual script blocks on the screen with a mouse or their hands to program. These script blocks constitute more natural and intuitive ways to operate a program while providing useful visual cues on how and where to use program commands (Fig. 4b). Unique to CT-based mathematics instruction is a geometrized programming language, which, as Sinclair and Patterson (2018) proposed, is a third screen-based programming language whose elements are geometric objects rather than texts or blocks. One typical example is the Geometer's Sketchpad, and another example is Lattice Land (see Pei et al., 2018), whose interface enables users to interact directly with dots to construct segments and polygons and investigate lattice geometry as a form of geometrized programming (Fig. 4c). Tangible programming requires coders to use hardware objects with physical user interface to build programs, as opposed to "write" or "drag-and-drop" on the computer screen. With tangible programming, young coders can create procedural syntax to perform physical actions such as moving between two locations by scanning a code sequence (KIBO Robot), pressing command buttons on the machine (Bee-bot Robot; Fig. 4d), entering commands with an external remote (Botley), and placing the desired tiles on the programming board (Cubetto).
Our review provides insights into the features of the programming tools and their implications for student learning, not only in terms of CT development in age-appropriate ways but also the quality of connections with learning content in mathematics. Often, the choice of programming tool in relation to students' characteristics, such as developmental stage, prior knowledge, and experience with the programming tool, were considerations taken by researchers in designing CT-based mathematics activities. For example, the study by Sáez-López et al. (2019) acknowledged the use of block-based programming as attempts to instigate CT without tedious coding. As such, they support kindergarten and primary students to exercise CT through activities with embedded computational concepts, such as variable, sequence, iteration (or loops), conditional statements and event handling (Miller, 2019;Sáez-López et al, 2019). These studies also caution that if the CT concepts and practices involved are not made explicit, it may be difficult to tell if students could transfer their knowledge gained to other problem-solving contexts. Text-based and geometrized programming demand high requirements on the programmer, such as understanding the programming syntax and having adequate mathematical knowledge, which were used frequently in secondary education. In turn, it also demands the instructor to be knowledgeable in these aspects when integrating CT into mathematics instructions, evident in mathematics teachers often needing to collaborate with computer programming teacher on CT-based mathematics instruction (Psycharis & Kallia, 2017). Although extant studies have considered the cognitive demand required on the programming tool in age-appropriate ways during CT-based mathematics activities, few researchers have explicitly communicated the affordances of the programming tool in supporting the target mathematics learning content. In response, we aim to generate further understanding from the reviewed empirical studies on this question. First, the reviewed studies suggest that the physicality of tangible programming is supportive to the learning of number, measurement, geometric shapes and spatial concepts and skills (Jurado et al., 2020;Muñoz et al., 2020;Shumway et al., 2021). Sáez-López et al. (2019) further recommended the use of block-based programming and robots for learning number concepts in CTbased mathematics activities, saying "there are many advantages to teaching computational concepts, coordinates, values and integer numbers as motivation for the student to learn how to operate the robot. The immediate feedback and response of the robot when operating with numbers is a powerful and highly motivational tool for students" (p. 1422). Conversely, text-based programming requires higher level of abstraction; these features make it suitable to deal with more advanced number topics, such as statistics (Gilchrist et al., 2021;Psycharis & Kallia, 2017), number sequence (Chan et al., 2021), and algebraic relationships (Kaufmann & Stenseth, 2021). We note that although the spreadsheet (e.g., Excel) is not generally defined as a CT tool, it executes some statistical functions and output upon inputting text-based formulae, and thus, it was considered as a text-based CT tool in both studies of Chan et al. (2021) and Valovičová et al. (2020).
Uniquely in a geometrized programming environment, the grammar and rules for execution are the properties of geometric objects; only when the properties of geometric objects are satisfied can the correct structure of geometric figure be constructed. Studies which adopted geometrized programming would take a "point" (in a Euclidean sense) as the most basic programming element or input, from which one can generate a more complex output, such as constructing a segment by joining two points or further formed a quadrilateral by constructing four segments. As Sinclair and Patterson (2018) described, applying actions on geometric objects (e.g., dragging a point) is like executing a program, and the actual behavior of the objects provides feedback that helps the coder to debug or proceed to program. In summary, geometrized programming tool as a form of computing tool is especially congruent to the learning of geometry. If future development in CT tools can be specialized to be strongly associated with a particular form or learning content at the tool level, it will open a new venue of educators to support mathematics learning in CT contexts.

Instructional approaches
Regarding CT-based mathematics instruction, we identified several common instructional approaches, and we further sub-categorized them by task structure (i.e., the organization of learning tasks and learning processes): problem-based learning (Gilchrist et al., 2021;Kaufmann & Stenseth, 2021;, inquiry-based learning (Gilchrist et al., 2021;Pei et al., 2018), and project-based learning (Sinclair & Patterson, 2018). While reviewing the studies, we also note other learning modes, such as embodied learning (Sung et al., 2017), gamebased learning (Grizioti & Kynigos, 2021), and pair-or group-learning (Echeverría et al., 2019;Grizioti & Kynigos, 2021;Kaufmann & Stenseth, 2021;Muñoz et al., 2020). In the present review, we focus on analyzing the characteristics of problem-based learning, project-based learning, and inquiry-based learning, since they are more dominant in the literature.
In general, the studies adopting one of these task structures share the common characteristic of implementing student-centered approaches, thereby positioning students as active mathematics learners, computational thinkers and problem solvers. They are also constructivist-or constructionist-oriented, revealing the epistemological underpinning the movement of CT for mathematics. While sharing in common the goal of constructionist or "learning-by-making" (Papert & Harel, 1991, p. 1), we note that the kinds of "making" vary among the three task structures: "making" stands for creating a programmable solution in problem-based learning, constructing a CT artefact in project-based learning, and formulating complex explanations through explorations in inquiry-based learning. In the following, we first provide an example of how each task structure manifest under CT-based mathematics activities to illuminate patterns within and across them, followed by discussing their implications for advancing the integration of CT and mathematics in K-12 contexts.
To begin, our review points to the high compatibility of problem-based learning in CT-based mathematics activities, given the central connection that CT is a mode of problem solving and a kind of analytical thinking in common with mathematical problem solving and reasoning (Baldwin et al., 2013;Wing, 2008). In this context, the main objective is to apply CT and mathematical knowledge and skills-as they are developed-during the course of problem solving. An example is provided in Kaufmann and Stenseth (2021), who utilized problembased learning by first introducing the computational tool, then providing a default program as the starting problem for the students. Without providing any other scaffoldings, students grouped in pairs were asked to propose solutions to rectify the coding, so that the wheel can rotate at a constant speed and the size of the wheel can vary without affecting how the wheel rotates. This approach facilitates "autonomy and active learning experiences, to promote uncertainty and active methodologies centred on the student" (Sáez-López et al., 2019, p. 1406). Different from problem-based learning, the goal of project-based learning is to produce CT artefacts with some project specifications; typically, the students encounter multiple problems related to CT or mathematics and need to make clear plans and reasonable decisions within their knowledge to satisfy the requirements of the project. Sinclair and Patterson (2018) illustrated a study adopting project-based learning, where a teacher first shared some examples of machines created with Sketchpad, led the class to brainstorm similar machines they could make, and provided instructions for the "Machine Project" with specific features (e.g., it should have animated features and involve trigonometry in some way). After students made a project proposal, they worked on their projects independently over the next 2 months and finally created a working machine with Sketchpad (see an example in Fig. 5).
Akin to the other two task structures, inquiry-based learning unfolds with an open question with no obvious solutions in CT-based mathematics context. Uniquely, this form of learning often led to new insights or discovery about mathematics by students upon being guided by a series of exploration and teacher scaffolding (Savery, 2015). This approach was adopted by Pei et al. (2018), who designed an activity in Lattice Land and asked students to explore the area of triangles. The teacher scaffolded students' inquiry-based learning by generating different shapes of triangles, so that students can move the vertices of triangles to identify relationships between triangular area and perimeter.
Of interests to our review is also to understand how specific task structure (problem-based, project-based, and inquiry-based) and programming tool (text-based, block-based, geometrized, and tangible) combine to offer opportunities for productive CT-based mathematics learning. We provide evidence to this question in several ways. First, problem-based learning is well-suited with screen-based programming to facilitate CT-based mathematics activities. This context situates the students as designing computer programs that execute the desirable solution to a problem which is usually open-ended, and, therefore, complementary to the open-ended characteristics of programming practices Rodríguez-Martínez et al., 2020). Even if the desirable result is fixed, such as a numerical value, the programming environment often allows the student to take on different programming pathways and computational means to achieve the desirable result , as aligned with Papert's notion of computing tools as "flexible material" and "objects-to-think-with". Second, the affordances of non-text and multimodal programmable elements in some screen-based programming tools have proven to be powerful for students to present their artefacts during project-based learning. As in the case of mBlock, the students in Sáez-López et al. 's (2019) studies have the freedom utilize block-based programming to design what actions ("Motion", such as direction, speed) and sensory input ("Sensing", such as keyboard, obstacle detecting) to incorporate in the project. Third, geometrized programming enabled geometrical objects to be shown and visualized dynamically onscreen, thereby conveying a sense of temporality in students' thinking that is not available by paper-and-pencil (Sinclair & Patterson, 2018). Finally, another dimension of project-based learning is the aesthetics of expressing one's project, since the CT artefact can be programmed to appear in different colours, sizes, and arrangements (for example, Scratch has its own paint editor and sound editor built-in to enhance the presentation of a program). These are important features of block-based and geometrized programming that support creative expressions in how the students' projects could be presented.

Interplay between CT and mathematics learning outcomes
When implementing CT-based mathematics activities, one assumption educators have been adopting is that the integration of computer science and mathematics education can generate affordances that a sole focus on one may not have. Naturally, a central question researchers have been inquiring is: how do students' CT and mathematics learning interact when they are involved in CT-based mathematics instruction, and what are the consequences of such interactions? While an intuitive and straightforward answer to this question is that the influences are bi-directional and beneficial for student learning, our analysis reveals non-trivial results-that there exist complex interplays and even mismatches when coordinating computational and mathematical modes of thinking. In the following sub-sections, we first review the theoretical constructs and conceptual frameworks used to characterize students' computational concepts and practices as associated with their CT-based mathematical activities. Then, we discuss the ways in which mathematics is used and learned in such contexts.

Computational concepts and practices associated with CT-based mathematical activities
Since the introduction of the notion of CT, researchers have put forward different views on the definition and components of CT (e.g., Brennan & Resnick, 2012;Hoyles & Noss, 2015;Weintrop et al., 2016). Among the 24 reviewed articles, 11 articles specified the CT definitions or frameworks used, as summarized in Table 3. Among these frameworks, Brennan and Resnick (2012) proposed one of the most influential framings of CT for K-12 education that consists of three dimensions: computational concepts, computational practices, and computational perspectives. We focus our following discussion on the first two dimensions as they are addressed more often in the literature. Table 4 to summarize the CT concepts studied by prior researchers. In addition to providing the definitions commonly accepted in computer science and adopted in the reviewed literature, we offer our interpretations of how each computational concept is operationalized and illustrated in CT-based mathematics context. In doing so, we set out to create a theoretical tool for mathematics education researchers to integrate CT in their research and teaching, and more importantly, to continually enrich and refine the definitions in future research. One prevalent CT concept mentioned in the literature is variable. In working with CT-based mathematics tasks, students often need to define a variable and establish its initial value, and then this variable should take on subsequent values when the program is run. Besides representing a quantity, the use of variables may also be extended to represent an algebraic expression (e.g., result of operating with two or more variables; , or geometric location (e.g., locus of a point having a variable location; Sinclair & Patterson, 2018) which could be stored, retrieved and operated on. The observed range of   Sequences "The sequence or structure of instructions that should be followed to complete a goal" (Rodríguez-Martínez et al., 2020, p. 319); or "a series of individual steps or instructions to be executed by the computer" (Ng & Cui, 2021, p. 6) A sequence of steps set up according to mathematical rules or logic to perform a particular instruction for solving a mathematical task, e.g., to program a sequence of codes for testing prime number and then illuminating the LED lights accordingly  When an instruction that can be converted into mathematical information is executed, another instruction related to it with numerical (e.g., as pressing a button the variable "day" increases by 1, and another variable "the balance" will increase by 222; In addition, we highlight two other important CT concepts, conditionals and loops. A conditional is a statement needed to be tested in a program, upon which further actions would take place. A student's use of conditionals often requires their knowledge of number properties (e.g., remainder of a division is non-zero; , algebraic properties (e.g., when a parametric equation determines the amount of rotation of the wheels; Sinclair & Patterson, 2018) or geometric properties (e.g., when a draggable point determines how much a given shape is scaled by; Sinclair & Patterson, 2018). In particular, Sinclair and Patterson (2018) noted the frequent applications of conditionals in conjunction with the signum function, sgn(x) = {− 1, 0, 1} to create conditions in a geometrized programming context, which "worked as a checkpoint of sorts, operating as an if-then statement in a block of computer code" (p. 68). A loop is a code structure that enables a repetition of a certain mathematical procedure. In the case of Miller's (2019) study, the students formulated mathematical procedures to draw a square using Scratch. This involved considering what actions (e.g., moving and turning) were repeated, how they were repeated (e.g., constant distance and angle), and how many times to repeat (e.g., 4 times). Furthermore, Sinclair and Patterson (2018) conceptualized the concept of loops as being closely related to the notions of iteration and infinity. They considered a triangle construction by joining the midpoints of the line segments which formed the triangle in the previous iteration. This process of constructing line segments between the midpoints (of the previous iteration) and generating new midpoints (of the current iteration) would yield an infinite number of triangles whose area would approach zero. Other researchers have considered the productive relationship between iterations and infinity in CT-based mathematical activities (Arnon et al., 2014;Weller et al., 2003); however, limited mathematical topics have been studied regarding the interplay between the concepts of infinity and loops in K-12 contexts. We suggest that there is high potential for CT-based mathematics tasks to take up these concepts in topics, such as sequences and series with infinite terms as well as fractal geometry.

Computational concepts We use
Computational practices In terms of CT practices, we found that researchers have adopted diverse constructs and frameworks from extant literature (Bocconi et al., 2016;Brennan & Resnick, 2012;Hoyles & Noss, 2015;Weintrop et al., 2016), and there has been a lack of consensus about what each practice means and their relationship with each other. Here, we synthesize and organize these CT practices into different levels (see Fig. 6), hoping to offer a coherent and systematic understanding of how these CT practices manifest during the course of problem solving in CT-based mathematical activities.
First, we identify systems thinking to be one of the CT practices at the first level. Systems thinking entails analyzing the problem systematically by investigating a complex system as a whole, understanding the relationships within a system, thinking in levels, communicating information about a system, defining systems and managing complexity (Weintrop et al., 2016). We further categorize systems thinking into three sub-practices: decomposition, abstraction, and algorithmic thinking. Decomposition refers to breaking down a complex problem into many small problems; it can also be applied in a mathematical sense of "decomposing numbers, shapes, or problems in mathematics" by "considering the part-whole relationships" (Shumway et al., 2021, p. 4). As illustrated in Pei et al. 's (2018) study, a student named Alice attempted to solve a problem of finding the area of an irregular polygon by breaking it down into sub-areas of triangles and rectangles. Besides decomposing a complex problem into smaller, manageable sub-problems, abstraction in the sense of abstracting key information and identifying patterns of the problem can also facilitate a solution process. A typical example of this practice is the reasoning process called pattern recognition, that is, looking for similarities between and within problems, e.g., to "see patterns, recognis[e] the unit of repeat, deduce the pattern and abstract the general structure" (Miller, 2019, p. 924). Pei and colleague's (2018) study demonstrated pattern recognition between problems; they described a group of students abstracting a general mathematical formula from a set of data, so that they could calculate the area of any lattice polygon regardless of its shape or size.
If decomposition and abstraction serve to simplify a complex problem at the thinking level, then algorithmic thinking serves to enact the simplification at the practice level through designing a concise algorithm to solve the problem. The reviewed studies commonly defined algorithmic thinking as the systematic means of articulating a problem's solution by well-defined rules, with logical, ordered, and discrete steps to be executed by a processing agent (Kaufmann & Stenseth, 2021;Valovičová et al., 2020). An important feature of algorithmic thinking is automation, which offers efficiency in problem solving by introducing automatic steps to be taken (Valovičová et al., 2020). After completing the algorithmic design for each sub-problem, it is necessary to combine these small parts to form a more complex algorithm, which is called modularizing .
While systems thinking has mainly to do with problem solving in general, its relevance to mathematical content is not particularly apparent. Our review identifies another first-level CT practice, data practices, with stronger mathematical connections, since they relate to collecting, creating, manipulating, analyzing, and visualizing data (Weintrop et al., 2016). Under data practices, we further characterized two inter-related practices, simulation and modelling (Dickes et al., 2020;Gilchrist et al., 2021). Often, CT-based mathematical problems require one to construct a model, represent the data from an experiment (e.g., simulating the spread of a disease; Gilchrist et al., 2021; modeling the calculation of a footprint problem; Dickes et al., 2020), and predict the future trend of the simulated problem (e.g., address problems related to disease transmission through the generated computational model; Gilchrist et al., 2021; generated and discussed the modeling graphs, made predictions related to footprint size using ViMAP's grapher; Dickes et al., 2020). Besides, data practices can serve the purpose of learning a mathematical concept during inquiry-based learning. In Pei et al. 's (2018) study, students used microworld to explore and derive the Pick's Theorem through gathering data, and recording, sorting, and examining the data set to look for and generalize relationships. This study was an example in which "students used computational tools to facilitate these data-driven computational thinking practices" (p. 85).
The remaining two categories of practices (i.e., Brennan & Resnick's [2012] reusing and remixing, testing and debugging) are specific to computational problem solving, in the sense that mathematical problem solving is necessarily situated in the programming environment and tool use. Reusing and remixing involve the coders building on and extending some existing codes and ideas to create a new or more complex program . Testing and debugging are necessary to ensure the solution can solve the tasks successfully . Testing often occurs before debugging, which is to "ensure that things work" (Ng & Cui, 2021, p. 6). If not, then debugging will follow to recognize, locate and fix errors or mistakes when they arise (Bouck & Yadav, 2020;. To summarize, our contribution is toward a systematic organization of the set of computational practices evident in the literature. It is worth noting that these practices can occur simultaneously to facilitate problem solving; meanwhile, they are the very CT learning outcomes codeveloped with mathematics learning outcomes during the course of problem solving. An illustrative example was given by Sinclair and Patterson (2018), who discussed a variety of other CT concepts and practices evident when students constructed a complex machine in Sketchpad (see an example in Fig. 5). First, they decomposed the machine into components and actions into smaller movements and animations (decomposition). When creating small animations, they needed to understand the sequence of the steps to link them together into a complete operation (algorithmic thinking). To create these decomposed steps, students also needed to transform real phenomena (e.g., to create a parabolic trajectory) into mathematical objects (e.g., trigonometric or Page 17 of 26 Ye et al. International Journal of STEM Education (2023) 10:3 quadratic curve) (abstraction and pattern recognition). There were also multiple CT concepts involved in the activity: algebraic or geometric parameters that determine the characteristics of a machine (variable), the use of functions as conditions to control certain motions (conditionals), and the concept of subroutines and loop were used to operate programs controlled by certain buttons and to repeat certain actions. The vast examples provided in this section show that CT concepts and practices can fruitfully support mathematical meaning-making and representations of mathematical relationships when situated in the task of constructing a meaningful CT artefact. Thus, mathematical explorations can serve as a site for students to engage in CT in explicit ways, where the mathematical operations change what appear on the interface.

Mathematical learning outcomes demonstrated in computational contexts
Besides the aforementioned CT learning outcomes, the reviewed literature also conveys a range of mathematical ideas covered in CT-based mathematics instruction (see a summary in Table 5). Several studies have also researched the associated mathematical processes, such as problem-solving (Gilchrist et al., 2021;Psycharis & Kallia, 2017), algebraic thinking , modeling (Araya, 2021;Sinclair & Patterson, 2018), mathematical reasoning (Kaufmann & Stenseth, 2021), and generalization and pattern recognition (Miller, 2019;Wilerson-Jerde's, 2014). To further demonstrate how students' mathematical reasoning facilitates and emerges from computational contexts, we focus our discussion on three aspects. First, we discuss how students apply their mathematical knowledge to construct CT artefacts, including the challenges they may experience during the application. Next, we discuss how they draw upon their mathematics to anticipate and interpret CT outputs and how these processes are tied to their debugging practices. Then, we discuss the reciprocal influence in the sense that students' engagement with CT-math integrated tasks are generative to growth in their mathematical knowledge, and we identify ways through which such learning occurs. Numbers & Algebra (10) -Number concepts and counting (Muñoz et al., 2020;Shumway et al., 2021) - Applying mathematical knowledge to construct CT artefacts Numerous researchers have stressed the important role of mathematical knowledge in solving CT-based mathematical tasks, and in particular, in constructing computer programs to produce certain mathematical outcomes (e.g., Bouck & Yadav, 2020;Dickes et al., 2020;Grizioti & Kynigos, 2021;Miller, 2019). Influenced by Papert's (1980) Logo programming, several studies involved students constructing computer programs to generate a certain geometric shape (e.g., right triangles, squares, rectangles, parallelograms, trapezoids, and rhombuses; Bouck & Yadav, 2020;Miller, 2019). In doing so, the students necessarily drew on their knowledge of the constituting elements of the shapes (e.g., number of sides and angle size) and the relationship of those elements (e.g., parallelism or perpendicularity). A similar task design has been extended to the context of atypical shapes. For example, in Miller's (2019) study, a group of second graders (aged 7-8 years) were asked to use Scratch to draw a spirolateral (see Fig. 7a). The students were able to identify the structure of the spirolateral which pertained growing and repeating patterns (Fig. 7b, c), and then, they translated their observed structure into Scratch codes (Fig. 7d).
In algebraic contexts, a study was conducted by Dickes et al. (2020), in which a group of third graders used the command "repeat" to model the relationship between total distance and step size (Total Distance = No. of Repeats × Step size); this reflected that the students had constructed a multiplicative relationship between the quantities involved. As another example,  designed the Doubling Machine problem in which a bank account balance increased by a doubling amount of deposit in each subsequent week (i.e., $3, $9, $21, $45…). One pair of students observed that the next number always equals to the previous number times two plus three (i.e., t n = 2t n + 3 ) and translated this relationship into codes "[set button_value to][button_value * 2]" followed by "[set button_value to][button_value + 3]. " In each of these examples, mathematics was used in an applied manner, and the students translated their conceived mathematical relationships and structures to computer languages and programs.
Despite the supporting role of mathematics in the construction of CT artefacts, there have been studies focused on the challenges students experience during their enactment of mathematics in computational contexts. As argued by Ng and colleagues (2021), these challenges were due to the mismatches or contradictions between CT and mathematical thinking Sinclair & Patterson, 2018). For example, displaying a result requires an additional code during programming (e.g., calculating 5 + 3 = 8 and then displaying 8), whereas in mathematics, carrying out an operation automatically leads to a result (e.g., calculating 5 + 3 = 8 is a single operation; . In addition, Jackiw and Finzer (1993) explained how debugging a sketch in dynamic geometry environments might differ from debugging in traditional programming environments. That is, the former requires "reasoning from the manifestation of a bug backwards…towards its cause" (ibid, p. 301), while the latter requires identifying the manifestation of a bug, locating the source of a bug, and re-executing the program circuitously. The notions of variables and the way they are operated on also differ in mathematics and computing contexts. For example, in mathematics, the use of a variable in an equation already implies that the variable can take on any values, but in programming environments, one needs to write a line of codes to tell the computer to increase the variable by one . Another issue relates to the use of equal signs. In mathematics, one way of interpreting an equation is that two entities on both sides are equal (e.g., y = x * 2 ), but in programming, it means "performing some repetitive actions on a single quantity" (e.g., Set [variable] to [variable] *2 or [variable] = [variable]*2) (Cui & Ng, 2021, p. 19). As a result, students often encountered difficulties translating their conceived mathematical relationship from a problem situation into its programming equivalent.
To conclude, we highlight the take-away message by these empirical findings: despite the fact that mathematical knowledge plays a supportive role in constructing CT artefacts, the differences between CT and mathematical thinking may constrain students from understanding or practicing specific CT or mathematical concepts. As suggested by many scholars, these discrepancies might lead to problems in programming even if the students understand the problem situation and the mathematical relationships behind. Therefore, it is crucial for mathematics education researchers and mathematics educators to address these discrepancies to improve the integration of CT into mathematics learning.
Applying mathematical knowledge to anticipate and interpret CT artefacts During programming, students may apply their mathematical knowledge to anticipate and interpret CT artefacts beyond making a workable program. We further classify four forms of such application based on the literature: (1) making sense of outputs, (2) anticipating outputs, (3) mediating debugging, and (4) code modeling.
Making sense of outputs One form of such application is applying one's mathematical knowledge to make sense of the outputs. In Wilerson-Jerde's (2014) study, a group of middle graders used a fractal construction tool (Fig. 8) to construct a collection of fractals. In doing so, the students interpreted why the produced fractals looked the way they were based on the creation rules (e.g., square-size, rotation-angle, reflection-axis). In a prior lesson, the students had already learned about fractals, including different types of fractals and how they could be produced. Therefore, the aim of the current activity was in supporting students' reflection upon features of fractals and in making sense of the rules that produce them in a CT context.
Another study by Pei et al. (2018) reported on a student making connections between her exploration within the Lattice Land environment and the triangle area formula she had previously learned. By interacting with Lattice Land, the student could see how moving a vertex along the line parallel to the base would change the shape of the triangle yet keep the area fixed. At first, the student was surprised by this observation, but then she recalled the area formula for a triangle ( Area = 1 2 × Base × Height ), which explained the conservation of area in the geometrized CT environment. Similar to the previous theme, the reasoning processes entailed by these two examples involve students' enactment of existing mathematical knowledge; what distinguish them from the prior theme is that the students were building novel connections between their mathematical knowledge and the CT outputs. Therefore, mathematics is not merely used in an applied manner, and the students deepen and reorganize their mathematical knowledge as they recontextualize it in a CT environment.
Anticipating outputs Studies observing this theme relate to the way students draw on their mathematical knowledge to anticipate the outputs of a computer program. The students are aware of the mathematics needed to evaluate the program and they compare its outputs to the intended goal. In Shumway et al. 's (2021) study, a group of kindergarten students (aged 5-6 years) engaged in an activity with the Cubetto robot coding toy, and they were asked to create programs to instruct the robot to move between two destinations. The robot's movement provided students instant feedback about the accuracy of the program in terms of the desired movement. When the robot moved some steps short of or over the goal, the students would revise the program by adding or removing some codes. This evidences how the students' knowledge of space, measurement, and number operations facilitated their anticipation of the robot movement and the associated debugging actions. As Shumway et al. (2021) described, students can "[think] one step ahead of the robot in anticipation of evaluating the accuracy of their sequence of codes in the program" (p. 20). Dickes et al. (2020) offered another example of students realizing their program was incorrect due to their outputs being inconsistent with their mathematical Page 20 of 26 Ye et al. International Journal of STEM Education (2023) 10:3 calculations. Specifically, the students noticed that the total distance represented in their graph was 240 units, while the total distance calculated using the rate equation was 300 units (15 step size × 20 number of steps = 300 units of total distance). They subsequently revisited the program and corrected the programming error to obtain a desired result. Similar to the previous example, the students' mathematical thinking guided their evaluation of the computer program and motivated their debugging.
Mediating debugging practices We also identify examples, where mathematical reasoning not only motivated students' debugging practices but also guided and mediated the debugging practices themselves. In a study by Kaufmann and Stenseth (2021), a group of students in Grade 8 and Grade 9 (age 13 and 14) were asked to troubleshoot a program, so that a wheel would rotate along a line, such that its diameter hits the target markers on the line. The students initially used intuition and trialand-error to change their codes without any mathematical basis; eventually, they attended to the circumference and its relationship to other quantities to debug the program successfully. In this example, mathematics was not applied to construct the program per se, but it was used for locating and fixing the bugs. Kaufmann and Stenseth (2021) further proposed a model to characterize how mathematics mediates the complex process of troubleshooting; as they shown in Fig. 9, the use of mathematics is intertwined within the iterative process of testing, observing and analyzing, making hypothesis, and changing program.
Code modeling Code modeling refers to students interpreting the mathematics underlying a sequence of codes, sometimes during the process of debugging. Ng and Cui (2021) described a pair of students who debugged a program for generating a prime number detector. They modeled the outcomes of two set of codes, with one having the conditions ('remainder = 0' and 'remainder > 0') within a repeat loop and one outside the loop, and they realized that they should have placed the conditions within the loop to check the remainder before (as opposed to after) carrying out the next division. Different from the previous examples, this instance is illustrative of students using their mathematical knowledge to model the behavior of a given set of codes. Code modeling allowed them to realize that the codes behaved in a way against the intended mathematical operations, and hence to revise the program accordingly.
Summary Examples in these four themes commonly involve students applying their mathematical knowledge to anticipate or interpret CT artefacts, but there are nuances between them. First, using mathematics to make sense of CT outputs can engender novel mathematical connections that were not present previously. In terms of the other three themes which relate directly to debugging practices, students can (1) recognize a buggy program by comparing the outputs with the anticipated outcomes; (2) fix the bugs by reconsidering the mathematical relationships relevant to the situation; or (3) fix the bugs by modeling the mathematical behavior underlying the program. We consider it significant to tease out and illustrate these nuances across the literature, since they shed light on the foundational role of mathematics for CT as well as the insights into how mathematics is used in explicit but different ways in CT contexts.
Generating new mathematical knowledge in parallel with CT development Engaging with CT-based mathematical tasks not only requires application of mathematical knowledge but also in turn contributes to the emergence of novel mathematical knowledge. A number of quantitative studies have demonstrated positive correlation between students' learning of CT and learning of mathematics (Echeverría et al., 2019;Nogueira et al., 2021;Rodríguez-Martínez et al., 2020;Sáez-López et al., 2019;Sung et al., 2017). Echoing the quantitative findings, researchers adopting qualitative methods have confirmed the positive influence of students' CT experiences on mathematical development, showing evidence of how mathematical learning unfolds in CT contexts. We identify three avenues through which new mathematical knowledge emerges in CT-based mathematics activities. First, students can construct mathematical ideas and relationships by reflecting on CT outputs. For example, in Wilerson-Jerde's (2014) study, the students were asked to use the Categorizer tool to create categories that reflected certain features about fractals (e.g., density, "crispness" or "fuzziness", twisting structure, branching structure, sponging structure, and area reduction). By observing a collection of fractals produced by the computer, the students were offered opportunities to "explore important mathematical properties of those structures, and offered more ways to construct fractals with particular mathematical properties" (p. 118). In another study by Pei et al. (2018), students collected data from a number Another avenue through which new mathematical ideas are constructed is reflecting on the programming processes and code features. In Miller's (2019) study, a group of students created codes for making a square and deduced a generalized rule for calculating the perimeter of a square by identifying the repeating patterns from the codes (i.e., perimeter of a square equals four times its length). The author concluded that these primary school students "were forming generalizations when writing computer codes" (ibid, p. 925), suggesting that teaching mathematics through coding may provide opportunities for students to "see the mathematics in a deeper way and build a more connected understanding" (ibid, p. 923). As another example, Pei et al. (2018) described a classroom discussion centered on calculating the areas of triangles whose side lengths were not whole numbers in the Lattice Land environment (Fig. 10). Using the "draw segment" tool, the students came up with different ways to "box" the triangles and calculate their areas. These novel methods were only possible when students used the construction function of the programming tool and reflected on the construction processes and products.
Third, CT-based mathematics instruction motivates a new form of mathematical knowledge that is represented by computational languages and unique to CT contexts. For example, Ng and Cui (2021) discussed a group of elementary students who had no prior knowledge of algebraic expressions and variables, but they could use iterations like '[set total to] [total + money]' and '[set money to] [money *2]' to model a geometric series. It was noteworthy that these students could make use of commands and codes to model mathematical relationships whose algebraic forms were not yet accessible to them in paper-and-pencil context. Therefore, the authors concluded that mathematical content can be "purposefully synergized in a programming context" (ibid, p. 859) to make advanced and historically challenging ideas accessible to younger children and "can serve as a bridge for children to advance their arithmetic thinking toward building coherent and meaningful learning of more advanced algebra in later years" (ibid, p. 858). Shumway et al. (2021) made a similar claim by showing evidence of kindergarten students expressing their emerging knowledge of spatial orientation, spatial movement, measurement, and numbers by imitating a robot toy's motion, suggesting their mathematical knowledge is embedded in their programming activities. The author also argued that those activities afforded students coordinating interconnected domains of mathematical knowledge (i.e., simultaneously using their spatial reasoning and knowledge of numbers) and constructing dynamic perspective of relevant concepts, which went beyond the kindergarten standards.
In summary, this group of literature provides rich evidence that confirms the affordances of CT-math integration in K-12 education. Such integration supports students' abstraction of a variety of mathematical ideas (e.g., geometric properties, formulas, theorems). Through interacting with the CT environment, students are offered opportunities to explore a variety of mathematical contents through reflecting upon the CT construction processes and products. Furthermore, the CT-math integration opens up new possibilities of learning mathematics, ultimately transforming traditional views of the nature of mathematics and mathematics learning. As the literature showed, the integration increases accessibility  (Pei et al., 2018, p. 81) CT is the thought process entailing abstracting, algorithmic thinking, and computational modeling in combination with the use of programming tools to solve a series of complex problems (Wing, 2006). When engaging CTbased mathematical activities, students not only produce CT artefacts and programmable solutions in a physical sense, but also construct meanings for various CT and mathematical concepts. Despite positive findings about the impact of CT-based mathematical activities on student learning, consensus has not been reached regarding how to integrate the two fields in coherent and meaningful ways. This systematic review has clarified, with concrete examples, the topics, education levels, pedagogical arrangements including learning resources, and the degree of integration among other STEM disciplines in which recent studies have investigated in relation to CT-based mathematics learning. Together, these studies have shown that no matter which descriptor of learning context is concerned, CT should not be introduced as an add-on to mathematics learning, but considerations for research and practice is warranted at a conceptual level to fully understand and maximize the ways CT may support mathematics learning.
Our study sets out to review the impact of CT-based mathematics instruction on student learning through four aspects: educational context, pedagogical approach, theoretical construct related to CT and mathematics learning outcomes, and the interplay between CT and mathematics in CT-based mathematical activities. From each of these aspects, our review suggests several affordances of CT which can foster and enrich mathematics learning: first, we observe that programming activities afford non-prescribed mathematics learning in unstructured ways and with little prior knowledge necessary. Second, problem-based learning and project-based learning are particularly compatible with CT-based mathematics instruction. Third, CT integration in mathematics education has proven to be supportive in the content of algebra and geometry across education levels. Finally, CT can serve as both the means (when applying mathematical knowledge to anticipate or interpret CT artefacts) and goals (when applying mathematical knowledge to construct CT artefacts) of learning in CT-based mathematics activities. That is, CT-based mathematical activities afforded students to develop and apply their CT alongside their mathematical knowledge. In particular, we evidenced students' CT development by their ability to use diverse commands, flexibility in sequencing codes, and efficiency in debugging (Dickes et al., 2020;Kaufmann & Stenseth, 2021;; simultaneously as the students' CT concepts and practices emerged, the CTbased mathematics activities also became progressively more mathematically grounded and rigorous. Altogether, these characteristics have important implications to how we organize mathematics learning activities in computationally enhanced ways, and if taken up, can be highly transformative in the way we structure the mathematics curricula and instruction. Wilkerson-Jerde (2014) posits that, "computational ideas provide new and powerful ways of thinking about math and science phenomena" (p. 101); specifically, we highlight the re-orientation of sequencing of mathematical topics as well as the pedagogical aspects of mathematics instructions that are made possible in CT environments (Ng et al., forthcoming). In addition, we draw attention to the mutual support and affordance of CT and mathematical activities, and in turn, highlight the potential of designing CT instruction around mathematical inquiry for co-developing CT and mathematical understandings (Pei et al., 2018).
Overall, this systematic review corroborates with previous findings that computing reflexively develops alongside mathematical (and more broadly, STEM) practices (Dickes et al., 2020;Kafai & Harel, 1991). As Kaufmann and Stenseth (2021) asked at the end of the article: "Have we designed a problem that utilizes programming to give a better understanding of mathematics, or are we using mathematics to improve the problem-solving skills in programming" (p. 1045)? We propose that the answer is "both". That is, CT-based mathematics instruction entails an interactive and cyclical process of reasoning mathematically and reasoning computationally. Likewise, Sinclair and Patterson (2018) claim that CT and mathematics are closely overlapping and are parallel in many aspects. Pei et al. (2018) thus suggested blended curricula that make use of the close connection between CT and disciplinary learning, saying: One way forward […] is through the creation of blended curricula that infuse computational thinking practices into topics from other domains. In doing so, the destination domain can serve as a context for developing and using computational thinking practices while also presenting learners with new, computationally facilitated approaches for exploring disciplinary ideas. (p. 76) Besides, we conclude that research on the following areas is currently lacking: 1. CT-based mathematics instructions taking place in formal and interdisciplinary education settings. This also implies that teachers' professional development concerning the emergent competency of CT-based mathematics thinking is indispensable. 2. design experiments within geometrized programming environments, and more generally, the role of different computing tools in supporting mathematics learning; 3. empirical studies highlighting the different ways in which CT and mathematics learning co-develop, including the potential of integrating CT in other domains of mathematics (e.g., calculus and statistics), and what can be learned from CT-based mathematics instructions in these contexts, both in terms of how CT support mathematics learning, and vice versa.
In conclusion, this study lays the groundwork for future research into more coherent and effective integration of CT in K-12 mathematics education. We encourage more research on the integration of child-friendly programming instructional designs and tools for adoption in primary education or lower to begin integration of CT concepts early in mathematics teaching and learning. Regarding undergraduate mathematics education, we suggest that, due to the nature of the mathematical content, the integration of CT in this context seems to be more natural and common than K-12 education. Different than K-12 mathematics teaching that often rely on paper-and-pencil, it is not uncommon to find an undergraduate mathematics class that includes CT components. However, despite the predominate CT-math integration at the collegiate level, there has been few research that provides fine-grained analysis of the interplay between CT and mathematics learning, although recent work by Lockwood, Sand, and colleagues have paid explicit attention to this research line (Lockwood, 2022;Lockwood & De Chenne, 2020, 2021Sand et al., 2022). In addition, more interestingly, these scholars' findings echo the types of interplay we have identified in the current review, and future research can continue to gain insights into how the interactions between CT and mathematical thinking may manifest differently or similarly in both contexts (Lockwood & Mørken, 2021;Lockwood, et al., 2019).
Notably, although most studies provide empirical evidence in the mutual relationship between CT and mathematics learning outcomes, authors of two articles conveyed that students' CT engagement did not support their mathematical learning (Chan et al., 2021;Psycharis & Kallia, 2017). Given the contradictory claims of these two studies with other studies reviewed, there remains future work in understanding how to maximize the effective role of CT in students' mathematical learning and vice versa. Specifically, to offer an explanation for these discrepant results, researchers need to not only focus on students' learning outcomes and their correlations with CT engagement, but also focus on the qualitative nuances in the students' learning processes and identify and compare the essential features of the tasks and instructional approaches that generate the discrepant learning outcomes.