Student Teachers as Learners and Teachers: Praxeological Perspectives on Programming in Mathematics
Abstract
1. Introduction
2. Theoretical Framework
3. Methodology
3.1. Description of the Task
3.2. Ethical Considerations
3.3. Analytical Framework and Process
4. Results
4.1. General Characteristics of Each of the Categories
4.1.1. Mathematical/Programming Praxeology: Task
“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.”
“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?”
4.1.2. Mathematical/Programming Praxeology: Technique
“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.”
“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.”
4.1.3. Mathematical/Programming Praxeology: Technology
“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.”
“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.”
4.1.4. Mathematical/Programming Praxeology: Theory
“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.”
“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.”
4.1.5. Didactic Praxeology: Task
“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.”
“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.”
4.1.6. Didactic Praxeology: Technique
4.1.7. Didactic Praxeology: Technology
4.1.8. Didactic Praxeology: Theory
4.2. Cross-Category Comparison
4.2.1. Task (T) and Didactic Task (T_did)
“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.”
“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.”
4.2.2. Technique (τ) and Didactic Technique (τ_did)
“I had to try many times before the code worked. Failing helped me understand how the commands were interconnected.”
“I want to let the students experiment and fail so that they see it as a natural part of the learning process.”
4.2.3. Technology (θ) and Didactic Technology (θ_did)
“I had to think step by step and figure out what happens after each command, it helps me structure my thoughts.”
“Programming helps students think logically and systematically, it is computational thinking itself.”
4.2.4. Theory (Θ) and Didactic Theory (Θ_did)
“When I’m stuck and have to figure it out on my own, I learn more, this is productive struggle.”
“Students need time to struggle a bit, that’s when deep learning occurs.”
5. Discussion and Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
| CT | Computational thinking |
| MST | Master student teacher |
| ATD | Anthropological Theory of Didactic |
| NDET | Norwegian Directorate for Education and Training |
References
- 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]
- 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).
- Boaler, J. (2016). Mathematical mindsets: Unleashing students’ potential through creative math, inspiring messages, and innovative teaching. Jossey-Bass. [Google Scholar]
- 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).
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Nordby, S. K., Mifsud, L., & Bjerke, A. H. (2024). Computational thinking in primary mathematics classroom activities. Frontiers in Education, 9, 1414081. [Google Scholar] [CrossRef]
- Norwegian Directorate for Education and Training. (2020). Mathematics subject curriculum. Available online: https://www.udir.no/lk20/mat01-05 (accessed on 8 January 2026).
- Pansell, A. (2023). Mathematical knowledge for teaching as a didactic praxeology. Frontiers in Education, 8, 1165977. [Google Scholar] [CrossRef]
- 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]
- Polya, G. (1945). How to solve it: A new aspect of mathematical method. Princeton University Press. [Google Scholar]
- 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).
- 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]
- Shalem, Y. (2014). What binds professional judgement? In M. Young, & J. Muller (Eds.), Knowledge, expertise and the professions (pp. 93–105). Routledge. [Google Scholar]
- 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]
- Warshauer, H. K. (2015). Productive struggle in middle school mathematics classrooms. Journal of Mathematics Teacher Education, 18(4), 375–400. [Google Scholar] [CrossRef]
- Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. [Google Scholar] [CrossRef]
| 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) |
| Step | Analytical Activity | Collaborative Process and Outcomes |
|---|---|---|
| 1. Initial trial of analytical tool | Two 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 calibration | All 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 refinement | Each 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 synthesis | Each 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. |
| 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. |
| Didactic Techniques Themes: | Content (How): |
|---|---|
| Collaborative and discursive techniques | Collaborative and discursive techniques, in encouraging peer dialogue, sharing and reflecting about the tasks |
| Scaffolding and progression | To build from concrete to abstract, and from visual to text-based coding and to stress stepwise learning |
| Motivation and engagement | To support creativity |
| Differentiation | Facilitate 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 |
| Didactic Technology Themes | Justification (Why) |
|---|---|
| Relevance and curriculum | Justified by competence aims in the curriculum and part of the mathematical competence goals. |
| Conceptual understanding and computational thinking | Argue that programming supports problem solving, logical thinking and mathematical reasoning. Visualize mathematical concepts. |
| Motivation and engagement | Justify programming as motivation, fun and varied, and that programming connects to real-world relevance and students’ interest. |
| Differentiation | Programming 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 error | MST (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. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
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
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 StyleKaufmann, 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 StyleKaufmann, 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

