A learning trajectory for developing computational thinking in prospective mathematics teachers through Python programming in Google Colab
DOI:
https://doi.org/10.35316/alifmatika.2025.v7i1.34-52Keywords:
Computational Thinking, Google Colab, Hypothetical Learning, Learning Trajectory, Prospective Math Teacher, Python ProgrammingAbstract
Computational thinking (CT) is a fundamental skill that needs to be developed by prospective mathematics teachers to improve problem-solving and logical reasoning. Integrating programming into mathematics learning is an effective approach to training this skill. This study aimed to design a hypothetical learning trajectory (HLT) for developing CT using Python programming on Google Colab. This study used a didactical design research (DDR) framework consisting of three stages: prospective analysis, metapedadidactic analysis, and retrospective analysis. The research participants were prospective mathematics teacher students enrolled in a computer programming course. Data were collected through observation, code artefacts, and reflective interviews. The results showed that HLT, designed in stages, improved the four main components of CT: decomposition, abstraction, pattern recognition, and algorithmic thinking. The students experienced improvements in breaking down problems, devising more efficient solutions, recognising patterns in code structures, and systematically designing algorithms. In addition, Google Colab supports learning by providing a collaborative and accessible programming environment. However, minor syntax errors and lack of attention to indentation were found. This study recommends using structured debugging strategies and project-based learning in optimizing CT development. The findings indicate that the integration of programming into the education of prospective mathematics teachers can equip them with essential CT skills to support technology-based mathematics teaching.
Downloads
References
Aho, A. V. (2012). Computation and Computational Thinking. The Computer Journal, 55(7), 832–835. https://doi.org/10.1093/comjnl/bxs074
Andrews-Larson, C., Wawro, M., & Zandieh, M. (2017). A Hypothetical Learning Trajectory for Conceptualizing Matrices as Linear Transformations. International Journal of Mathematical Education in Science and Technology, 48(6), 809–829. https://doi.org/10.1080/0020739X.2016.1276225
Angeli, C., & Giannakos, M. (2020). Computational Thinking Education: Issues and Challenges. Computers in Human Behavior, 105(106185), 1–8. https://doi.org/10.1016/j.chb.2019.106185
Antonides, J., & Battista, M. T. (2022). A Learning Trajectory for Enumerating Permutations: Applying and Elaborating a Theory of Levels of Abstraction. The Journal of Mathematical Behavior, 68, 101010. https://doi.org/10.1016/j.jmathb.2022.101010
Badan Standar, Kurikulum, dan Asesmen Pendidikan Kementerian Pendidikan Dasar dan Menengah Republik Indonesia. (2025). Naskah Akademik Pembelajaran Koding dan Kecerdasan Artifisial pada Pendidikan Dasar dan Menengah. Pusat Kurikulum dan Pembelajaran & Pusat Standar dan Kebijakan Pendidikan Kemendikdasmen.
Bai, H., Wang, X., & Zhao, L. (2021). Effects of the Problem-Oriented Learning Model on Middle School Students’ Computational Thinking Skills in a Python Course. Frontiers in Psychology, 12(1), 1–14. https://doi.org/10.3389/fpsyg.2021.771221
Cansu, F. K., & Cansu, S. K. (2019). An Overview of Computational Thinking. International Journal of Computer Science Education in Schools, 3(1), 17–30. https://doi.org/10.21585/ijcses.v3i1.53
Choi, W. C., & Choi, I. C. (2024). The Influence of Codecombat on Computational Thinking in Python Programming Learning at Primary School. 2024 5th International Conference on Education Development and Studies, 26–32. https://doi.org/10.1145/3669947.3669951
Clements, D. H., & Sarama, J. (2024). Systematic Review of Learning Trajectories in Early Mathematics. ZDM – Mathematics Education, 14. https://doi.org/10.1007/s11858-024-01644-1
Clements, D. H., Sarama, J., Baroody, A. J., & Joswick, C. (2020). Efficacy of a Learning Trajectory Approach Compared to a Teach-to-Target Approach for Addition and Subtraction. ZDM, 52(4), 637–648. https://doi.org/10.1007/s11858-019-01122-z
Corbin, J. M., & Strauss, A. L. (2015). Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory (Fourth edition). SAGE.
De Jesús, S., & Martinez, D. (2020). Applied Computational Thinking with Python: Design Algorithmic Solutions for Complex and Challenging Real-World Problems. Packt Publishing.
Denzin, N. K., & Lincoln, Y. S. (Eds.). (2018). The SAGE Handbook of Qualitative Research (Fifth edition). SAGE.
Dong, Y., Catete, V., Jocius, R., Lytle, N., Barnes, T., Albert, J., Joshi, D., Robinson, R., & Andrews, A. (2019). PRADA: A Practical Model for Integrating Computational Thinking in K-12 Education. Proceedings of the 50th ACM Technical Symposium on Computer Science Education, 906–912. https://doi.org/10.1145/3287324.3287431
Downey, A. (2024). Think Python: How to Think Like a Computer Scientist (Third edition). O’Reilly Media, Inc.
Ferreira, R., Canesche, M., Jamieson, P., Neto, O. P. V., & Nacif, J. A. M. (2024). Examples and Tutorials on Using Google Colab and Gradio to Create Online Interactive Student‐Learning Modules. Computer Applications in Engineering Education, 32(4), e22729. https://doi.org/10.1002/cae.22729
Fitzgerald, S., Lewandowski, G., McCauley, R., Murphy, L., Simon, B., Thomas, L., & Zander, C. (2008). Debugging: Finding, Fixing and Flailing, a Multi-Institutional Study of Novice Debuggers. Computer Science Education, 18(2), 93–116. https://doi.org/10.1080/08993400802114508
Gane, B. D., Israel, M., Elagha, N., Yan, W., Luo, F., & Pellegrino, J. W. (2021). Design and Validation of Learning Trajectory-Based Assessments for Computational Thinking in Upper Elementary Grades. Computer Science Education, 31(2), 141–168. https://doi.org/10.1080/08993408.2021.1874221
Grover, S., & Pea, R. (2018). Computational Thinking: A Competency Whose Time Has Come. In S. Sentance, E. Barendsen, & C. Schulte (Eds.), Computer Science Education: Perspectives on Teaching and Learning in School. Bloomsbury Academic. https://doi.org/10.5040/9781350057142
Guillod, J. (2024). Python Programming for Mathematics (1st ed.). Chapman and Hall/CRC. https://doi.org/10.1201/9781003565451
Hsiao, T.-C., Chuang, Y.-H., Chang, C.-Y., Chen, T.-L., Zhang, H.-B., & Chang, J.-C. (2023). Combining Building Block Process with Computational Thinking Improves Learning Outcomes of Python Programming with Peer Assessment. Sage Open, 13(4). https://doi.org/10.1177/21582440231217715
Ilic, U., Haseski, H. I., & Tugtekin, U. (2018). Publication Trends Over 10 Years of Computational Thinking Research. Contemporary Educational Technology, 9(2), 131–153. https://doi.org/10.30935/cet.414798
Irawan, E. (2024). Keterampilan Computational Thinking Mahasiswa Melalui Penerapan Desain Didaktis Dengan Memanfaatkan Perangkat Lunak-R pada Mata Kuliah Statistika [PhD Thesis, Universitas Pendidikan Indonesia]. https://repository.upi.edu/
Irawan, E., & Herman, T. (2023). Trends in Research on Interconnection of Mathematics and Computational Thinking. AIP Conference Proceedings, 2805, 1–9. https://doi.org/10.1063/5.0148018
Irawan, E., Rosjanuardi, R., & Prabawanto, S. (2024a). Promoting Computational Thinking Through Programming Trends, Tools, and Educational Approaches: A Systematic Review. Jurnal Teori Dan Aplikasi Matematika, 8(4), 1327–1348. https://doi.org/10.31764/jtam.v8i4.26407
Irawan, E., Rosjanuardi, R., & Prabawanto, S. (2024b). Research Trends of Computational Thinking in Mathematics Learning: A Bibliometric Analysis from 2009 to 2023. Eurasia Journal of Mathematics, Science and Technology Education, 20(3), 1–16. https://doi.org/10.29333/ejmste/14343
Jansen, P. (2025). TIOBE Index. Tiobe. https://www.tiobe.com/tiobe-index/
Jesús, S. de, & Martinez, D. (2023). Applied Computational Thinking with Python: Algorithm Design for Complex Real-World Problems (Second edition). Packt Publishing Ltd.
Kamak, L. P., & Mago, V. (2023). Assessing the Impact of Using Python to Teach Computational Thinking for Remote Schools in a Blended Learning Environment. In P. Zaphiris & A. Ioannou (Eds.), Learning and Collaboration Technologies (pp. 482–500). Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-34550-0_35
Kim, J., Kim, M., Yu, H., Kim, Y., & Kim, J. (2019). Effect of Data Visualization Education with Using Python on Computational Thinking of Six Grade in Elementary School. Journal of The Korean Association of Information Education, 23(3), 197–206.
Kong, S.-C., Lai, M., & Sun, D. (2020). Teacher Development in Computational Thinking: Design and Learning Outcomes of Programming Concepts, Practices and Pedagogy. Computers & Education, 151, 103872. https://doi.org/10.1016/j.compedu.2020.103872
Kuroki, M. (2021). Using Python and Google Colab to Teach Undergraduate Microeconomic Theory. International Review of Economics Education, 38, 100225. https://doi.org/10.1016/j.iree.2021.100225
Kuswardi, Y., Nurhasanah, F., Firdaus, N. U. A., Usodo, B., Chrisnawati, H. E., Sutopo, S., & Shahrill, M. (2024). A Learning Trajectory for Statistics Through the Traditional Game of Congklak to Enhance Mathematical Reasoning Skills. International Journal of Pedagogy and Teacher Education, 8(1), Article 1. https://doi.org/10.20961/ijpte.v8i1.90547
Lin, X., Ma, Y., Ma, W., Liu, Y., & Tang, W. (2021). Using Peer Code Review to Improve Computational Thinking in a Blended Learning Environment: A Randomized Control Trial. Computer Applications in Engineering Education, 29(6), 1825–1835. https://doi.org/10.1002/cae.22425
Liu, D., Feng, Y., Yan, Y., & Xu, B. (2023). Towards Understanding Bugs in Python Interpreters. Empirical Software Engineering, 28(1), 19. https://doi.org/10.1007/s10664-022-10239-x
Llerena-Izquierdo, J., Mendez-Reyes, J., Ayala-Carabajo, R., & Andrade-Martinez, C. (2024). Innovations in Introductory Programming Education: The Role of AI with Google Colab and Gemini. Education Sciences, 14(12), 1330. https://doi.org/10.3390/educsci14121330
Naik, P. G., Naik, G. R., & Patil, M. B. (2021). Conceptualizing Python in Google Colab. Shashwat Publication.
Palts, T., & Pedaste, M. (2020). A Model for Developing Computational Thinking Skills. Informatics in Education, 19(1), 113–128. https://doi.org/10.15388/infedu.2020.06
Papert, S. (1980). Mindstorms: Children, Computers, and Powerful Ideas. Basic Books.
Papert, S. (1996). An Exploration in the Space of Mathematics Educations. International Journal of Computers for Mathematical Learning, 1(1). https://doi.org/10.1007/BF00191473
Rais, D., & Xuezhi, Z. (2024). Elevating Student Engagement and Academic Performance: A Quantitative Analysis of Python Programming Integration in the" Merdeka Belajar" Curriculum. Journal on Mathematics Education, 15(2), 495–516.
Ren, H., Yang, L., Jiang, L., Bai, Y., Lu, W., & Chang, J. (2021). A Computational-Thinking-Oriented Progressive Teaching Mode for Python Course. 2021 IEEE 3rd International Conference on Computer Science and Educational Informatization (CSEI), 81–84. https://doi.org/10.1109/CSEI51395.2021.9477642
Rianasari, V. F., & Guzon, A. F. H. (2024). Designing Learning Trajectory to Support Preservice Mathematics Teachers’ Skills in Creating and Implementing Realistic Mathematics Tasks. Journal on Mathematics Education, 15(3), 701–716. https://doi.org/10.22342/jme.v15i3.pp701-716
Rich, K. M., Franklin, D., Strickland, C., Isaacs, A., & Eatinger, D. (2022). A Learning Trajectory for Variables Based in Computational Thinking Literature: Using Levels of Thinking to Develop Instruction. Computer Science Education, 32(2), 213–234. https://doi.org/10.1080/08993408.2020.1866938
Rich, K. M., Strickland, C., Binkowski, T. A., Moran, C., & Franklin, D. (2017). K-8 Learning Trajectories Derived from Research Literature: Sequence, Repetition, Conditionals. Proceedings of the 2017 ACM Conference on International Computing Education Research, 182–190. https://doi.org/10.1145/3105726.3106166
Román-González, M., Moreno-León, J., & Robles, G. (2019). Combining Assessment Tools for a Comprehensive Evaluation of Computational Thinking Interventions. In S.-C. Kong & H. Abelson (Eds.), Computational Thinking Education (pp. 79–98). Springer Singapore. https://doi.org/10.1007/978-981-13-6528-7_6
Saha, A. (2015). Doing Math with Python: Use Programming to Explore Algebra, Statistics, Calculus, and More! No Starch Press.
Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational Research Review, 22, 142–158. https://doi.org/10.1016/j.edurev.2017.09.003
Simon, M. A. (1995). Reconstructing Mathematics Pedagogy from a Constructivist Perspective. Journal for Research in Mathematics Education, 26(2), 114–145. https://doi.org/10.5951/jresematheduc.26.2.0114
Simon, M. A. (2020). Hypothetical Learning Trajectories in Mathematics Education. In S. Lerman (Ed.), Encyclopedia of Mathematics Education. Springer International Publishing. https://doi.org/10.1007/978-3-030-15789-0
Simon, M. A., Kara, M., Placa, N., & Avitzur, A. (2018). Towards an Integrated Theory of Mathematics Conceptual Learning and Instructional Design: The Learning Through Activity Theoretical Framework. The Journal of Mathematical Behavior, 52, 95–112. https://doi.org/10.1016/j.jmathb.2018.04.002
Simon, M. A., Placa, N., Kara, M., & Avitzur, A. (2018). Empirically-Based Hypothetical Learning Trajectories for Fraction Concepts: Products of the Learning Through Activity Research Program. The Journal of Mathematical Behavior, 52, 188–200. https://doi.org/10.1016/j.jmathb.2018.03.003
Simon, M. A., & Tzur, R. (2004). Explicating the Role of Mathematical Tasks in Conceptual Learning: An Elaboration of the Hypothetical Learning Trajectory. Mathematical Thinking and Learning, 6(2), 91–104. https://doi.org/10.1207/s15327833mtl0602_2
Strickroth, S. (2024). Scalable Feedback for Student Live Coding in Large Courses Using Automatic Error Grouping. Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 1, 499–505. https://doi.org/10.1145/3649217.3653620
Sun, L., & Zhou, L. (2023). Does Text-Based Programming Improve K-12 Students’ Ct Skills? Evidence from a Meta-Analysis and Synthesis of Qualitative Data in Educational Contexts. Thinking Skills and Creativity, 49, 101340.
Suryadi, D. (2013). Didactical Design Research (DDR) to Improve the Teaching of Mathematics. Far East Journal of Mathematical Education, 10(1), 91–107.
Suryadi, D. (2019). Penelitian Desain Didaktis (DDR) dan Implementasinya. Gapura Press.
Tang, X., Yin, Y., Lin, Q., Hadad, R., & Zhai, X. (2020). Assessing Computational Thinking: A Systematic Review of Empirical Studies. Computers & Education, 148(1), 1–22. https://doi.org/10.1016/j.compedu.2019.103798
Tekdal, M. (2021). Trends and Development in Research on Computational Thinking. Education and Information Technologies, 26(5), 6499–6529. https://doi.org/10.1007/s10639-021-10617-w
Vallejo, W., Díaz-Uribe, C., & Fajardo, C. (2022). Google Colab and Virtual Simulations: Practical E-Learning Tools to Support the Teaching of Thermodynamics and to Introduce Coding to Students. ACS Omega, 7(8), 7421–7429. https://doi.org/10.1021/acsomega.2c00362
Wei, X., Lin, L., Meng, N., Tan, W., Kong, S.-C., & Kinshuk. (2021). The Effectiveness of Partial Pair Programming on Elementary School Students’ Computational Thinking Skills and Self-Efficacy. Computers & Education, 160(104023), 1–65. https://doi.org/10.1016/j.compedu.2020.104023
Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., & Wilensky, U. (2015). Defining Computational Thinking for Mathematics and Science Classrooms. Journal of Science Education and Technology, 25(1), 127–147. https://doi.org/10.1007/s10956-015-9581-5
Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 49(3), 33–35. https://doi.org/10.1145/1118178.1118215
Wing, J. M. (2011). Research Notebook: Computational Thinking—What and Why? Thelink, 1–8.
Wing, J. M. (2017). Computational Thinking’s Influence on Research and Education for All. Italian Journal of Educational Technology, 25(2), 7–14. https://doi.org/10.17471/2499-4324/922
Yang, S., Baird, M., O’Rourke, E., Brennan, K., & Schneider, B. (2024). Decoding Debugging Instruction: A Systematic Literature Review of Debugging Interventions. ACM Transactions on Computing Education, 24(4), 1–44. https://doi.org/10.1145/3690652
Ye, H., Liang, B., Ng, O.-L., & Chai, C. S. (2023). Integration of Computational Thinking in K-12 Mathematics Education: A Systematic Review on CT-Based Mathematics Instruction and Student Learning. International Journal of STEM Education, 10(3), 1–26. https://doi.org/10.1186/s40594-023-00396-w
Zhuang, Y. Y., Kao, C.-W., & Yen, W.-H. (2025). A Static Analysis Approach for Detecting Array Shape Errors in Python. Journal of Information Science & Engineering, 41(1). https://doi.org/10.6688/JISE.202501_41(1).0006
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2025 Alifmatika: Jurnal Pendidikan dan Pembelajaran Matematika

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
COPYRIGHT NOTICE
Author (s) who publish in Alifmatika: Jurnal Pendidikan dan Pembelajaran Matematika agree to the following terms:
- The Author (s) submitting a manuscript do so on the understanding that if accepted for publication, copyright of the article shall be assigned to Alifmatika: Jurnal Pendidikan dan Pembelajaran Matematika, Tarbiyah Faculty of Ibrahimy University as the publisher of the journal. Consecutively, author(s) still retain some rights to use and share their own published articles without written permission from Alifmatika: Jurnal Pendidikan dan Pembelajaran Matematika. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
- Copyright encompasses rights to publish and provide the manuscripts in all forms and media for the purpose of publication and dissemination, and the authority to enforce the rights in the manuscript, for example in the case of plagiarism or in copyright infringement.
- Alifmatika: Jurnal Pendidikan dan Pembelajaran Matematika and the Editors make every effort to ensure that no wrong or misleading data, opinions or statements be published in the journal. In any way, the contents of the articles and advertisements published in Alifmatika: Jurnal Pendidikan dan Pembelajaran Matematika are the sole responsibility of their respective authors and advertisers.
- The Copyright Transfer Form can be downloaded here [Copyright Transfer Form Alifmatika]. The copyright form should be signed originally and send to the Editorial Office in the form of original mail, scanned document to alifmatika[at]ibrahimy.ac.id or upload the scanned document in the comments column when sending the manuscript.





















_by_Matematohir.jpg)





