Figure 1 - uploaded by Andreas Borg

Content may be subject to copyright.

# A schematic overview of the essential concepts within the Instrumental Approach and its relationship to the analytical framework used within this study.

Source publication

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 mathemati-cal problem solving and how the orchestration of such learning situ-ations could fac...

## Contexts in source publication

**Context 1**

... it should be stressed that although the concept of schemes unites the conceptual and analytical framework, the theories behind the two frameworks have largely evolved independently of each other. Figure 1 provides a schematic overview of the important concepts involved in each of the two frameworks and the interrelationships between these concepts. ...

**Context 2**

... Anne and Bill exclude the BREAK command and instead complete a full test of all possible combinations (within the given boundaries) which is shown in their code presented in Figure 10. When Anne and Bill then test their program, they become a little surprised. ...

**Context 3**

... is not until they chose to print all three ages that the students realise that one of the solutions contains a combination of ages where two of the sisters have the same age. Due to its perceived incongruity, Anne and Bill change the condition for the initial value of k (changed from 0 to 1) in the condition of the inner loop (line 16 in Figure 10). It could be argued that this action contributes to the strengthening of the concept-in-action regarding the idea of using conditions within loops and conditional operators in order to extract solutions within a given range (CiA-LC3). ...

**Context 4**

... solving the first problem, Anne and Bill read the second problem in which Fuxia no longer needs to be the mid sister. They quickly realise that without the condition stating that Fuxia is the mid sister, they only need to change the conditions of the inner loop (line 16 in Figure 10) so that it runs for values of f between 0 and 100. ...

**Context 5**

... 25 minutes into the lesson, the researcher asked two students (sherpastudent 5 and sherpa-student 6) to show and describe their stated mathematical relationship to the rest of the class. The sherpa-students showed the relationship (line 7 in Figure 11) to the rest of the students by sharing their screen. During this presentation it could be argued that the sherpa-students introduced a rule of action which could be described as modelling the situation in algebraic terms. ...

**Context 6**

... time they were asked to show how they had used nested loops in order to systematically vary the values of the variables. The researcher specifically asked the students to remove the conditions within the declaration of the IF statement (see Figure 12) so as not to reveal the complete solution to the rest of the students. The code which the third pair of sherpa-students showed to the rest of the class. ...

**Context 7**

... outer loop within the program presented by the third pair of sherpastudents ( Figure 12) controls the variable a, denoting the age of Cinderella, which can take values from 0 to 999. The inner loop controls the variable f, denoting the age of Fuxia, which also can take values from 0 to 999. ...

**Context 8**

... algebraic difficulties which arose when trying to solve the equation together with the presentation made by the first pair of sherpa-students meant that Ian and Jacob abandoned their initial ideas about how to solve the first problem. Instead, they started coding using the programming environment which is illustrated by the following conversation in which Ian and Jacob, after the presentation made by the first pair of sherpa-students, reflect on their problem-solving strategy: The code shown in Figure 13 illustrates how the students used the mathematical statement (line 12) for the amount of lost gold coins presented by the first pair of sherpa-students in order to construct a semiautomated program which were able to search for solutions based on a specific value of the variable a (denoting the age of Cinderella). In line 9 in Figure 13, f (the age of Fuxia) is given the value a + 2 but the calculation of f was then manually altered by increasing the term added to a by one each time the program was run. ...

**Context 9**

... they started coding using the programming environment which is illustrated by the following conversation in which Ian and Jacob, after the presentation made by the first pair of sherpa-students, reflect on their problem-solving strategy: The code shown in Figure 13 illustrates how the students used the mathematical statement (line 12) for the amount of lost gold coins presented by the first pair of sherpa-students in order to construct a semiautomated program which were able to search for solutions based on a specific value of the variable a (denoting the age of Cinderella). In line 9 in Figure 13, f (the age of Fuxia) is given the value a + 2 but the calculation of f was then manually altered by increasing the term added to a by one each time the program was run. The FOR loop in line 11-17 is controlled by the variable a. ...

**Context 10**

... Karim and Liam seem to regard the presentation made by the second pair of sherpa-students as a confirmation that they are using a viable problem-solving strategy and the students then continue to program using NetBeans. Figure 14 shows the code generated by the students prior to the presentation by the third pair of sherpa-students. The FOR loop controls the variable x referring to the age of Cinderella, the value of which is used to assign the variable y, referring to the age of Fuxia, a new value on each iteration. ...

**Context 11**

... therefore deleted some statements within the code related to the conditions of the second problem. But before they changed the conditions within their single loop, they ran the program in which the FOR loop (see Figure 16) The previous conversation reveals how the students notice that the program, in which the range of x is different compared to the first version, now generates four solutions. However, Karim realises that there exist solutions in which Fuxia (the mid sister) is older than Begonia. ...

**Context 12**

... Karim realises that there exist solutions in which Fuxia (the mid sister) is older than Begonia. Consequently, Karim adds another conditional statement (line 20 in Figure 16). When executing the program again, it generates only two solutions. ...

**Context 13**

... consequently changes the initial value of x within the condition of the loop (line 14 in Figure 16) from 0 to 10 in order for their program to only generate the single solution given by the students' initial program. ...

**Context 14**

... Karim: These three feels like they can be reasonable. Figure 17 shows which of the solutions that Karim highlights in NetBeans and views as reasonable. What is notable is that both students now regard the solution in which Cinderella (Askungen in Swedish) is 8 years old as plausible which they did not when solving the first problem. ...

**Context 15**

... they return to the mathematical relationships. Figure 18 shows the relationships stated by the pair at this stage 5 . The first relationship in line 9 concerns the product of the three ages at the time of Cinderella's wish where a represent the age of Cinderella (Askungen in Swedish), f the age of Fuxia, and x the product. ...

**Context 16**

... now suggests that they should try to simplify the relationship stated in line 10 ( Figure 18). ...

**Context 17**

... stating mathematical relationships, Christian and David start using the programming environment (the artefact) NetBeans and begin their work by declaring variables and assigning these variables values if necessary. Then the pair creates a single loop involving three variables corresponding to the age of each sister ( Figure 19). The variable driving the loop is As (the age of Cinderella), initialised as 0, and, at the start of each iteration, increased by 1. ...

**Context 18**

... interest in programming and his prior use of brute force to solve similar problems, indicates that he possesses an already pre-existing instrumented action scheme to which he straightforwardly manages to assimilate this new situation. Their further developed scheme also involves a vital concept-in-action (CiA-LC3) related to the use of conditions within the IF statement to test if the calculated value of Fu takes integer values (line 12 in Figure 19). The deficiency of the program is not related to the use of the artefact but concerns the mathematical relationships stated by the students. ...

**Context 19**

... is 20 years old. Figure 21 illustrate the first version of George's and Henrik's program. In accordance with Henrik's last comment, the pair assigns a (the age of Cinderella) the value 20. ...

**Context 20**

... and Henrik, as well as Ian and Jacob experienced such difficulties when nesting the two loops. In George's and Henrik's initial program, using a single loop (Figure 21), the conditions within the statement of the loop were specific in such a way that if the value of a was altered, the students also were required to adjust conditions within the statement of the loop. When George and Henrik added the outer loop controlling the variable a they did not manage to adjust these conditions within the statement of the inner loop correctly which according to Ginat (2004) is a common difficulty experienced by novice programmers. ...

**Context 21**

... difficulties arose for the students Emilia and Fredrik (DC1) who initially spent much time trying to simplify their stated mathematical relationships. But when the algebraic manipulations of the relationships were not regarded as successful Fredrik says: Stating a mathematical equation inside the code (line 14 in Figure 31) in the way Emilia and Fredrik did is not compatible with the meaning of the equal sign in programming where a single equal sign is used to assign, for instance, a variable a specific value and not to represent a mathematical equality. Consequently, NetBeans, which gives instant feedback to the user via error messages occurring in front of the lines in which the errors take place, indicates an error. ...

## Citations

... Nevertheless, it is not enough to know basic programming to be able to use programming in a mathematical context. In one study it was found that upper secondary school pupils with basic knowledge in Java programming experienced difficulties when using programming as a technical artifact to solve mathematical problems (Borg, 2021). These pupils had difficulties in translating mathematical ideas into programming code. ...

Programming is now a prescribed part of the curriculum in mathematics in both primary and secondary school in Sweden, as in many other countries. Teacher training must thus prepare students for the challenges of teaching mathematics with programming. We explore how student teachers see their own training in programming in relation to mathematics and what opportunities to learn mathematics they believe that programming can offer pupils in school. An instrumental approach is used to analyse observations and a questionnaire on secondary school student teacher' experience of a programming lab, where they investigate Riemann sums with programming. We find that students feel challenged by both the programming and the mathematical content, and that they see the challenges as useful, both for themselves and for their future pupils.