Publication Cover
Computers in the Schools
Interdisciplinary Journal of Practice, Theory, and Applied Research
Volume 40, 2023 - Issue 3
760
Views
0
CrossRef citations to date
0
Altmetric
Research Articles

Do Optional Programming Courses Affect Eighth-Grade Students’ Mathematical Problem Solving?

Abstract

Computational thinking and programming have emerged as central 21st-century skills. Several countries have embedded these skills in their school curricula. This study investigates how an optional programming course affects eighth-grade mathematical problem solving in Norway using a quasi-experimental design with pre- and post-tests. These tests consist of problem solving items from the 2003 Programme for International Student Assessment (Organisation for Economic Co-operation & Development, 2003a). The students taking these tests were divided into two groups: one with students enrolled in an optional programming course and one with students enrolled in other optional courses. Our results indicate no significant difference in the development of mathematical problem solving for the optional programming course students compared with those in other optional courses. Our discussion of these results offers further insights into how problem solving in computational thinking and programming align with mathematical problem solving.

Introduction

In 2020, a new curriculum for first to tenth grade (“LK20”) was implemented in Norway, replacing the curriculum from 2006 (“LK06”). The new curriculum, like the one from 2006, are regulations for the Education Act and the schools are required to follow (Directorate of education, 2022c). For each subject there are competence aims and core elements. The new mathematics curriculum emphasizes “students becoming good problem solvers and discovering connections in and between the subjects’ knowledge areas and other subject knowledge areas” (Directorate of Education, Citation2020a). A prominent change in mathematics from the LK06 to LK20 curricula involves the introduction of computational thinking (CT) and programming.

Different approaches exist for integrating CT and programming into European primary and lower secondary schools. In a report from European Schoolnet (Balanskat & Engelhardt, Citation2014), the main argument for integrating programming involves developing students’ logical thinking and problem solving skills. For example, Denmark, Italy, and Portugal have introduced CT and programming through independent subjects in informatics, while Sweden and Finland have implemented CT and programming through mathematics (Bocconi et al., Citation2016; Bocconi et al., Citation2018; Gueudet et al., Citation2017; Heintz et al., Citation2017; Hemmi et al., Citation2017). The main parts of CT and programming in Norway are integrated into mathematics. However, CT and programming are also included in arts and crafts, natural science, and music. In the Norwegian mathematics curriculum, CT is also included in the “exploration and problem-solving” core element. The term algoritmisk tenking (“algorithmic thinking”) is used in the Norwegian curriculum; however, the official English translation uses the term “computational thinking” (CT) (Directorate of Education, Citation2020a). In this core element, problem solving is described as developing a method to solve a previously unencountered problem. In comparison, CT is described as solving a problem systematically, where the problem can be decomposed into sub-problems (Directorate of Education, Citation2020a).

Additionally, programming is included in the fourth to tenth grade competence aims. In the fourth grade, students should be able to develop algorithms with variables, conditionals, and loops. Several competence goals in the later grades include programming in different contexts. For the eighth grade, four competence goals are connected to the “exploration and problem solving” core element; however, only one explicitly mentions programming: “The pupil is expected to be able to explore how algorithms can be created, tested, and improved by means of programming” (Directorate of Education, Citation2020a).

In the eighth grade in Norway, students must choose one optional course, and different schools offer a range of optional courses for students to choose from. One of these is programming, with the aim for students to learn how to discover technological solutions by developing programs. This course’s general description includes both “CT” and “problem-solving” (Directorate of Education, Citation2020b). Further, the optional programming course curriculum includes three core elements: “CT,” “coding,” and “software development.” The “CT” core element is described as “using given rules to analyze and develop a plan for how programmable technology can solve problems or parts of problems in different subjects” (Directorate of Education, Citation2020b). The competency aims for programming state that students should learn how to “analyze a problem, decompose a problem, and assess whether parts of a problem could be solved by programming” (Directorate of Education, Citation2020b).

As previously mentioned, subjects other than mathematics include CT and programming in the LK20 curriculum. In this study, we investigate whether students with an optional programming course have better development in problem solving in mathematics than students with other optional courses. We compare students’ performance in the two groups on test items from the Programme for International Student Assessment (PISA). Moreover, the study focuses on how an optional course in programming affects eighth-grade students’ mathematical problem solving.

Computational thinking and programming in mathematics education

The ideas for integrating programming into mathematical problem solving are not new. Papert (Citation1980) suggested using LOGO as a programming environment for learning mathematical problem solving. In prior decades, Wing’s (Citation2006, Citation2008, Citation2011) conceptualization of CT has led to the inclusion of programming and CT in school curricula worldwide. According to Wing (Citation2008, p. 3717), there may be similarities in how one approaches and solves a problem in CT and mathematical thinking (MT); hence, problem solving has become central in CT definitions. While Barr and Stephenson (Citation2011) argued that CT is unique from other kinds of thinking by emphasizing that “CT is an approach to solving problems in a way that can be solved by computers. Students become not merely tool users but tool builders” (p. 51). Shute et al. (Citation2017) described CT in a similar way but noted that it does not necessarily include computers and a systematic approach to solving problems. Sneider et al. (Citation2014) used a Venn diagram to illustrate the connection and overlap between CT and MT. They argued that problem solving is one of four overlapping concepts between MT and CT. According to Sneider et al. (Citation2014), MT occurs when students “approach a new situation with a range of mathematical skills in mind,” and CT is “an awareness of the many ways that a computer can help … visualise systems and solve problems” (p. 54). Problem solving is also central to the taxonomy of CT in mathematics and science, as Weintrop et al. (Citation2016) aimed to develop an understanding of CT as it applies to mathematics and science classrooms. Computational problem-solving practices are considered one of four main categories of practices for CT in mathematics and science classrooms; within this category, programming is one of seven sub-practices.

In pursuing the characteristics of CT in mathematics education, Kallia et al. (Citation2021, pp. 20–21) claimed that CT in mathematics could be characterized as follows:

A structured problem-solving approach in which one is able to solve and/or transfer the solution of a mathematical problem to other people or a machine by employing thinking processes that includes abstraction, decomposition, pattern recognition, algorithmic thinking, modelling, logical and analytical thinking, generalisation and evaluation of solutions and strategies.

Moreover, Kallia et al. (Citation2021) identified problem solving as one aspect of considering CT in mathematics. Their investigation revealed a relationship between MT and CT. As this section demonstrates, problem solving is one main similarity between mathematics and CT. This section is built on existing knowledge of how problem solving is understood from a CT perspective. In the following section, we turn to problem solving from a mathematics education perspective.

Mathematical problem solving

Problem solving in mathematics often references Polya’s (1945) book How to Solve It. Subsequently, the focus on problem solving in mathematics education has been debated and developed from different perspectives (Liljedahl & Cai, Citation2021). Mathematical problem solving is defined as the development of a productive way of thinking about a challenging situation (Lesh & Zawojweski, Citation2007) in which “the solver must adopt a mathematical point of view in order to carry out mathematisation processes” (Carreira & Jacinto, Citation2019, p. 42). Problem solving is a synchronous process of mathematization and mathematical thinking that aims to develop a solution and an explanation for it (Carreira & Jacinto, Citation2019; Carreira et al., Citation2016).

As a result of the recent technological development in mathematics, a series of computational, modeling, and programming tools have emerged to support students in mathematical problem solving, which could also influence productive thinking while solving problems. Liljedahl and Cai (Citation2021) argued that the role of digital technologies changes how students solve mathematical problems, and in realizing this, a new set of competencies must be developed.

In the revisited “Competencies and the Learning of Mathematics” (abbreviated to KOM) framework (Niss & Højgaard, Citation2019, p. 9), mathematical competency is described as “someone’s insightful readiness to act appropriately in response to all kinds of mathematical challenges pertaining to given situations” (p. 12). One of eight competencies is “mathematical problem handling,” which includes both creating and solving mathematical problems in different contexts and mathematical domains. Additionally, this sub-competency involves critically analyzing and evaluating one’s own solutions as well as those developed by others.

Problem solving in the 2003 PISA framework

The 2003 PISA framework (Organisation for Economic Co-operation and Development—OECD, Citation2003a, p. 156) highlighted cognitive processes and cross-disciplinary and real situations as key elements in problem solving. In the 2003 PISA (OECD, Citation2003a), problem-solving items consisted of three problem types: decision-making, system analysis and design, and troubleshooting (OECD, Citation2003a, Citation2004). Each of the problem types involves different goals and processes. For example, in the decision-making problem type, students can choose between different alternatives under constraints. In the system analysis and design type, the student aims to “identify the relationships between parts of a system and/or designing a system to express the relationships between parts” (OECD, 2003a, p. 29). In troubleshooting, students aim to troubleshoot a faulty or underperforming system or mechanism. The general processes involved are understanding, characterizing, solving or designing, reflecting upon the outcome, and communicating the problem. These processes are described in Problem-Solving for Tomorrow’s World (OECD, 2004).

The previous sections focused on how problem solving is presented in CT and programming, mathematics, and the 2003 PISA. As mentioned earlier, problem solving is considered a common ground between mathematics, CT, and programming. Moreover, several problem-solving concepts that are common to these can also be found in the 2003 PISA problem solving assessment framework. Examples of these concepts are the way in which students approach problems and the aim to develop a solution with an explanation. They also include several common problem-solving processes: understanding the problem, decomposing, modeling, and troubleshooting.

CT, programming, and problem solving in the mathematics education research

The literature has considered various contexts in investigating problem solving in CT and mathematics education, as well as allowances and constraints for problem solving in this joint research field. This section will outline this relevant research, including works that have focused on programming and mathematical problem solving after Wing’s (Citation2006) conceptualization of CT.

Psycharis and Kallia (Citation2017) quasi-experimental study investigated the relationship between programming and problem-solving skills in mathematics in Greece. Their study was conducted among students in their last year of high school (age 16 to 17; N = 66). These students were divided into two groups: one experimental group, which attended an informatics-oriented course, and one control group. The students in the experimental group used Pascal text programming. The authors’ pre- and post-tests incorporated a problem adapted from the Greek national examination board and indicated that the experimental group achieved a slightly higher mean score than the control group. However, the results demonstrated no significant difference in mathematics problem solving between the groups; hence, the authors’ hypothesis—that computer programming improves students’ mathematics problem solving—could not be confirmed (Psycharis & Kallia, Citation2017, p. 596).

In the Spanish context, Rodríguez-Martínez et al. (Citation2020) investigated whether using Scratch, a block-programming language, affected sixth-grade students’ (N = 47) mathematical knowledge in solving problems. The authors (2020, p. 9) found “a relative improvement for the sixth-grade students’ proficiency in solving word problems … after completing programming activities with Scratch.” However, a comparison between the students who attended the programming activities and the control group indicated similar learning gains.

Ng and Cui (Citation2021) used a screen-based programming language with Hong Kong students aged 11 to 13 to solve mathematical problems. Their study demonstrated that mathematics and problem solving could benefit one another in a programming context. In a similar study, Cui and Ng (Citation2021) also explored the challenges faced by students in grades five and six (ages 12 to 14) in using a block-based programming language with a physical object (Arduino) to solve mathematical problems. Their results indicated that students might encounter challenges moving and working between the mathematical and computer science domains. One primary reason for these challenges was learning a CT-based environment while using mathematical concepts and problem solving.

Studies on mathematics and programming in the Norwegian context are limited. One study from Kaufmann and Stenseth (Citation2021) investigated argumentation by students in grades eight and nine (ages 13 and 14) while solving a mathematical problem using the Processing programming development tool. Their discussion and conclusions warned against the assumption that programming automatically strengthens students’ problem-solving skills in mathematics. Similarly, Lodi and Martini (Citation2021, p. 883) also argued that the frequently cited idea that CT automatically transfers to other broad 21st-century skills is often unverified.

Overall, these studies seem to agree that it is possible to integrate programming into mathematical problem solving. The quantitative studies, in particular, have observed that students participating in a programming course achieve better mean scores, although this is not significant for other students (Psycharis & Kallia, Citation2017; Rodríguez-Martínez et al., Citation2020). The qualitative studies have demonstrated if and how the integration of programming into mathematical problem solving is possible from the student perspective (Cui & Ng, Citation2021; Kaufmann & Stenseth, Citation2021; Ng & Cui, Citation2021). However, all these studies have also discussed possible challenges for students in using programming in mathematical problem solving. We will highlight two of the possible reasons for this discussion. The first relates to how problem solving aligns with CT, and how CT can impact problem solving processes while learning mathematics through programming (Psycharis & Kallia, Citation2017). The second possible reason is the lack of pedagogical instructional strategies related to problem solving in CT and programming and mathematical problem solving (Kaufmann & Stenseth, Citation2021; Ng & Cui, Citation2021; Psycharis & Kallia, Citation2017; Rodríguez-Martínez et al., Citation2020).

According to the Norwegian curriculum, programming in mathematics should enhance students’ problem solving competency, and the optional programming course aims to develop this competency. This study aims to contribute the ongoing debate on whether programming can be fruitfully integrated into mathematical problem solving from a student perspective. To do so, we explore the following research question:

Do students enrolled in an optional programming course have better development on PISA problem solving test items than students enrolled in other optional courses?

Methodology

We based our research design on Cohen et al.’s (Citation2018, p. 406) work and a quasi-experimental pre- and post-test design. As our study did not fulfill the experimental design requirements for randomizing participants and their optional courses, we describe it as quasi-experimental. provides an overview of the study timeline.

Figure 1. Research design overview.

Figure 1. Research design overview.

The students chose their optional course for the entire school year prior to the pretest, and students from the same classes with different optional courses participated in the same mathematics class. While we provided no guidelines to the teachers as to how the optional courses or mathematics should be taught, the Norwegian curriculum standards are common among these optional courses and, as mentioned earlier, are a regulation the school must follow. The pre-test was conducted in August and September 2020, and the post-test was conducted in June 2021 for four schools and August 2021 for the last school due to an ongoing union strike. The pre- and post-tests were conducted with the first author of this article present. The pre- and post-test data are derived from a more extensive study, including a qualitative stimulated recall interview, in which students were interviewed about their problem solving process after taking the tests. Some of this qualitative study is presented by Refvik et al. (Citation2022), and some will be presented elsewhere. In the following sections, we will describe the different parts of the study presented in this article.

Participants

The participants in this study were eighth-grade students (ages 13 to 14) from five different schools in five different municipalities in Norway. Four were lower secondary schools (eighth to tenth grade), and one was a combined primary and lower secondary school (first to tenth grade). The schools were situated in either rural areas, smaller towns, or cities. displays the number of students enrolled in the optional courses in each school. All five schools offered programming as an optional course, lasting a total of 57 hours throughout the school year; these students receive a total of 313 hours of mathematics courses from the eighth to the tenth grade. This study omitted data from students who reported different optional courses in the two tests or who only participated in one of the tests.

Table 1. Number of students in each optional course subject in each school.

Pre- and post-tests, coding, and scale score

The pre- and post-tests were constructed using 2003 PISA problem solving test items (Universitetet i Oslo, Citation2003). Our test items were divided into two parts based on the above-listed problem types, with a similar difficulty level for each test as described in the PISA 2003 Technical Report (OECD, Citation2003b). The test items were initially intended for ninth-grade students in Norway. In both tests, there are two system analysis and design items, two decision-making items, and one troubleshooting item. For example, the “design by number” () and “children’s camp” items in the pretest correspond to the “library system” () and “course design” items in the post-test.

Figure 2. Design by numbers—Item 3 (OECD, Citation2004, p. 83).

Figure 2. Design by numbers—Item 3 (OECD, Citation2004, p. 83).

Figure 3. Library system—Item 2 (OECD, Citation2004, p. 77).

Figure 3. Library system—Item 2 (OECD, Citation2004, p. 77).

In the optional programming course, the students learned how to analyze and decompose problems, decide the potential role of programming in solving all or part of a problem, and planning and developing a digital product, such as a program. Some of these skills apply to solving the given mathematical problem in the pre- and post-test items from the 2003 PISA. For example, in the “design by number” item (), students are asked to design a program that draws a geometric shape. The students must use various programming concepts, such as loops and variables, to express the relationship between the coordinates in the coordinate system and the program (OECD, Citation2003a). In the “library system” item (), students must design a program for a library in the most efficient way by expressing the relationship between the conditionals used in the program. These examples display some links between the item in the pre- and post-tests and the optional programming course curriculum.

We coded the students’ answers based on the PISA 2003 Technical Report (OECD, 2003b); specifically, a coding of 2 denoted a correct solution, 1 represented a partially correct solution, 0 represented an incorrect solution, and 9 denoted that the test item was not answered.

A scaled score was given for each item to reflect the test items’ difficulty. displays the test items for the pre- and post-tests, respectively. Each test -item has a difficulty level scored on a scale. If the students’ answer is coded zero or nine, then the scaled score would be zero. Students coding one or two for their solutions will be given a scale score corresponding to the test item’s difficulty (see ).

Table 2. Test items for the pretest.

The scale scores in the pretest ranged from 0 to 5,614, and those in the post-test from 0 to 5,042. Therefore, it was possible to achieve a higher score on the pretest than on the post-test because the pretest had two more test items. However, the pretest was slightly more challenging overall than the post-test, although some of the most challenging test items (“library system” and “transit system”) were found in the post-test.

Analysis and results

Our analysis used IBM’s SPSS Statistics software. We divided the students into two groups: one with the 43 students enrolled in the optional programming course, and one with the other 169 students. We first present the results of both groups’ performance in solving the pre- and post-tests. Further, we also expand upon how the optional programming course might affect students’ performance in solving the different problem types presented in the Methodology section. The pre- and post-test scores did not exhibit a normal distribution, as illustrates; therefore, we used a Mann-Whitney U-test (Cohen et al., Citation2018; Field, Citation2018).

Figure 4. Distribution of pre- and post-test scores.

Figure 4. Distribution of pre- and post-test scores.

displays the overall mean and standard deviation for each group on both the pretest and post-test.

Table 3. Mean and standard deviation for both groups on the pre- and post-tests.

The optional programming course students had a higher mean score on the pre- and post-test than the other student group. However, there was no statistically significant difference between the groups. The result reveals no significant change in the distribution between the two groups for the pretest (p = .456, p > .05) and post-test (p = .340, p > .05). This result indicates that the students participating in the optional programming course had no better development in problem solving in mathematics than those enrolled in the other optional courses.

System analysis and design

We analyzed the score distribution for each problem type in the 2003 PISA. The result reveals no significant change in the distribution between the two groups for the test items categorized as “system analysis and design” on the pretest (p = .698, p > .05) and post-test (p = .502, p > .05). This result indicates that the students participating in the optional programming course had no better development in the category “system analysis and design” than the other group of students.

Troubleshooting

The score distribution indicates no significant change in the distribution between the two groups for the test items categorized as “troubleshooting” on the pretest (p = .698, p > .05) and post-test (p = .502, p > .05). This result indicates that the students participating in the optional programming course exhibited no better development in the “troubleshooting” category than the other group of students.

Decision-making

Similar results were also found in the decision-making category. There was no significant change in the distribution between the two groups for the test items categorized as “decision-making” on the pretest (p = .698, p > .05) and post-test (p = .502, p > .05). The result indicates that the students participating in the optional programming course exhibited no better development in the “decision-making” category than the other group of students.

Discussion and concluding remarks

This study investigated if an optional programming course might affect students’ mathematical problem solving using items from the 2003 PISA test. Our results demonstrated no significant difference in development between the score distribution for the eighth-grade students enrolled in the optional programming courses and those enrolled in other optional courses, although we found higher mean scores for the students enrolled in an optional programming course. Our results align with other quasi-experimental studies on programming and mathematics, specifically in terms of the higher mean scores in the programming group and the lack of significant better development compared with the other student groups (Psycharis & Kallia, Citation2017; Rodríguez-Martínez et al., Citation2020). We believe that students’ problem-solving skills developed throughout the school year in their common mathematics course. Below, we further discuss why the 2003 PISA’s problem solving test items provide a different perspective on students’ problem solving competency given the intersection of programming and mathematical problem solving. As mentioned earlier, the pre- and post-test items from PISA 2003 facilitate the use of CT skills in problem solving in mathematics.

Following our results and those of other researchers, we ask why students do not exploit the possible link in problem solving between CT and programming and mathematics. The link seems evident in the literature and as an argument for embedding CT and programming in mathematics education (Barr & Stephenson, Citation2011; Kallia et al., Citation2021; Shute et al., Citation2017; Sneider et al., Citation2014; Wing, Citation2008). However, the results of our study suggest that students may not observe and exploit this intended problem solving connection. Earlier, we presented two possible reasons why this link is not as apparent as intended for these students. The first reason involves how problem solving in CT and programming aligns with mathematical problem solving (Psycharis & Kallia, Citation2017). The second reason is the lack of pedagogical instruction strategies for relating problem solving in CT and programming and mathematics (Cui & Ng, Citation2021; Kaufmann & Stenseth, Citation2021; Ng et al., Citation2021; Psycharis & Kallia, Citation2017; Rodríguez-Martínez et al., Citation2020).

Regarding the possible connection between problem solving in CT and programming and mathematics, we previously presented a different argument for this connection. On the one hand, problem solving in more theoretical literature seems to be the prominent link between CT, programming, and mathematics education (Barr & Stephenson, Citation2011; Kallia et al., Citation2021; Shute et al., Citation2017; Sneider et al., Citation2014; Wing, Citation2008). On the other hand, the results from this study and others provide evidence that this link is not so obvious for students (Cui & Ng, Citation2021; Psycharis & Kallia, Citation2017; Rodríguez-Martínez et al., Citation2020). Further, as Lodi and Martini (Citation2021) argued, the frequently cited idea that CT transfers to a range of 21st-century skills is often unverified. These two arguments and our results cause us to question if problem solving is the correct path for integrating CT and programming into mathematics. As previously mentioned, problem solving is the suggested means for this integration into the Norwegian curriculum. Problem solving and developing problem solving competency is a fundamental goal in mathematics (Directorate of Education, Citation2020a). According to Liljedahl and Cai (Citation2021), digital technology allows students to change how they solve mathematical problems and develop a new set of competencies. Programming is one of these digital technologies, and CT is a new set of competencies or skills. However, as suggested by Psycharis and Kallia (Citation2017), there is a need to clarify how problem solving in CT aligns with problem solving in mathematics. For example, the CT in mathematics and scientific taxonomy developed by Weintrop et al. (Citation2016) demonstrates that programming is one practice within computational problem solving practices that aligns in some way with problem solving in mathematics, with a focus on the use of computational tools. Cui and Ng (Citation2021) and Ng and Cui (Citation2021) found this taxonomy central, offering insights into possible opportunities and challenges for students using programming in mathematical problem solving. Kallia et al. (Citation2021) determined the characteristics of CT in mathematics education and highlighted problem solving as a central point; it would be noteworthy discussion to align these characteristics with mathematical problem solving. As various taxonomies, definitions, and characteristics of CT have been developed in mathematics education, and given the present study’s results, it is necessary to further investigate how CT in mathematics education aligns with problem solving in mathematics.

We aimed to investigate the current situation without interfering with current classroom procedures. Therefore, we have no insight into how the teachers have implemented the curriculum for the optional programming courses: Teachers have the freedom to design and develop this course based on their understanding of the curriculum. As previously mentioned, the second possible reason for students to avoid using or experiencing the connection in problem solving between CT and programming and mathematics is the lack of developed pedagogical instructional strategies for integrating problem solving in CT and programming to mathematical problem solving. Our study design does not allow for consideration of this aspect, however it could be the subject of future studies.

We did not interfere with the students’ decision to select a particular optional course; this was left to the students themselves. An interesting question may be why students choose an optional course in lower secondary school. Are these students more motivated toward programming than other students? Although this is possible, we lack data on students’ motivations for choosing the optional programming course. Another compelling discussion foregrounded by this study involves whether the 2003 PISA problem-solving items are too challenging for eighth-grade students. As indicated by the distribution of the pre- and post-test scores, many students failed to correctly solve these items or chose not to answer them. While we have no data on how all students experienced the tests, the results may indicate that some students found these items challenging.

This study’s primary finding is that those students participating in an optional programming course do not have better development in problem solving in mathematics than students enrolled in other elective courses. This result indicates that the understanding of the intended link in problem solving between mathematics and CT and programming might not be experienced by students. This study’s empirical results contribute to the current discussion regarding this connection. Based on this study’s results, we suggest that further research is needed to explore possible reasons why students do not benefit from CT and programming in mathematical problem solving. This could include consideration of how problem solving in CT and programming aligns with mathematical problem solving; as well as consideration of the development of pedagogical instructional strategies to align problem solving in CT and programming with mathematics.

Disclosure statement

The authors report there are no competing interests to declare.

Data availability statement

The data that support the findings of this study are available from the corresponding author, KR, upon reasonable request.

Additional information

Funding

The study is funded by Volda University College.

References

  • Balanskat, A., & Engelhardt, K. (2014). Computing our future: Computer programming and coding—Priorities, school curricula and initiatives across Europe. European Schoolnet, http://www.eun.org/documents/411753/817341/Coding+initiative+report+Oct2014/2f9b35e7-c1f0-46e2-bf72-6315ccbaa754
  • Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: What is involved and what is the role of the computer science education community? ACM Inroads, 2(1), 48–54. doi:10.1145/1929887.1929905
  • Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A., Engelhardt, K., Kampylis, P., & Punie, Y. (2016). Developing computational thinking in compulsory education. European Commission, JRC Science for Policy Report, 1–68. https://publications.jrc.ec.europa.eu/repository/bitstream/JRC104188/jrc104188_computhinkreport.pdf
  • Bocconi, S., Chioccariello, A., & Earp, J. (2018). The Nordic approach to introducing computational thinking and programming in compulsory education. Report Prepared for the Nordic@ BETT2018 Steering Group, 1–33. doi:10.17471/54007
  • Carreira, S., & Jacinto, H. (2019). A model of mathematical problem solving with technology: The case of Marco solving-and-expressing two geometry problems. In P. Liljedahl, & M. Santos-Trigo (Eds.), ICME-13 monographs (pp. 41–62). Springer Nature. doi:10.1007/978-3-030-10472-6_3
  • Carreira, S., Jones, K., Amado, N., Jacinto, H., & Nobre, S. (2016). Youngsters solving mathematical problems with technology (1st ed.). Springer. doi:10.1007/978-3-319-24910-0
  • Cohen, L., Manion, L., & Morrison, K. (2018). Research methods in education (8th ed.). Routledge.
  • Cui, Z., & Ng, O.-L. (2021). The interplay between mathematical and computational thinking in primary school students’ mathematical problem-solving within a programming environment. Journal of Educational Computing Research, 59(5), 988–1012. doi:10.1177/0735633120979930
  • Directorate of Education. (2020a). Læreplan i matematikk [Curriculum for mathematics] (MAT1-05). https://www.udir.no/lk20/mat01-05
  • Directorate of Education. (2020b). Læreplan i valgfaget programmering [Curriculum for optional programming] (PRG01-02). https://www.udir.no/lk20/prg01-02
  • Directorate of Education. (2020c). Læreplanverket: Overordnet del – Verdier og prinsipper for grunnopplæringen [The Curriculum: Core curriculum – Values and principles for primary and secondary education]. https://www.udir.no/lk20/overordnet-del/om-overordnet-del
  • Field, A. (2018). Discovering statistics using IBM SPSS Statistics (5th ed.). Sage Edge.
  • Gueudet, G., Bueno-Ravel, L., Modeste, S., & Trouche, L. (2017). Curriculum in France: A national frame in transition. In D. R. Thompson, M. A. Huntley, & C. Suurtamm (Eds.), International perspectives on mathematics curriculum (pp. 41–70). International Age Publishing.
  • Heintz, F., Mannila, L., Nordén, L.-Å., Parnes, P., & Regnell, B. (2017). Introducing programming and digital competence in Swedish K-9 education [Paper presentation]. International Conference on Informatics in Schools: Situation, Evolution, and Perspectives. ISSEP.
  • Hemmi, K., Krzywacki, H., & Partanen, A.-M. (2017). Mathematics curriculum: The case of Finland. In D. R. Thompson, M. A. Huntley, & C. Suurtamm (Eds.), International perspectives on mathematics curriculum (pp. 71–102). Information Age Publishing.
  • Kallia, M., Van Borkulo, S. P., Drijvers, P., Barendsen, E., & Tolboom, J. (2021). Characterising computational thinking in mathematics education: A literature-informed Delphi study. Research in Mathematics Education, 23(2), 159–187. doi:10.1080/14794802.2020.1852104
  • Kaufmann, O. T., & Stenseth, B. (2021). Programming in mathematics education. International Journal of Mathematical Education in Science and Technology, 52(7), 1029–1048. doi:10.1080/0020739X.2020.1736349
  • Lesh, R., & Zawojweski, J. S. (2007). Problem solving and modeling. In F. Lester (Ed.), Second handbook of research on mathematics teaching and learning (pp. 763–804). Information Age Publishing.
  • Liljedahl, P., & Cai, J. (2021). Empirical research on problem solving and problem posing: A look at the state of the art. ZDM – Mathematics Education, 53(4), 723–735. doi:10.1007/s11858-021-01291-w
  • Lodi, M., & Martini, S. (2021). Computational thinking, between Papert and Wing. Science & Education, 30(4), 883–908. doi:10.1007/s11191-021-00202-5
  • Ng, O.-L., & Cui, Z. (2021). Examining primary students’ mathematical problem-solving in a programming context: Towards computationally enhanced mathematics education. ZDM – Mathematics Education, 53(4), 847–860. doi:10.1007/s11858-020-01200-7
  • Ng, O.-L., Liu, M., & Cui, Z. (2021). Students’ in-moment challenges and developing maker perspectives during problem-based digital making. Journal of Research on Technology in Education, 1–15. doi:10.1080/15391523.2021.1967817
  • Niss, M., & Højgaard, T. (2019). Mathematical competencies revisited. Educational Studies in Mathematics, 102(1), 9–28. doi:10.1007/s10649-019-09903-9
  • Organisation for Economic Co-operation and Development. (2003a). The PISA 2003 assessment framework: Mathematics, reading, science and problem solving knowledge and skills. OECD. http://www.oecd.org/education/school/programmeforinternationalstudentassessmentpisa/33694881.pdf.
  • Organisation for Economic Co-operation and Development. (2003b). PISA 2003 technical report. OECD. http://www.oecd.org/education/school/programmeforinternationalstudentassessmentpisa/35188570.pdf.
  • Organisation for Economic Co-operation and Development. (2004). Problem solving for tomorrow’s world. OECD. https://www.oecd.org/education/school/programmeforinternationalstudentassessmentpisa/34009000.pdf.
  • Papert, S. (1980). Mindstorms: Children, computers and powerful ideas. Basic Books.
  • Pólya, G. (1945). How to solve it. Princeton University Press.
  • Psycharis, S., & Kallia, M. (2017). The effects of computer programming on high school students’ reasoning skills and mathematical self-efficacy and problem solving. Instructional Science, 45(5), 583–602. doi:10.1007/s11251-017-9421-5
  • Refvik, K. A. S., Bjerke, A. H., & Misfeldt, M. (2022). Students undertaking an elective programming course: Their views on the connection between programming and mathematics. Twelfth Congress of the European Society for Research in Mathematics Education (CERME12). https://hal.archives-ouvertes.fr/hal-03748465.
  • Rodríguez-Martínez, J. A., González-Calero, J. A., & Sáez-López, J. M. (2020). Computational thinking and mathematics using Scratch: An experiment with sixth-grade students. Interactive Learning Environments, 28(3), 316–327. doi:10.1080/10494820.2019.1612448
  • Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational Research Review, 22, 142–158. doi:10.1016/j.edurev.2017.09.003
  • Sneider, C., Stephenson, C., Schafer, B., & Flick, L. (2014). Teacher’s Toolkit: Exploring the science framework and NGSS: Computational thinking in the science classroom. Science Scope, 038(03), 10–15. doi:10.2505/4/ss14_038_03_10
  • Universitetet i Oslo. (2003). Frigitte oppgåver i problemløsning i PISA 2003 [Released items from problem-solving in PISA 2003]. https://www.uv.uio.no/ils/forskning/prosjekter/pisa/frigitte-oppgaver/dokumenter/frigitt_problem.03.pdf
  • Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., & Wilensky, U. (2016). Defining computational thinking for mathematics and science classrooms. Journal of Science Education and Technology, 25(1), 127–147. doi:10.1007/s10956-015-9581-5
  • Wing, J. (2011). Research notebook: Computational thinking—What and why? Carnegie Mellon University. https://www.cs.cmu.edu/link/research-notebook-computational-thinking-what-and-why.
  • Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. doi:10.1145/1118178.1118215
  • Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical Transactions. Series A, Mathematical, Physical, and Engineering Sciences, 366(1881), 3717–3725. doi:10.1098/rsta.2008.0118