Computer programming in the lower secondary classroom: learning mathematics

Main Article Content

Johan Lie
Inge Olav Hauge
Tamsin Jillian Meaney


In this paper, we study computer programming in relationship to the learning of mathematics, particularly processes such as mathematical thinking and problem solving. Computational thinking and programming requires the learner to be immersed and engaged in a continuously changing, problem-solving process. In our research project, we used the graphical program Scratch, which introduces children to the principles of computer programming and computational thinking. The children worked on open problems that they constructed themselves. Interactions between children and teachers during the project were recorded and analysed. Our findings suggests information on the link between the act of computer programming, problem solving and mathematical competencies.

Article Details

Articles - Special Issue


Bell, T. R., Rosamond, F., & Casey, N. (2012). Computer Science Unplugged and related projects in math and computer science popularization. In H. L. Bodlaender, R. Downey, F. V Fomin, & D. Marx (Eds.). The multivariate algorithmic revolution and beyond: Essays dedicated to Michael R. Fellows on the occasion of his 60th Birthday, pp. 398–456. doi:10.1007/978-3-642-30891-8_18

Bruner, J. (1966). Towards a Theory of Instruction. New York, NY: Norton.

Departementenes Sikkerhets- Og Serviceorganisasjon (2015). Norges offentlige utredninger, 2015: 8. Fremtidens skole. Fornyelse av fag og kompetanser. Oslo, NO. Retrieved from

Department for Education. (2013, September 11). Statutory guidance National curriculum in England: computing programmes of study. Manchester, UK: Department for Education. Retrieved from https:// national-curriculum-in-england-computing-programmes-of-study

Euractiv. (2015, October 16). Infographic: Coding at school — How do EU countries compare? Retrieved from

Kölling, M. (2010). The Greenfoot programming environment. ACM Transactions on Computing Education (TOCE), 10(4), 14. doi:10.1145/1868358.1868361

Kunnskapsdepartementet. (2006). Kunnskapsløftet. The Norwegian Directorate for Education and Training.

Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The Scratch programming language and environment. ACM Transactions on Computing Education (TOCE), 10(4), 16. doi:10.1145/1868358.1868363

National Research Council. (2001). Adding it up: Helping children learn mathematics. J. Kilpatrick, J. Swafford, & B. Findell (Eds.). Mathematics Learning Study Committee, Center for Education, Division of Behavioral and Social Sciences and Education. Washington, DC: National Academy Press. Retrieved from

Niss, M., & Jensen, T. H. (2002). Kompetencer og matematiklæring: Idéer og inspiration til udvikling af matematikundervisning i Danmark (Vol. 18). Copenhagen, DK: Undervisningsministeriet. Retrieved from

Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., ... & Kafai, Y. (2009). Scratch: programming for all. Communications of the ACM, 52(11), 60-67. doi:10.1145/1592761.1592779

Sfard, A. (1991). On the dual nature of mathematical conceptions: Reflections on processes and objects as different sides of the same coin. Educational Studies in Mathematics, 22(1), 1-36. doi:10.1007/ BF00302715

Silcoff, S. (2016, January 18). B.C. to add computer coding to school curriculum. The Globe and Mail. Retrieved from

Tall, D. (1994, July). A Versatile Theory of Visualisation and Symbolisation in Mathematics. Paper presented at the Plenary Presentation at the Commission Internationale pour l’Étude et l’Amélioration de l’Ensignement des Mathématiques, Toulouse, FR. Utdanningsdirektoratet. (2016, Oktober 20). Læreplanverket. Retrieved from

Utdanningsdirektoratet. (2016a). Forsøkslæreplan i valgfag programmering. Retrieved from

Watson, A., & Mason, J. (2005). Mathematics as a constructive activity: Learners generating examples. (Studies in mathematical thinking and learning). Mahwah, NJ: Lawrence Erlbaum Associates Publishers.

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35. doi:10.1145/1118178.1118215

Yaroslavski, D. (2014, July). How does Lightbot teach programming? Retrieved from

Zazkis, R., & Leron, U. (1991). Capturing congruence with a turtle. Educational Studies in Mathematics, 22(3), 285-295. doi:10.1007/BF00368342