Designing for the incorporation of programming in mathematical education : Programming as an instrument for mathematical problem solving

Abstract: This study explored Swedish upper secondary school students’ use of programming for mathematical purposes. The aim of the study was to investigate the process through which students learn how to use a programming environment as a technical artefact during mathematical problem solving and how the orchestration of such learning situations could facilitate this process. In order to study the students’ use of the programming environment, design-based research was used as the main methodological approach. The design involved the development of specific mathematical tasks to be tried out with students, as well as the orchestration of the learning situation within the classroom e.g., by preparing scaffolding to be offered to the students. The subsequent implementation of the design was analysed so that, in accordance with the cyclic approach of design-based research, it could be revised ahead of the following design cycle. The study involved two complete design cycles. In the study, the Instrumental Approach was used as the theoretical framework and the instrumental genesis of the students in using a programming environment for mathematical purposes was thus of special interest. In order to analyse this process and the associated mental schemes developed by the students, Vergnaud’s concept of scheme served as an analytical framework. The findings revealed how the students, despite having basic knowledge in programming, experienced several difficulties when trying to use the programming environment as a technical mathematical artefact. These difficulties were related both to the fact that the mathematical affordances offered by the programming environment were unclear to many of the students, as well as to the handling of more specific computational concepts such as nested loops. The findings also revealed that the transformation of mathematical notations and ideas into programming code caused students difficulties.