Next Article in Journal
Learning to Be Human: Forming and Implementing National Blends of Transformative and Holistic Education to Address 21st Century Challenges and Complement AI
Next Article in Special Issue
Modeling Cycle and GenAI as Resources for Mathematics Teachers’ Professional Development
Previous Article in Journal
Relationship Between Procrastination and Perceived Academic Achievement: The Mediating Role of Internet Addiction
Previous Article in Special Issue
Theoretical Frameworks for Mathematics Teacher’s Professional Development with Technology: A Narrative Review
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Student Teachers as Learners and Teachers: Praxeological Perspectives on Programming in Mathematics

by
Odd Tore Kaufmann
*,
Khaled Jemai
,
Marianne Maugesten
and
Toril Eskeland Rangnes
Faculty of Teacher Education and Languages, Østfold University College, 1757 Halden, Norway
*
Author to whom correspondence should be addressed.
Educ. Sci. 2026, 16(1), 104; https://doi.org/10.3390/educsci16010104
Submission received: 31 October 2025 / Revised: 2 January 2026 / Accepted: 9 January 2026 / Published: 12 January 2026

Abstract

This study investigates how master’s student teachers (MSTs) conceptualize and integrate programming and computational thinking within mathematics education. Grounded in the Anthropological Theory of the Didactic, and specifically its notion of praxeology, the study analyses 39 written reflections produced by MSTs who completed a compulsory programming-based mathematics task. The analysis identifies both mathematical and didactic praxeologies, revealing how MSTs’ engagement with programming reflects their development both as learners and as future teachers. The findings demonstrate that MSTs’ personal learning strategies, such as exploration, iteration, and productive struggle, closely parallel their envisioned classroom practices. The findings also show that many participants framed programming itself as the central learning object, highlighting a need to develop confidence and competence before applying programming as a tool for mathematical inquiry. The study argues that programming tasks provide a productive arena for bridging theory and practice in teacher education by fostering an interplay between praxis (know-how) and logos (know-why). Finally, the results indicate that MSTs require institutional support specifically aimed at developing basic programming fluency (e.g., handling syntax, debugging, and programming environments), so that computational thinking can be mobilized for mathematical exploration rather than being overshadowed by technical challenges.

1. Introduction

In mathematics teacher education, teaching competence is not only a matter of knowing mathematics as theoretical content or mastering classroom strategies as practical skills; it also involves meaningfully connecting theory and practice (Rasmussen & Winsløw, 2013). Exploring how preservice teachers relate theory and practice provides teacher educators with insight into how professional knowledge is constructed. The Anthropological Theory of the Didactic (ATD) conceptualizes theory and practice as interconnected and mutually influential (Chevallard & Bosch, 2020). Within ATD, praxeology serves as a central analytical construct for examining this interplay, offering a framework for describing how human activity is organized and justified in relation to knowledge.
In the context of ATD, a praxeology is understood as the fundamental unit of human practice, integrating both practical actions and the theoretical discourses that support them. Praxeology consists of two components: praxis (know-how), which refers to the actions undertaken to solve particular tasks, and logos (know-why), which refers to the rationale and arguments that justify those actions. Consequently, praxeology provides a model for understanding knowledge by emphasizing the intertwined nature of theory and practice.
In this paper, we explore how master’s student teachers (MSTs) conceptualize and integrate programming and computational thinking (CT) within mathematics education. Our investigation is based on an analysis of MSTs’ written reflections on their own learning processes while solving a mathematical problem. Writing these reflections was part of compulsory coursework in which MSTs were asked to solve a mathematical task using programming and CT. Details of this coursework are presented in Section 3.
Programming and computational thinking are closely related but distinct concepts. Programming can be understood as a tool, whereas computational thinking refers to a problem-solving process that involves breaking down complex problems into manageable parts and designing step-by-step solutions that can be executed by humans or computers.
In recent years, programming and computational thinking have gained increasing attention and importance in education. Computational thinking has been identified as essential for students’ ability to navigate and succeed in the modern world and is frequently described as one of the key “21st-century skills” (Bocconi et al., 2018). Across Europe, the integration of programming and CT into educational curricula varies: most countries incorporate them within information and communication technology subjects, while others adopt interdisciplinary or cross-curricular approaches (Bocconi et al., 2018).
In Norway, a major revision of the mathematics curriculum for grades 1–10 was introduced in 2020, integrating programming and CT into the subject to promote exploration and problem-solving skills (Norwegian Directorate for Education and Training, 2020). This curricular shift presents significant challenges for implementation, as mathematics teachers must adapt their teaching practices to include programming and CT. Understanding how mathematics teachers and preservice teachers perceive the integration of programming within mathematics education is therefore crucial (Kaufmann et al., 2023; Nordby et al., 2024), particularly in relation to how and when CT tools are used in mathematics instruction.
Research by Nordby et al. (2024) indicates that primary teachers’ unfamiliarity with CT hinders their ability to integrate it into mathematics teaching. This finding underscores the need for educators to develop a deeper understanding of CT and to learn how CT tools can be effectively used within mathematics instruction. More broadly, the integration of technology in education has become a critical aspect of contemporary teaching practice, and research consistently highlights the importance of high-quality teacher education preparation for preservice teachers’ ability to incorporate CT meaningfully (Baran et al., 2019). Consequently, gaining insight into current teacher education practices is essential for understanding how MSTs are being prepared to use programming and CT in mathematics teaching, which is the focus of the present study.
In this study, we adopt an integrated perspective on theory and practice, viewing them as intertwined components of MSTs’ professional expertise (Rasmussen & Winsløw, 2013; Shalem & Rusznyak, 2016). Rather than treating theory as abstract knowledge or practice as isolated action, we understand theoretical knowledge as foundational to the teaching decisions MSTs make. Theory provides a basis for professional judgment and serves as a resource for informing practice, rather than merely preceding it (Shalem, 2014). Bridging the gap between theory and practice in teacher education is therefore essential, as a failure to connect the two may limit teachers’ capacity to evaluate and adopt diverse teaching approaches (Shalem & Rusznyak, 2016).
Previous research on programming and CT in mathematics teacher education has primarily focused on preservice and in-service teachers’ beliefs, attitudes, confidence, and perceived challenges related to implementation. Several studies have shown that limited experience with programming and CT can hinder teachers’ ability to integrate these tools meaningfully into mathematics instruction (e.g., Kaufmann et al., 2023; Nordby et al., 2024). Other studies emphasize the importance of teacher education and institutional support in developing competence in programming and CT (Baran et al., 2019).
While this body of research provides valuable insights into teachers’ readiness, perceptions, and professional identities, it often conceptualizes programming and computational thinking primarily as skills or competencies to be acquired. Less attention has been paid to how MSTs’ own learning processes with programming shape their emerging understanding of mathematics teaching, or how experiences of struggle, experimentation, and iteration are recontextualized as didactic resources for future classroom practice.
Furthermore, relatively few studies examine MSTs’ engagement with programming through a theoretical framework that explicitly integrates theory and practice. In particular, there is limited research analyzing how MSTs construct and connect mathematical and didactic praxeologies when working with programming-based mathematical tasks. As a result, there is a lack of empirical knowledge about how MSTs position themselves simultaneously as learners and as future teachers when engaging with programming and computational thinking in mathematics education.
To address this gap, the present study adopts the Anthropological Theory of the Didactic and uses praxeology as an analytical lens to explore how mathematical and didactic praxeologies emerge in MSTs’ written reflections while solving a programming-based mathematical problem.
The aim of this study is to explore how MSTs position themselves in relation to programming and computational thinking within mathematics education through written reflections. The research question guiding the study is:
What mathematical and didactic praxeologies emerge in master’s student teachers’ written reflections while solving a programming-based mathematical problem?

2. Theoretical Framework

In this study, we adopt a perspective that views theory and practice as interwoven components of a teacher’s professional knowledge (Rasmussen & Winsløw, 2013; Shalem & Rusznyak, 2016). From this perspective, the theoretical dimensions of a mathematics teacher’s knowledge provide a foundation for instructional decision-making. Here, theory refers to the ideas, principles, and conceptual constructs that inform teachers’ professional judgments when making instructional decisions (Shalem, 2014). Practice encompasses the enactment of teaching, including the methods used to make mathematical concepts accessible to students. Theory offers specialized terminology that enables teachers to articulate the complexity and underlying principles of their instructional practice (Eriksen & Bjerke, 2019), thereby constituting a professional language that distinguishes expert judgment from everyday decision-making (Shalem, 2014). In this view, theory serves as a tool to support practice rather than as a prerequisite for it.
For preservice teachers, failing to relate theory to practice may create challenges when evaluating and selecting instructional methods (Shalem & Rusznyak, 2016). When theory and practice are understood as interwoven, the aim is not merely to apply theoretical knowledge, but to draw on theoretical ideas as a foundation for negotiating appropriate actions in specific teaching situations. Within the Anthropological Theory of the Didactic (ATD), theory and practice are conceptualized as deeply interconnected, with each shaping and informing the other (Chevallard & Bosch, 2020).
In this study, we adopt the Anthropological Theory of the Didactic (ATD) (Chevallard, 2019) as the primary theoretical framework. Developed in the 1980s, ATD provides a lens for analyzing the complex relationships between knowledge, learners, and educational institutions. It conceptualizes mathematical knowledge not as abstract or universal, but as embedded in social and institutional practices and transformed through teaching and learning contexts. This perspective emphasizes that knowledge is shaped by the ways institutions, such as schools and teacher education programs, organize, transmit, and mediate access to it (Chevallard, 2019; Pansell & Bjorklund Boistrup, 2018).
Central to ATD is the concept of didactic transposition, which refers to the process by which scholarly knowledge is adapted for teaching. Chevallard (1999) distinguishes between “external” transposition, which transforms academic knowledge into curriculum content, and “internal” transposition, which further adapts this content for classroom instruction. Didactic transposition makes visible the ways in which mathematical concepts are simplified, reorganized, or contextualized for learners, thereby highlighting the interplay between institutional knowledge and learners’ understanding (Bosch & Gascón, 2014).
A key analytical tool within ATD is the notion of praxeology, which captures the interplay between practice (know-how) and theory (know-why) in human activity. As Bosch and Gascón (2014, p. 67) explain, “all human activities comprise and link two parts, a practice and a theory one.” Chevallard (1999) further elaborates this structure into four interconnected components:
T (Type of task/problem): the mathematical or didactic problems addressed.
τ (Techniques): the methods or procedures used to solve these problems.
θ (Technology): explanations or justifications for why the techniques work.
Θ (Theory): broader conceptual frameworks, assumptions, and ideas that underpin the technology (Pansell, 2023).
This quadruple [T/τ/θ/Θ] structure enables systematic analysis of both mathematical and didactic activity, making explicit the interplay between practical action (know-how) and theoretical discourse (know-why) (Pansell, 2023).
In the context of teacher education, praxeological analysis differentiates between mathematical praxeologies and didactic praxeologies. Mathematical praxeologies describe how teachers or students engage in problem-solving, including their choice of tasks (T), techniques (τ), reasoning (θ), and theoretical understanding (Θ). Didactic praxeologies, in contrast, capture how teachers design instruction to make mathematical praxeologies accessible to learners, including the selection of pedagogical tasks, classroom techniques, explanations, and underlying assumptions about teaching and learning (Pansell, 2023).
ATD allows us to examine how preservice teachers position themselves within these praxeologies, both as learners navigating tasks and justifications, and as future teachers planning instructional practices. This dual positioning illustrates the interconnection between mathematical and didactic activity in teacher education, shaped by institutional contexts, curricular constraints, and the integration of programming and CT (Mensah et al., 2024; Pansell & Bjorklund Boistrup, 2018).
While ATD and praxeological analysis have been widely used in mathematics education research to study curricular materials, classroom practices, and institutional expectations (e.g., Chevallard, 2019; Bosch & Gascón, 2014; Pansell & Bjorklund Boistrup, 2018), the present study applies ATD in a different way. Rather than analyzing enacted teaching, textbooks, or designed instructional sequences, we use praxeology as an analytical lens for examining master’s student teachers’ written reflections on their own learning processes when working with programming-based mathematical tasks. Programming and mathematics are treated as intertwined domains, since problem-solving simultaneously requires mathematical reasoning and CT skills. Through written reflections, MSTs reveal both their mathematical praxeologies (problem solving with programming) and their didactic praxeologies (anticipated teaching approaches).
This approach foregrounds MSTs’ dual positioning as both learners and future teachers. By distinguishing between mathematical/programming praxeologies and didactic praxeologies within the same reflective texts, the study captures how personal learning experiences with programming are recontextualized as anticipated classroom practices. In contrast to earlier ATD studies that primarily focus on institutional or enacted praxeologies, our analysis highlights how praxeologies are constructed, negotiated, and interconnected during the process of learning to teach.
In this way, the study extends the use of ATD by demonstrating how praxeological analysis can illuminate the interplay between theory and practice in teacher education settings, particularly in emerging curricular areas such as programming and computational thinking.

3. Methodology

To explore the praxeologies identifiable in the master’s students’ work and to examine how they position themselves, we analyzed a compulsory written assignment completed by the MSTs. The term master student teachers is used as a collective designation for both preservice and in-service teachers participating in the study. The preservice teachers were in their fifth year of teacher education and were preparing to teach mathematics in Grades 1–7 and 5–10. The in-service teachers were in the final semester of their master’s program prior to writing their thesis and were employed in primary and secondary schools.
The compulsory assignment was completed by MSTs in two consecutive years, 2022 and 2023. In total, 39 participants were included (20 from 2022 and 19 from 2023): eight preservice teachers for Grades 1–7, 23 preservice teachers for Grades 5–10, and eight in-service teachers. The participants included both men and women. Preservice teachers were aged 23–30 years, while the in-service teachers ranged in age from 25 to 50 years. Participants were selected through purposive sampling based on their participation in the same compulsory, programming-based assignment within a master’s-level mathematics teacher education course. The aim of the study was not to compare groups of teachers but to examine the range of mathematical and didactic praxeologies that emerge when MSTs engage with programming in mathematics. Consequently, the sample was treated as a single analytical cohort. Participants are therefore referred to as MST1–MST39 in the subsequent analysis.

3.1. Description of the Task

The compulsory coursework required each MST to design and solve a mathematical problem that incorporated programming and CT. Participants selected their own mathematical problems as well as their preferred programming environments. For the programming component, they could choose between block-based tools (e.g., Scratch or Micro:bit) or text-based programming (e.g., Python). They were encouraged to select a tool they considered pedagogically relevant for the educational level at which they intended to teach.
The primary focus of the assignment was the MSTs’ individual learning processes. To document these processes, each participant submitted a two-part reflective report describing (a) the process of solving the chosen problem and (b) reflections on their learning experiences throughout the task.
Although all participants had some prior exposure to programming through workshops or teaching practice, several reported limited programming experience. For most, this was their first written assignment in which programming was explicitly integrated into mathematics teacher education.

3.2. Ethical Considerations

Two of the authors were instructors in the course in which the compulsory task was assigned, and all authors had previously taught the participating MSTs in other contexts. To address potential ethical concerns related to these dual roles as teachers and researchers, informed consent was obtained only after course completion and grading. All data were anonymized prior to analysis, and participants were informed of their right to withdraw from the study at any time. The project was reported to Sikt (Norwegian Agency for Shared Services in Education and Research).
Generative AI tools were used for surface-level text editing, such as grammar and spelling. In addition, AI was also employed in a limited and supportive capacity during the analysis phase. Specifically, AI was used to assist with organizing and systematizing the written reflection data after analytical categories had been defined by the researchers. This included support in sorting excerpts into predefined praxeological components (task, technique, technology, and theory) and in identifying relevant text segments for further examination.

3.3. Analytical Framework and Process

The development of analytical categories followed a theory-informed, iterative process combining deductive and inductive analysis. In the first stage, overarching analytical categories were defined deductively based on the Anthropological Theory of the Didactic developed by Chevallard and Bosch (2020) (see Table 1). In particular, the distinction between mathematical/programming praxeologies and didactic praxeologies, along with their respective components (task, technique, technology, and theory), constituted the initial analytical framework.
In the second stage, the researchers conducted close readings of the MSTs’ written reflections to identify how these praxeological components were instantiated in the data. Within each component, recurrent patterns and variations across the texts were identified inductively. These patterns formed the basis for the thematic categories presented in the findings, such as orientations toward personal learning versus pedagogical use, trial-and-error as a dominant technique, and productive struggle as a recurring rationale.
Category development was both iterative and collaborative. Multiple authors independently analyzed subsets of the data, after which interpretations were compared and discussed. Discrepancies were resolved through analytical discussions, leading to refinements of category definitions and boundaries. The categories were finalized once they provided coherent and consistent descriptions across the dataset.
The framework comprises two main categories: mathematical/programming praxeology and didactical praxeology. Because the mathematical and programming components of the task were closely intertwined, they were treated as a single analytical category.
Although the compulsory assignment did not explicitly require MSTs to reflect on didactic aspects, a substantial number of participants nevertheless included unsolicited reflections related to teaching, students, and future classroom practice. During the initial phase of analysis, these recurring references were identified as analytically significant. Consequently, the analytical framework was extended to include didactic praxeology as a second main category alongside mathematical/programming praxeology. Both praxeologies were divided into four subcomponents corresponding to those proposed in the original framework (see Table 1).
To ensure analytical rigor and consistency, a multi-step analytical procedure was followed (see Table 2). During the categorization of empirical data, descriptions of participants’ own learning processes were assigned to mathematical/programming praxeology, whereas reflections concerning teaching practice and student learning were assigned to didactical praxeology.
Discussions among the authors focused particularly on distinguishing theoretical references across the two domains. We agreed to classify definitions of mathematical and programming concepts (e.g., computational thinking) as theoretical elements within mathematical/programming praxeology, while references to pedagogical literature, curriculum documents, and competence aims were categorized under didactical praxeology. Table 3 illustrates this distinction using an example from MST39.
While CT is not treated as a separate analytical category in Table 3, it is instantiated across the praxeological components of the mathematical/programming praxeology. At the level of task, CT is evident in how MSTs frame programming-based mathematical problems as requiring systematic problem solving. At the level of technique, CT is expressed through practices such as decomposition, iteration, algorithmic thinking, and debugging. The technology component captures how MSTs justify these techniques by referring to stepwise reasoning, trial-and-error, and productive struggle as meaningful ways of working. Finally, CT is made explicit at the level of theory, where MSTs draw on curriculum documents and research literature to conceptualize computational thinking as a competence integral to mathematics education. In this way, CT functions as a cross-cutting dimension within the praxeological framework rather than as a discrete analytical category.

4. Results

The presentation of the results begins with an overview of each analytical category, highlighting its main characteristics. This is followed by a cross-category comparison, where relationships and contrasts between categories are examined.

4.1. General Characteristics of Each of the Categories

To enhance coherence, the findings are organized around two overarching analytical axes: (a) mathematical/programming praxeologies and (b) didactic praxeologies. Within each axis, the four praxeological components, task, technique, technology, and theory, structure the analysis. Although these components are presented separately for analytical clarity, they should be understood as interrelated aspects of broader praxeological configurations.

4.1.1. Mathematical/Programming Praxeology: Task

The majority of MSTs (22 out of 39) used Scratch for block-based visual programming. Twelve used Python, and four used Micro:bit. The task most frequently addressed geometry, number theory (e.g., prime numbers), functions, and simulation. All MSTs framed their work as a mathematical-programming task, typically describing it as a problem to be solved by using Scratch or Python. This aligns with the assignment’s requirement to develop and solve a mathematical problem related to computational thinking and programming. However, while the assignment required MSTs to solve a mathematical problem through programming, the analysis revealed that most MSTs primarily regarded programming itself as the problem-solving activity. In these cases, the mathematical content was not framed as a problem to be explored in its own right but rather as a vehicle for learning programming. Consequently, the use of Scratch or Python was often justified as a means to develop programming competence. This orientation is illustrated by MST16:
“I want to explore getting to know the programming program Scratch. Therefore, I choose to find a way to make the program display all prime numbers as a speech bubble up to the number 100. I have briefly encountered Scratch before, and thus now want to explore it a bit more to become familiar with it so that I can use it in my teaching in the future.”
Here, the primary problem is framed as learning and exploring Scratch, while the mathematical task, displaying prime numbers, is treated as relatively unproblematic. We will return to the rationale for this orientation when the MSTs explain why they have chosen such an assignment.
In contrast, a small number of MSTs (five students) explicitly framed the mathematical problem as the object of inquiry, using programming as a tool for exploration and generalization. An example is provided by MST36:
“The Tower of Hanoi consists of an arbitrary number of disks stacked on top of each other in a cone pattern. The tower in the picture consists of eight disks. The goal is to move all the disks from one peg to another peg with as few moves as possible. You can only move one disk at a time, and a smaller disk cannot be placed under a larger disk. What strategy yields the fewest moves? Is there a relationship between the number of disks to be moved and the minimum number of moves?”
This example illustrates a well-defined mathematical problem that invites experimentation, pattern recognition, and generalization through programming.

4.1.2. Mathematical/Programming Praxeology: Technique

Almost all MSTs explicitly or implicitly referred to elements associated with computational thinking in the Norwegian curriculum, such as decomposition and algorithmic thinking. At the same time, much of the described work consisted of programming-specific practices, including managing syntax, variables, loops, and debugging within particular programming environments.
These descriptions indicate that MSTs perceive computational thinking as an exploratory and iterative process in which testing, error messages, and revision play a central role. This orientation aligns with the task component, where most MSTs (34 students) explained their choice of task by expressing a desire to learn more about programming. MST20 illustrates this perspective:
“After planning and thinking about how I could start the assignment, I identified which variables I needed to continue. In hindsight, I see that the variables are key to the entire algorithm. I had to search, try and fail, and reflect on almost all the choices, or “codes” I used, to progress in the process.”
This excerpt demonstrates key aspects of computational thinking, particularly decomposition and algorithmic reasoning. The MST begins by breaking down the task and later recognizes the central role of variables in structuring the algorithm.
Many MSTs (27 students) reported seeking support from friends, colleagues, online tutorials, or YouTube. This indicates that collaboration and tinkering, two practices highlighted in The Computational Thinkers framework (Barefoot Computing, n.d.), were integrated into their working processes. For example, MST6 describes how peer support enabled progress after initial difficulties.
“I saw that this was very similar to the program Scratch that we tried out at the university college. I experimented a little, but did not really figure much out. I found this difficult. After much back and forth, where I could not quite manage a start to get a response from the coding, I called a friend who has used programming in Minecraft before. My friend explained to me how to start. She told me that I should start with a “chat command,” which means that I should write this to start the “Agent” that will execute the programming/command.”
In addition, several MSTs emphasized that learning the programming tool itself was a major challenge. For most participants (31 students), the code was developed incrementally, either by adding blocks or defining functions step by step. Variables and loops were explicitly mentioned by many MSTs (29 students) and were used across both Scratch and Python.

4.1.3. Mathematical/Programming Praxeology: Technology

The technology component captures how MSTs explain and justify their choice of techniques. Two main orientations emerged, often coexisting within the same text.
The first orientation can be described as pedagogical. Here, MSTs framed programming as a teaching tool for future classroom practice, emphasizing usability, motivation, and curricular relevance. MST17 exemplifies this orientation by highlighting Micro:bit’s accessibility and its alignment with curriculum goals:
“The assignment is relevant for elementary school students. Programming is a larger part of the curriculum, and students learn to handle complex problems and solve problems in different ways. There are several reasons why I believe Microbit is suitable for elementary school students. It is easy to use—it requires no advanced technical knowledge to get started with the program. It is a good learning tool—students learn programming, logical thinking, and problem-solving. So it is not just for fun. Microbit also fits within several objectives of the curriculum.”
The second orientation is personal learning–oriented. In this case, MSTs justified their choices in terms of their own competence development, uncertainty, and mastery. MST29 reflects this perspective by describing programming itself as a cognitive challenge that deepens understanding.
“I also think that the programming itself can be a problem, precisely because you might not immediately see how to code to arrive at a solution. Working with problem-solving through programming allows you to get a more visual picture of the mathematical problem. Using programming gives me a deeper understanding of what is actually happening.”
Together, these examples illustrate a continuum within the technology component, ranging from justifications grounded in future classroom use to those emphasizing programming as a mathematical and cognitive activity in its own right.

4.1.4. Mathematical/Programming Praxeology: Theory

Across the dataset, nearly all MSTs (35 students) anchored their understanding of computational thinking in official or academic sources. The definition provided by the Norwegian Directorate for Education and Training (2020) dominated, functioning as a shared conceptual baseline.
Two distinct uses of theory were identified. The first is descriptive, where MSTs reproduced definitions without integrating them into their reflections. MST5 exemplifies this approach by citing definitions of computational thinking without returning to them in the discussion of their own work.
“Computational thinking is a problem-solving method that, for me, uses a logical progress plan and a clarification of what needs to be done and how it can be done with the help of digital tools. On the Norwegian Directorate for Education and Training (2020) website, computational thinking is defined as an assessment of which steps must be undertaken to solve a problem and using a computer to help solve the problem. To the left is an illustration of concepts and methods that are central to computational thinking, taken from NDET’s page about computational thinking.”
The second is interpretive, where MSTs used theory as a lens to analyze their learning process. MST32, for example, drew on theories of learning styles, productive struggle, and computational thinking to interpret their strategies, challenges, and persistence.
“I believe I am someone who learns better visually, as Berg writes about learning styles as an argument for analogue programming. Perhaps a bit like Hiebert and Grouws describe productive struggle, where I spend time understanding the mathematical problem and how to solve it, with the solution not being immediately obvious. It’s good to work on tasks that make you get stuck a bit and struggle; according to Boaler, that’s when you learn and your brain develops. My working methods throughout this assignment remind me a lot of the image above from NDET’s homepage about “The Computational Thinkers.” I engaged a lot in exploration and experimentation in building the pattern. If it didn’t go as I wanted, I went into troubleshooting and corrected errors. I designed several patterns, built in the same way. When I faced difficulties, it was about persevering, just continuing and trying again.”
Taken together, the mathematical/programming praxeologies reveal a dominant orientation toward programming as an object of learning rather than solely as a tool for mathematical inquiry. Across tasks, techniques, and technologies, MSTs emphasized trial-and-error, exploration, and tool mastery, often framing the programming environment itself as the primary problem to be solved. These patterns were consistent across programming platforms and participant backgrounds, suggesting a shared institutional orientation toward learning programming within mathematics teacher education.

4.1.5. Didactic Praxeology: Task

When MSTs described the praxeological component of the didactic assignment (which was not explicitly required), many nevertheless included this perspective. In total, 25 MSTs addressed didactic aspects. Most of these MSTs framed the assignment they themselves had completed as directly transferable to school practice. That is, the task they designed and worked on within the mathematical/programming praxeology was the same task they envisioned their future students engaging with. This orientation is illustrated by MST11:
“It is beneficial for the students to connect something known to something unknown. I used the known (Pythagoras) to learn something unknown (Python). It worked very well as a method to become more familiar with programming in Python. Another advantage is working with different working methods. It becomes a type of variation in teaching, where students have the opportunity to work with mathematics in a different way. For some, this can be a nice way to adapt the teaching approach.”
This excerpt shows how the MST frames their own learning task as pedagogically transferable. The MST explicitly links personal experience with programming in Python to a teaching strategy for students, emphasizing the value of building on familiar mathematical concepts (Pythagoras) to introduce new content (programming). The reflection highlights perceived benefits such as variation in teaching methods and opportunities for adaptation to diverse learning needs.
Only a smaller group of MSTs (six students) engaged in more explicit pedagogical reflection that involved adapting the task to students’ prior knowledge and learning conditions. These MSTs viewed programming primarily as a means for learning and motivation rather than as an end in itself. This perspective is illustrated by MST39:
“The task I have chosen does not have a particularly low entry threshold. The entry threshold became significantly lower when I simplified the problem for myself. Nevertheless, I think I would start even simpler if I were to do the task with students, especially if the students haven’t programmed much before. I can imagine using a programming task involving equations with my 10th-grade classes, but I think the students would be overwhelmed if I started by introducing equations with two unknowns in Python, even though they have worked with simple Python codes before. I would ensure a much lower entry threshold for the programming task.”
This reflection demonstrates awareness of task accessibility and student readiness. While the MST was able to simplify the task for personal use, they recognized that further adaptation would be required for classroom implementation. This highlights considerations of scaffolding, sequencing, and students’ prior experience.

4.1.6. Didactic Praxeology: Technique

Didactic technique refers to how teaching practice is organized, including methods, scaffolding, sequencing, and interactional strategies intended to support learning. In this context, the analysis focuses on how MSTs propose to structure students’ learning processes, what forms of support they anticipate providing, and how they view programming as a means of facilitating mathematical understanding.
Based on 16 substantial statements referring to teaching practice (approximately half of the MSTs), five main themes of didactic technique were identified. Although the assignment did not require reflection on teaching, many MSTs (31 students) nevertheless included such considerations, reflecting their positioning as future teachers.
The first theme concerns collaborative and discursive techniques, emphasizing peer dialogue, shared reflection, and joint exploration. MSTs highlighted discussion, comparison of code, and collaborative debugging. For example, MST1 proposed group work to foster mathematical conversations about geometry and programming.
The second theme focuses on scaffolding and progression, particularly building from concrete to abstract representations and from visual block-based programming to text-based coding. MST39, for instance, suggested starting with block programming before transitioning to Python to support comprehension.
A third theme relates to motivation and engagement, especially through creativity and open-ended tasks. MST17 described a game-based activity in which students could modify code to shift between mathematical operations, supporting both engagement and differentiation.
The fourth theme addresses differentiation, where programming is viewed as a way to engage diverse learners and accommodate varying skill levels. MST12 emphasized that programming tasks can promote flexibility and inclusivity.
The fifth theme involves the teacher as learner, where MSTs reflect on their own learning processes as models for students. By describing persistence, uncertainty, and growing confidence, MSTs illustrated how their experiences could inform how they would guide students. MST2, for example, reflected on increased confidence and the potential to transfer enthusiasm for programming to learners.
An overview of these themes is provided in Table 4.

4.1.7. Didactic Praxeology: Technology

Didactic technology concerns the rationale underlying teaching techniques, that is, the educational justification for how teaching is organized. It links instructional choices to curriculum goals, competence aims, and broader pedagogical purposes such as motivation, engagement, and inclusion.
Five themes of didactic technology emerged across the 39 MSTs. One theme emphasizes curriculum alignment and relevance, where programming is justified through competence aims in the curriculum and positioned as part of mathematical competence. These MSTs frame programming as legitimate content within mathematics education.
A second theme highlights conceptual understanding and computational thinking, arguing that programming supports problem-solving, logical reasoning, and mathematical thinking. MSTs in this group emphasized how programming can visualize mathematical concepts and support reflective reasoning.
A third theme focuses on motivation and engagement, where programming is justified as enjoyable, varied, and connected to students’ interests and real-world contexts.
The fourth theme concerns differentiation, emphasizing programming’s potential to support diverse learners and multiple learning strategies. MST12 and MST34, for example, highlighted how open-ended programming tasks can promote adaptability and inclusivity across ability levels.
The fifth theme involves cognitive struggle and learning through error, where mistakes, perseverance, and debugging are framed as productive. MSTs 35, 36, 37, and 39 explicitly argued that the value of programming lies in error as a learning resource and in the productive nature of cognitive challenge.
These themes are summarized in Table 5.

4.1.8. Didactic Praxeology: Theory

Didactic theory refers to the theoretical and research-based justifications underlying didactic choices. It is where MSTs connect task design and instructional intentions to curriculum theory, educational research, and pedagogical perspectives.
Across the dataset, approximately two-thirds of the MSTs (25 students) explicitly referenced theory or research in their didactic reflections. Four main theoretical themes were identified. One concerns computational thinking and programming as mathematical problem-solving, drawing on sources such as the Norwegian Directorate for Education and Training (2020), Wing (2006), Herheim and Johnsen-Høines (2021), and Lie et al. (2017). These MSTs emphasized reasoning, decomposition, and problem-solving as central to programming in mathematics.
A second theme centers on productive struggle and learning processes, informed by authors such as Boaler (2016, 2019), Hiebert and Grouws (2007), Warshauer (2015), and Herheim and Johnsen-Høines (2021). MSTs highlighted challenge, error, and perseverance as essential for deep mathematical understanding, viewing debugging as a productive form of struggle.
A third theme focuses on computational thinking as a curricular competence, emphasizing its role in the mathematics curriculum as articulated by the Norwegian Directorate for Education and Training (2020).
The fourth theme draws on learning theory perspectives, particularly socio-cultural and discovery-oriented approaches. Some MSTs (e.g., 33, 34, 36, 39) framed programming as inquiry, exploration, and self-directed learning.
Overall, most MSTs (28 students) viewed programming as a means to deepen mathematical understanding through computational thinking, problem-solving, and active engagement. Their theoretical justifications aligned closely with NDET’s competency-based framework and with research emphasizing productive struggle and learning processes.
Across the didactic praxeologies, a strong pedagogical orientation toward students’ learning processes emerged. MSTs consistently projected exploratory, scaffolded, and struggle-oriented approaches onto imagined classroom practice. Programming was justified as a means to support motivation, differentiation, and computational thinking, even when it functioned as a primary learning goal within the MSTs’ own mathematical/programming praxeologies. This contrast points to a systematic relationship between MSTs’ personal learning experiences and their anticipated teaching practices.

4.2. Cross-Category Comparison

4.2.1. Task (T) and Didactic Task (T_did)

The Task (T) and Didactic Task (T_did) are closely interrelated. In almost all cases, they share the same mathematical content and problem structure. Across both categories, MSTs formulate problem-solving situations that activate computational or mathematical reasoning. An example from MST7 illustrates this alignment:
Task (T):
“In this assignment, I choose to focus on the topic of geometry and geometric figures. In the assignment, I start with a square, then expand the problem and move on to non-regular polygons such as a triangle and a trapezoid in the program Scratch.”
Didactic Task (T_did):
“The program appears user-friendly and can appeal to students from grades 5 to 10. In the programming of the square, I also tried using a different pen color. This was to experiment a bit and use the various functions that Scratch offers. My thought is that this could also be exciting for elementary school students.”
Both the Task and the Didactic Task describe essentially the same problem context; programming geometric figures. This indicates that MSTs perceive the same task structure as meaningful both for their own learning and for classroom application.

4.2.2. Technique (τ) and Didactic Technique (τ_did)

MSTs’ experiences and learning processes from working on the assignment are largely transferred to their views of students’ learning. Both Technique (τ) and Didactic Technique (τ_did) emphasize iteration, experimentation, and debugging as central modes of working and learning. MSTs consistently describe programming as a trial-and-error process, both in their own problem-solving and in their plans for students.
Thus, didactic techniques often mirror MSTs’ personal learning strategies such as testing, failing, and reflecting, while being adapted to a classroom context. An example from MST5 illustrates this parallel:
Technique (τ):
“I had to try many times before the code worked. Failing helped me understand how the commands were interconnected.”
Didactic technique (τ_did):
“I want to let the students experiment and fail so that they see it as a natural part of the learning process.”
In both cases, learning through trial and error is presented as pedagogically valuable. Although one statement concerns personal cognition and the other classroom facilitation, both rely on learning by doing and reflection through debugging. This suggests that MSTs’ personal learning techniques function as prototypes for their envisioned pedagogical techniques. Their own experiences of trial, error, and discovery shape how they imagine students’ engagement.

4.2.3. Technology (θ) and Didactic Technology (θ_did)

Across both Technology (θ) and Didactic Technology (θ_did), computational thinking serves as the primary justification for the activity. MSTs consistently frame programming as a way of thinking rather than merely a technical skill, and they attribute the same form of reasoning to its educational value for students. This is illustrated by MST1:
Technology (θ):
“I had to think step by step and figure out what happens after each command, it helps me structure my thoughts.”
Didactic Technology (θ_did):
“Programming helps students think logically and systematically, it is computational thinking itself.”
In both cases, programming is justified not by what it produces, but by how it structures reasoning. Computational thinking thus functions as a shared technological rationale.
Across MSTs’ written tasks, struggle, uncertainty, and failure are viewed as essential for learning in both categories. Engagement and motivation are also frequently used to justify programming as a mathematical activity. In both θ and θ_did, MSTs emphasize programming as a tool for exploration rather than mere automation. The technological rationale highlights discovery, reasoning, motivation, and engagement, which are features that MSTs later associate with effective teaching practice. Additionally, many MSTs (26 students) refer to curricular competence, which aims to justify programming at both levels, drawing on the Norwegian Directorate for Education and Training (2020) to explain its place in mathematics education.

4.2.4. Theory (Θ) and Didactic Theory (Θ_did)

Both Theory (Θ) and Didactic Theory (Θ_did) are grounded in the same core theoretical frameworks, particularly computational thinking (Herheim & Johnsen-Høines, 2021; Norwegian Directorate for Education and Training, 2020; Wing, 2006). MSTs draw on these perspectives to explain both their personal understanding and their pedagogical intentions.
At both levels, MSTs also reference problem-solving as a form of mathematical thinking (Polya, 1945; Schoenfeld, 1992), frequently invoking Polya’s four-step method in their reflections. A particularly strong theoretical overlap concerns the concept of productive struggle. MSTs use Herheim and Johnsen-Høines (2021) to justify both their own learning processes and their approaches to teaching. This parallel is illustrated by MST4:
Theory (Θ):
“When I’m stuck and have to figure it out on my own, I learn more, this is productive struggle.”
Didactic Theory (Θ_did):
“Students need time to struggle a bit, that’s when deep learning occurs.”
In both cases, the same theoretical repertoire, as computational thinking, problem-solving, and productive struggle, governs personal cognition and pedagogical reasoning. This demonstrates that MSTs’ theoretical understanding is transferable from their own learning experiences to their envisioned teaching practices.

5. Discussion and Conclusions

The aim of this study was to explore how master’s student teachers (MSTs) position themselves in relation to programming and computational thinking (CT) within mathematics education, as expressed through their written reflections. The findings reveal a complex relationship between mathematical and didactic praxeologies in MSTs’ written work as they integrate programming into mathematics teaching. By drawing on the Anthropological Theory of the Didactic (ATD) and the concept of praxeology, the study provides insight into how MSTs navigate the relationship between theory and practice in an area of increasing importance in teacher education and schooling. In several countries, including Norway, curricula have recently incorporated programming and CT into mathematics education (Bocconi et al., 2018; Norwegian Directorate for Education and Training, 2020).
Overall, the results show that MSTs’ texts provide evidence of connections between mathematical, didactic, and technological reasoning. These connections suggest that designing and reflecting on programming-based mathematical tasks can function as a bridge between theoretical understanding and envisioned classroom practice.
The cross-category analysis indicates that MSTs tend to construct parallel praxeologies across mathematical/programming and didactic domains. The same problem-solving logics and iterative processes that structure their own learning are frequently transferred to their anticipated teaching practices. For example, trial-and-error approaches—central to computational thinking—appear both in how MSTs learn programming and in how they plan to guide students’ learning. This mirroring resembles what Pansell and Bjorklund Boistrup (2018) describe in their study of teachers’ relationships with textbooks, where teaching practices often reflect the structures embedded in teachers’ own learning experiences. From an ATD perspective, this alignment can be understood as a form of didactic transposition (Chevallard, 1999), in which personal learning experiences are internalized and recontextualized as pedagogical strategies.
Across the dataset, consistent patterns emerged in how MSTs connected mathematical/programming and didactic praxeologies. Most participants oriented their mathematical praxeologies toward learning the programming environment itself, while simultaneously projecting didactic praxeologies that emphasized exploration, scaffolding, and productive struggle for students. These parallel structures were observed across preservice and in-service MSTs and across programming tools (Scratch, Python, Micro:bit), suggesting that the identified praxeological patterns reflect shared institutional conditions rather than isolated individual cases.
One of the most striking findings of this study is that, despite the assignment’s explicit requirement to develop and solve a mathematical problem using programming, many MSTs framed programming itself as the primary problem to be solved. Rather than treating programming as a tool for mathematical inquiry, they approached it as an object of inquiry, as a skill to be learned, tested and mastered. This orientation can be understood in relation to participants’ prior experiences. As described in Section 3.1, although all MSTs had some exposure to programming through workshops or teaching practice, many reported limited experience, which likely contributed to programming becoming the main focus of their problem-solving activity. Several MSTs explicitly described their motivation in terms of gaining familiarity with programming environments such as Scratch, Python, or Micro:bit, rather than exploring specific mathematical concepts. Their written reflections often emphasized procedural aspects, such as constructing loops, rather than mathematical reasoning. This finding aligns with previous research showing that limited experience with programming and CT can lead teachers to focus on procedural mastery rather than on how programming can support mathematical understanding (Kaufmann et al., 2023; Nordby et al., 2024).
Distinguishing more clearly between programming and computational thinking further refines the interpretation of the findings. While MSTs frequently expressed confidence in computational thinking practices—such as decomposition, stepwise reasoning, and algorithmic thinking—many described substantial difficulties with programming-specific practices, including syntax, block structures, and debugging. This suggests that the primary challenge lies less in adopting computational ways of thinking and more in developing sufficient programming fluency for CT to function as a meaningful pedagogical and mathematical resource.
Importantly, this finding should not be interpreted simply as a deficiency. Following the logic of ATD (Chevallard, 2019), MSTs’ engagement with programming as an object of learning can be understood as part of an institutional didactic transposition. Because programming and CT are relatively recent curricular additions, MSTs may need to develop personal praxeologies in which programming becomes intelligible and workable before it can function as an instrument for mathematical inquiry. In this sense, treating programming as a learning goal may serve a necessary pedagogical function, enabling future teachers to build confidence, fluency, and technological understanding that later support more integrated mathematical use.
Although this study did not systematically differentiate between preservice and in-service MSTs, it is nevertheless relevant to consider how these groups may experience programming differently. Preservice MSTs may be more likely to encounter programming as a new and demanding learning object, whereas in-service MSTs may draw more directly on classroom experience when reflecting on pedagogical use. However, the consistency of the observed praxeological patterns across the dataset suggests that limited programming fluency represents a shared challenge, regardless of teaching experience. This points to a need for future research that explicitly examines similarities and differences in praxeological development between preservice and in-service teachers.
The findings have several implications for mathematics teacher education. First, integrating programming into mathematics offers an authentic context for connecting praxis and logos. Programming-based tasks inherently require both procedural competence and conceptual reasoning, making them well suited for fostering reflective, theory-informed practice. Teacher education programs should therefore emphasize structured reflection that supports MSTs in analyzing their own praxeologies and the relationships between praxis and logos.
The need for stronger institutional support is evident in several recurring patterns across MSTs’ reflections. Many participants described programming itself as the primary challenge and reported relying heavily on peers, online tutorials, or informal experiences rather than on systematically scaffolded course support. Programming was frequently positioned as a learning goal in its own right, suggesting limited institutional guidance on how programming and CT might be integrated with mathematical inquiry. Taken together, these patterns indicate a need for more explicit institutional scaffolding to support MSTs in developing integrated mathematical and didactic praxeologies.
Second, teacher education programs may benefit from designing programming-based tasks that begin with mathematically familiar problems and explicitly position programming as a supporting tool rather than as the primary object of learning. Making this distinction visible at the institutional level may help MSTs develop praxeologies in which programming serves mathematical exploration rather than overshadowing it.
Third, structured reflective activities can help MSTs connect their own experiences of productive struggle in programming to didactic decision-making. While many participants emphasized trial-and-error and perseverance, these experiences were not always explicitly linked to mathematical goals. Reflection prompts that foreground the relationship between personal learning processes and instructional design may support MSTs in transforming individual struggle into pedagogically productive strategies.
Fourth, the findings underscore the importance of institutional framing. As Chevallard (2019) emphasizes, knowledge is not only individual but institutional, shaped by how education systems organize and transmit content. If programming and CT are treated as peripheral or technical add-ons, MSTs may continue to view them primarily as skills to be mastered rather than as tools for mathematical thinking.
In conclusion, this study shows that many MSTs primarily treated programming as an object of learning rather than as a tool for mathematical inquiry, a tendency closely linked to their limited prior experience. At the same time, MSTs consistently projected their own learning strategies, such as exploration, iteration, debugging, and productive struggle, onto their envisioned teaching practices. This close alignment highlights how experiences of learning to program can become valuable didactic resources in teacher education.
Overall, the study contributes to research on mathematics teacher education by demonstrating how praxeological analysis can illuminate the interplay between theory and practice in emerging curricular areas such as programming and CT. The findings emphasize the importance of institutional support that enables MSTs to develop sufficient programming fluency so that computational thinking can be mobilized for mathematical exploration rather than being overshadowed by technical challenges.
Finally, the findings should be interpreted in light of several limitations. The sample consists of 39 MSTs from a single Norwegian teacher education context. While appropriate for in-depth qualitative analysis, this limits generalizability to other institutional or national settings. In addition, the analysis is based on written reflections produced for a compulsory assignment. Such reflections provide rich insight into MSTs’ reasoning and self-positioning but capture articulated perspectives rather than enacted classroom practice. Future research could adopt longitudinal designs that follow preservice and in-service teachers over time, examining how integrated mathematical and didactic praxeologies develop as teachers move from coursework into professional practice.

Author Contributions

Conceptualization, all authors; methodology, all authors; formal analysis, all authors; writing—original draft preparation, O.T.K. wrote the introduction. K.J. and O.T.K. wrote theory. M.M. and T.E.R. wrote the methodology. O.T.K. wrote results and discussion and conclusion. writing—review and editing, O.T.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

The study was conducted in accordance with the Declaration of Helsinki, and approved by the Sikt—Norwegian Agency for Shared Services in Education and Research (protocol code 565724 and date of approval 8 February 2023).

Informed Consent Statement

Informed consent was obtained from all subjects involved in the study.

Data Availability Statement

Data are available upon request to the corresponding author.

Acknowledgments

During the preparation of this manuscript/study, the author(s) used ChatGPT 5.2. The purpose was to use it for the analysis by systematizing the different written texts based on various predetermined categories. ChatGPT was also used for text editing as grammar and spelling. The authors have reviewed and edited the output and take full responsibility for the content of this publication.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CTComputational thinking
MSTMaster student teacher
ATDAnthropological Theory of Didactic
NDETNorwegian Directorate for Education and Training

References

  1. Baran, E., Canbazoglu Bilici, S., Albayrak Sari, A., & Tondeur, J. (2019). Investigating the impact of teacher education strategies on preservice teachers’ TPACK. British Journal of Educational Technology, 50(1), 357–370. [Google Scholar] [CrossRef]
  2. Barefoot Computing. (n.d.). Computational thinking poster [Poster]. Barefoot Computing. Available online: https://www.barefootcomputing.org/resources/computational-thinking-poster (accessed on 25 September 2025).
  3. Boaler, J. (2016). Mathematical mindsets: Unleashing students’ potential through creative math, inspiring messages, and innovative teaching. Jossey-Bass. [Google Scholar]
  4. Boaler, J. (2019). Unlocking children’s math potential. The Review, 69–77. Available online: https://joboaler.org/wp-content/uploads/2022/04/For-parents.pdf (accessed on 8 January 2026).
  5. 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. [Google Scholar] [CrossRef]
  6. Bosch, M., & Gascón, J. (2014). Introduction to the anthropological theory of the didactic (ATD). In A. Bikner-Ahsbahs, & S. Prediger (Eds.), Networking of theories as a research practice in mathematics education (pp. 67–83). Springer. [Google Scholar]
  7. Bråting, K., & Kilhamn, C. (2021). Exploring the intersection of algebraic and computational thinking. Mathematical Thinking and Learning, 23(2), 170–185. [Google Scholar] [CrossRef]
  8. Chevallard, Y. (1999). L’analyse des pratiques enseignantes en théorie anthropologique du didactique. Recherches en Didactique des Mathématiques, 19(2), 221–266. [Google Scholar]
  9. Chevallard, Y. (2019). Introducing the anthropological theory of the didactic an attempt at a principled approach. Hiroshima Journal of Mathematics Education, 12, 71–114. [Google Scholar]
  10. Chevallard, Y., & Bosch, M. (2020). Anthropological theory of the didactic (ATD). In S. Lerman (Ed.), Encyclopedia of mathematics education (pp. 53–61). Springer International Publishing. [Google Scholar] [CrossRef]
  11. Eriksen, E., & Bjerke, A. H. (2019). The fractal complexity of using theories in mathematics teacher education: Issues and debates, opportunities and limitations. In K. Clements, A. Bishop, C. Keitel, J. Kilpatrick, & K. S. F. Leung (Eds.), International handbook of mathematics teacher education (Vol. 2, pp. 255–284). Brill. [Google Scholar] [CrossRef]
  12. Herheim, R., & Johnsen-Høines, M. (2021). Students’ productive struggle when programming in mathematics. In G. A. Nortvedt, N. F. Buchholtz, J. Fauskanger, F. Hreinsdóttir, M. Hähkiöniemi, B. E. Jessen, J. Kurvits, Y. Liljekvist, M. Misfeldt, M. Naalsund, H. K. Nilsen, G. Pálsdóttir, J. P. Portaankorva-Koivisto, J. Radišić, & A. Wernberg (Eds.), Bringing nordic mathematics education into the future. Preceedings of norma 20: The ninth nordic conference on mathematics education. SMDF. [Google Scholar]
  13. Hiebert, J. S., & Grouws, D. A. (2007). The effects of classroom mathematics teaching on students’ learning. In F. K. Lester (Ed.), Second handbook of research on mathematics teaching and learning (Vol. 1, pp. 371–404). NCTM. [Google Scholar]
  14. Kaufmann, O. T., Maugesten, M., & Meaney, T. (2023). The professional identities of prospective mathematics teachers who teach through programming. Journal of Mathematics Teacher Education, 27, 1039–1053. [Google Scholar] [CrossRef]
  15. Lie, J., Hauge, I., & Meaney, T. (2017). Computer programming in the lower secondary classroom: Learning mathematics. Italian Journal of Educational Technology, 25(2), 27–35. [Google Scholar]
  16. Mensah, F. S., Pansell, A., & Christiansen, I. M. (2024). The teaching of instructional technology implementation in mathematics teacher education research: A critical analysis from a praxeology-informed perspective. Contemporary Issues in Technology and Teacher Education, 24(4), 484–520. [Google Scholar]
  17. Nordby, S. K., Mifsud, L., & Bjerke, A. H. (2024). Computational thinking in primary mathematics classroom activities. Frontiers in Education, 9, 1414081. [Google Scholar] [CrossRef]
  18. Norwegian Directorate for Education and Training. (2020). Mathematics subject curriculum. Available online: https://www.udir.no/lk20/mat01-05 (accessed on 8 January 2026).
  19. Pansell, A. (2023). Mathematical knowledge for teaching as a didactic praxeology. Frontiers in Education, 8, 1165977. [Google Scholar] [CrossRef]
  20. Pansell, A., & Bjorklund Boistrup, L. (2018). Mathematics teachers’ teaching practices in relation to textbooks: Exploring praxeologies. The Mathematics Enthusiast, 15(3), 541–562. [Google Scholar] [CrossRef]
  21. Polya, G. (1945). How to solve it: A new aspect of mathematical method. Princeton University Press. [Google Scholar]
  22. Rasmussen, K., & Winsløw, C. (2013). Didactic codetermination in the creation of an integrated math and science teacher education: The case of mathematics and geography. In B. Ubuz, Ç. Haser, & M. A. Mariotti (Eds.), Proceedings of the eighth congress of the European society for research in mathematics education (pp. 3206–3216). Middle East Technical University. Available online: https://hal.umontpellier.fr/hal-04430809v1/document (accessed on 8 January 2026).
  23. Schoenfeld, A. H. (1992). Learning to think mathematically: Problem solving, metacognition, and sense-making in mathematics. In D. Grouws (Ed.), Handbook for research on mathematics teaching and learning (pp. 334–370). MacMillan. [Google Scholar]
  24. Shalem, Y. (2014). What binds professional judgement? In M. Young, & J. Muller (Eds.), Knowledge, expertise and the professions (pp. 93–105). Routledge. [Google Scholar]
  25. Shalem, Y., & Rusznyak, L. (2016). Theory for teacher practice: A typology of application tasks in teacher education. South African Journal of Higher Education, 27(5), 1118–1134. [Google Scholar] [CrossRef]
  26. Warshauer, H. K. (2015). Productive struggle in middle school mathematics classrooms. Journal of Mathematics Teacher Education, 18(4), 375–400. [Google Scholar] [CrossRef]
  27. Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. [Google Scholar] [CrossRef]
Table 1. Praxeological framework inspired by Chevallard and Bosch (2020).
Table 1. Praxeological framework inspired by Chevallard and Bosch (2020).
Praxeology
The Mathematical/Programming Praxis:The Didactic Praxis:
What: The task (T)What: The task (T-did)
How: Techniques (τ)How: Techniques (τ-did)
Why (logos): Technology (θ)Why (logos): Technology (θ-did)
Theory (Θ)Theory (Θ-did)
Table 2. Steps in the analytical process.
Table 2. Steps in the analytical process.
StepAnalytical ActivityCollaborative Process and Outcomes
1. Initial trial of analytical toolTwo authors piloted the analytical tool on a subset of data to evaluate its applicability and internal coherence.All four authors met to discuss preliminary findings. The analytical framework was subsequently expanded to incorporate theoretical components in addition to existing categories.
2. Joint analysis and calibrationAll authors independently analyzed the same three assignments submitted by MSTs in 2023.A meeting was held to compare interpretations, identify convergences and divergences, and reach consensus on the operational definitions of the subcategories how, what, why, and theory, as well as the distinction between mathematical/programming and didactical praxeologies.
3. Cross-comparison and refinementEach author proceeded to analyze the remaining assignments from 2023.The first author compiled the four analyses for cross-comparison. A subsequent meeting was conducted to discuss and resolve remaining discrepancies, particularly regarding the interpretation of theory within the mathematical and didactical domains.
4. Extended analysis and thematic synthesisEach author analyzed five assignments from the 2022 dataset.Throughout the analyses, noteworthy findings and emerging themes were documented for later discussion. A concluding meeting was held to synthesize insights and address the second research focus concerning the MSTs’ positioning as teachers and learners.
Table 3. Example of the analysis for MST 39.
Table 3. Example of the analysis for MST 39.
Mathematical/Programming Task (T) (What?)The task I chose involved attempting to create a program to solve equations with two unknowns, and to enable the program to determine how many solutions the system of equations has.
Mathematical/Programming technique (τ) (How?) I understood that I had to use “for i in range”, and that I must check if the left side and the right side of the equation are equal by using “==”
Mathematical/Programming technology (θ) (Why?) I realized that it must be done using an if statement, but it took me a while to figure this out. It was while watching something on TV that it suddenly dawned on me that I can put “anything inside anything,” meaning I can have an if statement within another if statement.
Mathematical/Programming theory (Θ)In today’s curriculum, programming is an integrated part of certain subjects, including mathematics (Norwegian Directorate for Education and Training, 2020). Programming is connected to the concepts of conceptual and computational thinking. Bråting & Kilhamn (2021) rely on several authors when explaining the difference between these concepts. (p. 2)
Didactic task (T_did) (What?)I would like to use a programming task involving equations along with my 10th-grade classes.
Didactic technique (τ_did) (How?)Even though I felt some frustration with block programming, I would use block-based programming as a gateway with my students. This is because the code itself is tidy visually, and it’s easy to understand what is happening. I believe more students would understand what the program does if it was initially built with blocks, and after some exploration and testing, we create a corresponding program in Python 3.11. (p. 8)
Didactic technology
(θ_did) (Why?)
I believe this problem is suited for elementary school. I think it would be beneficial if the students have had some experience with analog programming beforehand so that they have some knowledge about the different codes.
Didactic theory (Θ_did) Boaler (2019) states that making mistakes is productive, and that the brain develops both when one makes a mistake and when one becomes aware of having made a mistake. This is because the brain has been subjected to productive “struggle.” Herheim & Johnsen-Høines (2021) examine in their article productive “struggle” in the context of students programming a pentagon. Their research found that the activity promoted productive mathematical “struggle,” and that students devised strategies, tried out new ideas, evaluated, and made adjustments throughout the process.
Table 4. An overview of the didactic techniques and themes.
Table 4. An overview of the didactic techniques and themes.
Didactic Techniques Themes: Content (How):
Collaborative and discursive techniquesCollaborative and discursive techniques, in encouraging peer dialogue, sharing and reflecting about the tasks
Scaffolding and progressionTo build from concrete to abstract, and from visual to text-based coding and to stress stepwise learning
Motivation and engagementTo support creativity
DifferentiationFacilitate for students varied skill levels
Themselves as “teacher as learners”Reflect on their own process, to model persistence and problem-solving mindset—how this mirrors how they would guide their students
Table 5. An overview of the didactic technology themes.
Table 5. An overview of the didactic technology themes.
Didactic Technology ThemesJustification (Why)
Relevance and curriculumJustified by competence aims in the curriculum and part of the mathematical competence goals.
Conceptual understanding and computational thinkingArgue that programming supports problem solving, logical thinking and mathematical reasoning. Visualize mathematical concepts.
Motivation and engagementJustify programming as motivation, fun and varied, and that programming connects to real-world relevance and students’ interest.
DifferentiationProgramming to reach diverse learners and support multiple learning strategies. Open-ended tasks in programming promote adaptability and inclusivity, and that the task is suitable for multiple levels.
Themselves as “teacher as learners”—cognitive struggle and growth through errorMST (themselves) learn through mistakes, productive struggle, perseverance and reflection. The cognitive challenge can be seen as productive
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kaufmann, O.T.; Jemai, K.; Maugesten, M.; Rangnes, T.E. Student Teachers as Learners and Teachers: Praxeological Perspectives on Programming in Mathematics. Educ. Sci. 2026, 16, 104. https://doi.org/10.3390/educsci16010104

AMA Style

Kaufmann OT, Jemai K, Maugesten M, Rangnes TE. Student Teachers as Learners and Teachers: Praxeological Perspectives on Programming in Mathematics. Education Sciences. 2026; 16(1):104. https://doi.org/10.3390/educsci16010104

Chicago/Turabian Style

Kaufmann, Odd Tore, Khaled Jemai, Marianne Maugesten, and Toril Eskeland Rangnes. 2026. "Student Teachers as Learners and Teachers: Praxeological Perspectives on Programming in Mathematics" Education Sciences 16, no. 1: 104. https://doi.org/10.3390/educsci16010104

APA Style

Kaufmann, O. T., Jemai, K., Maugesten, M., & Rangnes, T. E. (2026). Student Teachers as Learners and Teachers: Praxeological Perspectives on Programming in Mathematics. Education Sciences, 16(1), 104. https://doi.org/10.3390/educsci16010104

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop