Programming education is a hot topic in many countries around the world. Also in Sweden this topic has received a lot of attention lately due to formal introduction of programming curriculum as of 2018. Mathematics is one of the subjects that is most affected by the curriculum changes as the government in Sweden has decided that teachers of mathematics are to teach programming in compulsory school in order to support problem-solving in mathematics. Albeit there are some previous research investigating questions related to how programming can enhance mathematics education, for instance in form of the seminal work of Papert through the LOGO language, more research is required that scrutinize how new programming languages, such as visual block programming languages as Scratch can be used for such purposes. It is against such a background this paper present how two teachers that together with 70 pupils in primary school and during the span of two years systematically have explored the use Scratch programming as a mean to learn mathematics. We also report on the teachers' reflections on what they perceive is learned by the pupils in relation to the didactical methods employed.

An advanced version of the game for multiplication

Figures - uploaded by Jalal Nouri

Author content

All figure content in this area was uploaded by Jalal Nouri

Content may be subject to copyright.

ResearchGate Logo

Discover the world's research

  • 20+ million members
  • 135+ million publications
  • 700k+ research projects

Join for free

Teaching and learning mathematics in primary school through

Scratch

Christer Sjöberg1 , Jalal Nouri2 , Rosmarie Sjöberg3, Eva Norén4 & Lechen

Zhang5

1,3 Strandskolan, Tyresö (SWEDEN)

2,4,5 Stockholm University (SWEDEN )

Abstract

Programming education is a hot topic in many countries around the world. Also in Sweden this topic

has received a lot of attention lately due to formal introduction of programming curriculum as of 2018.

Mathematics is one of the subjects that is most affected by the curriculum changes as the government

in Sweden has decided that teachers of mathematics are to teach programming in compulsory school

in order to support problem-solving in mathematics. Albeit there are some previous research

investigating questions related to how programming can enhance mathematics education, for instance

in form of the seminal work of Papert through the LOGO language, more research is required that

scrutinize how new visual block programming language such as Scratch can be used for mathematical

learning. It is against such a background we in this paper report on how Scratch has been used in

primary school for two years to teach mathematics. We will present four different projects that a

teacher has planned and conducted with 68 students that target four different areas of mathematics.

As such we describe the didactical strategies that was employed to help students achieve the learning

goals, and the associated challenges. We hope that the presentation can be helpful for other teachers

and researchers interested in using visual block programming languages for teaching and learning

mathematics.

Keywords: programming, mathematics, scratch, coding, computational thinking

1 INTRODUCTION

It is widely acknowledged that computer programming needs to be introduced to

young learners [1- 2] as a means to develop their computational thinking skills [3- 4] .

Therefore, many countries have updated their K-12 curriculum to embrace

programming. However, besides the increasing interest of studying programming for

its own sake, it is might also be worth to investigate programming's effect on learning

other subjects [5]. For example, the new Swedish curriculum for primary school

explicitly mentions programming within the frame of the subject of mathematics. As a

matter of fact, educational researchers started investigating how computer

programming can be used to foster mathematics learning already in the 1960s [6- 7] .

In fact, mathematical thinking is closely related to computational thinking because

"solving a mathematical problem is a process of construction that requires an analytic

problem-solving perspective, which is unique and fundamental to computer

programming" [11]. Since Seymour Papert created the LOGO programming language

in the 1960s, studies were conducted using LOGO to facilitate the learning of, for

instance, numerical magnitude and length estimation [11-13] .

As the programming tools evolves through time, more programming languages like

LOGO are made available for young learners, such as Scratch, Blockly, AppInventor,

etc. The design of Scratch, by MIT Media Lab, is especially intended for

programmers younger than 16. The "low floor, high ceilings and wide walls" makes

Scratch a popular programming environment [1 4]. Some previous studies have

indicated the potential of Scratch in facilitating mathematics education. The review of

[7] showed that during the process of developing CT skills through programming,

pupils incidentally or intentionally learned mathematics such as numbers, operation,

algebra, functions etc. Another aspect of choosing Scratch is that:

"The focus of Scratch is on making multimedia products, and sharing them in the large

and active online community hosted by the project website. This is intended to enable and

develop children's creativity, but also to introduce them to programming, in a fun way" [8,

p. 2]

In Scratch, the program is written by fitting "blocks" together. Thus, the programming

language is a visual language [8 ]. Scratch can also be used to design games, games

that can develop young students' mathematical skills and concepts [9].

It is against such a background we in this paper report on how Scratch has been

used in primary school for two years to teach mathematics. We will present four

different projects that a teacher has planned and conducted with 68 students that

target four different areas of mathematics. The guiding research question has been:

What didactical strategies are teachers using to integrate programming into

mathematics education?

2 METHODOLOGY

Two of the authors, teachers in primary school, started two years ago to work with

programming in several classes at their school. They had very limited personal

experience of programming but decided that they would try to learn with their

students by choosing Scratch as programming tool.

In this article, we describe how the work has progressed to today. We describe

the didactic choices they made, how they gradually discovered new features in

Scratch that connect to the existing teaching of mathematics, and the results

achieved from the two years of work. Four areas of mathematics have been worked

with, namely:

Multiplication

The Clock (expressing time)

Smart mental calculation

Conversion between temperature scales

2.1 Participants: students and teachers

The teacher has worked with three classes with about 25 students in each. Because

some students have left the school, and some have been added during the period,

we have chosen to look at the results of the students that have been working with all

four projects, which are 68 students.

The participating teachers are Christer Sjöberg, teacher of mathematics, and

Rosmarie Sjöberg, ICT manager at Strandskolan. Christer Sjöberg has performed

the concrete work with students while Rosmarie Sjöberg has attended parts of the

planning, monitoring and analysis.

The students had some minor experiences with Scratch through a former teacher

at the end of year 3 and were familiar with the program when they started in year 4 in

August 2016. The project described is carried out from September 2016 to April

2018.

3 RESULTS

In the following, four projects will be presented. Each project has started with that

students have been given an example of a simple code to start from which have

been first explored and discussed collectively with the support of the teacher and

through the use of a projector on a white board [8]. After that, students have been

given the instruction to reproduce the code with personal additions. Complexity

increased with time. In the beginning the students received instructions to create and

change graphics, such as switching to an own background. Gradually, whole

programs were changed and improved.

3.1 Project 1: Multiplication

Regarding number, a goal for school year 4-6 is to be able to use "central methods

for calculations with natural numbers /…/, main statement and calculations using

written methods and calculator. And how methods can be used in different situations"

[10 , p. 57 ]. Learning the multiplication tables in various ways is part of this. The task

given to the students early in year 4, was to reproduce code and make additional

tests of other numbers in the multiplication tables. As both the teachers and the

students were quite unfamiliar with programming, this first project was to make a

fairly simple program with a conditional statement. The code that the students could

work with looked like this:

Figure 1. Scratch code for multiplication

Pretty soon students asked for more features because they thought that the program

did not meet the requirements for a good program to train multiplication. They

suggested for example that the program should specify the number of correct

answers and that a timer was added in order to make the game more fun and

challenging. In order to address that wish, we were forced to introduce, explore and

learn the variable concept together. As a result, a new template was constructed that

integrated the variable concept.

In the template, we have also added the feature "costumes" that allows the sprite to

change the look using the previously set conditions, i.e. look happy when a right

answer is provided (see code and outcome in figure 2).

Figure 2. An advanced version of the game for multiplication

A reflection after the first project was that students learned to program incredibly

quickly and helped each other when they encountered problems and challenges.

Working with multiplication tables was something the teachers would have done with

or without programming, but this this was really shown to be just another engaging

way to do it.

Another reflection was that many students identified the problems that needed to

be solved (for instance the above example of scoring) and the programming activities

created the opportunities to practically discover how programming can be used as a

tool to solve problems and improve students' digital literacy.

3.2 Project 2: The clock

Being able to express and measure time is a central content of the curriculum in

mathematics for grades 4-6. In year 4 many students are still unsure of how to

express time, especially in analog ways. Therefore, in this project, students explored

digital and analogue clocks through programming.

The activities started with that students received a template as in the previous

project. However, in this project students were given different templates based on

their prior knowledge of the clock. Those that were confident in reading the clock

received more the more challenging task to make applications where time was

specified using Roman numerals or with symbols of a 12-hour clock (i.e. am and pm).

In the programmed applications the students had to work with the following:

Figure out the time difference between two analogue time intervals

Figure out the time difference between two digital time intervals

Switch between analogue and digital time formats

Figure out the time difference between two time intervals with Roman

numerals

Enter the time with 12-hour time format

In this project, we tested the Scratch concept messaging. We used the concept to

replace clock-faces and to build applications that used multiple clock faces after each

other. The template included two clock faces, but the students were encouraged to

implement more.

As each clock-face corresponds to a sprite the students needed to program the

code of each of these. Below is the code for the sprites and an example of how it

looks for the user when the program starts.

Figure 3. A student application to express time

Although programming and training of the clock were in the focus, it turned out that

something else perhaps was the biggest win of this project, namely the concrete

work with copyright.

As these particular students have the habit to publish much of their material on a

class blog, they have learned to be careful what pictures they use and it proved very

difficult to find clock-faces that they were allowed to download and add to their

applications. The students solved this by drawing own clock-faces (see figure 3) on

paper that were later scanned and digitalized for all to access and use. By doing this,

the students were able to put out programs on the blog without violating copyright. A

collective discussion was also done about if the students wanted others to be able to

use the pictures. In the end, all material on the blog was labelled with a Creative

Commons license. This is an example of how a programming activity within the

subject of mathematics can entail enhancement of general digital competences.

3.3 Project 3: Mental arithmetic

A curricular goal already in school year 3 was to be able to do mental calculations.

This ability is supposed to be developed through the school years. When the

students have gained knowledge about multiplication and division tables, it is

important to make use of the knowledge in other contexts [10 , p. 57]. The following

project was called "mental arithmetic," and it can entail being able to take the step

from figuring out 3 · 8 = 24 to understand the reverse 24/8 = 3 followed by the

challenge to figure out 24 000/8 = 3 000.

Templates were created for a number of mental arithmetic methods and the

students were divided into groups (4-5 students in each group). Each group was

responsible for a mental calculation method and the task was to make a program in

Scratch. Everything was posted on the class blog so students could learn and

practice using the other groups programs.

In the following we present an example of the method to calculate the division of

large numbers. The following code was provided to the students as a template:

Figure 4. A template for mental calculation of large number division

Although this type of activity helps the students to understand numbers that can be

divided easily, a disadvantage of the program as it appears in the template may be

that it is always the same divisions and the same order is that the students quickly

learn the answers by heart.

In order to solve this challenge, some students started to reflect upon and talk

about how to construct a more open program that randomize numbers that can be

evenly divided, which from our perspective is a productive mathematical reflection

(problem-solving activity). With the support of the teacher and talented parents, a

new template was produced (see figure 5).

Figure 5. A program for mental calculation that randomize numbers for the division

Most students worked with the first template, but those that worked with the later got

an opportunity to work with and create an understanding of random numbers and a

more advanced problem-solving approach. This is a good example of how Scratch

support students to work individually on different levels.

3.4 Project 4: Temperature conversion

By the end of school year 6 students should be able to use scale in every-day

situations [9. p. 58]. The theme of this fourth project was the n decided to be on

conversion between different temperature scales. As before, students were given

different templates in Scratch and they were free to choose any of the following

conversions (or combinations of):

Celsius to Fahrenheit

Fahrenheit to Celsius

Celsius to Kelvin

Kelvin to Celsius

The teacher chose not to have students convert between Fahrenheit and Celsius,

because it is rarely useful in Sweden. The different calculation methods were

collectively discussed before the programming activity. The different templates

looked pretty much the same for the four different programs. In the following we

present the program which convert Celsius to Fahrenheit.

Figure 6. A scratch program for converting Celsius to Fahrenheit

Something that very early caught many students' interest was that it can not actually

be colder than -237 . There we took advantage of and created a conditional

statement that took into account if you accidentally enter a temperature lower than -

237 . For those students who were advanced in their programming skills this

program was not challenging enough. Therefore, those students were given the

instruction to change the background depending on the chosen temperature (for

example a high temperature generates a desert background and a low temperature a

winter landscape).

4 DISCUSSION

In the four programming projects described in this paper, the mathematical content

could have been elaborated on in other ways. The content, multiplication, expressing

time, scale and arithmetic computations are typical curricular objectives, with goals

for students this age, described in the national curriculum. We have described the

didactical strategies that the teachers employed in the four projects to help students

achieve the learning goals, and the associated challenges. The didactical strategies

are closely linked to the possibilities of Scratch, like the possibility to reproduce code .

According to the teachers involved in the projects, this strategy makes different

students work on different levels. Some students copy code; others develop their

own. This can be seen as a challenge for the teachers, to choose activities on

different levels. Up until today the starting points for the students have mostly been

the same in, at least these four the projects, but in the second project, on expressing

time, the students were given different templates. A future challenge is also to be

able to assess the programming skills and digital literacy as well as the mathematical

skills the students are developing.

Scratch's visual language for programming is in earlier studies said to support young

students to develop programming skills. One of the main advantages is the

enjoyability, in contrast to frustration and anxiety [8]. The four projects presented in

this paper have shown the same. Not just to programme, but also an enjoyable and

engaging way to exercise multiplication, for example. The strategy here was to

design a game. This is common when using Scratch, in this paper the game were

constructed to develop young students' multiplication skills and concepts [9]. Another

gain with the programming activities was that students beside learning more about

how to express time, also learned to be careful with how to handle copy right.

Another didactical strategy used, consciously or unconsciously, is that students can

help each other when they encounter problems and challenges. In the third project,

there was also a "talented parent" involved. It seems like collaborative work of

various kinds occur in the programming situations themselves. The Scratch blog

appears to encourage students to do their own findings. To use the blog can be seen

as one more didactical strategy.

We believe that the presentation of the four projects and the didactical strategies

chosen by the teachers can be helpful for other teachers and researchers interested

in using visual block programming languages for teaching and learning mathematics.

REFERENCES

[1] Duncan, C., Bell, T., & Tanimoto, S. (2014, November). Should your 8-year-old learn coding?.

In Proceedings of the 9th Workshop in Primary and Secondary Computing Education (pp. 60-

69). ACM.

[2] Wi lliams, C., Alafghani, E., Daley, A., Gregory, K., & Rydzewski, M. (2015, October). Teaching

programming concepts to elementary students. In Frontiers in Education Conference (FIE),

2015 IEEE (pp. 1- 9). IEEE.

[3] Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: what is Involved

and what is the role of the computer science education community?. Acm Inroads, 2(1), 48- 54.

[4] Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A., Engelhardt, K., Kampylis, P., & Punie, Y.

(2016). Developing computational thinking in compulsory education. European Commission,

JRC Science for Policy Report.

[5] Benton, L., Hoyles, C., Kalas, I., & Noss, R. (2017). Bridging primary programming and

mathematics: Some findings of design research in England. Digital Experiences in Mathematics

Education, 3(2), 115- 138.

[6] Calao, L. A., Moreno-León, J., Correa, H. E., & Robles, G. (2015). Developing mathematical

thinking with scratch. In Design for teaching and learning in a networked world (pp. 17-27).

Springer, Cham.Department for Education, "National curriculum in England: Computing

programmes of study," 2013.

[7] Hickmott, D., Prieto-Rodriguez, E., & Holmes, K. (2017). A Scoping Review of Studies on

Computational Thinking in K12 Mathematics Classrooms. Digital Experiences in Mathematics

Education, 1-22.

[8] Wilson, A., & Moffat, D. C. (2010). Evaluating Scratch to introduce younger schoolchildren to

programming. Proceedings of the 22nd Annual Psychology of Programming Interest Group

(Universidad Carlos III de Madrid, Leganés, Spain.

[9] Calder, N. (2010). Using Scratch: An Integrated Problem-Solving Approach to Mathematical

Thinking. Australian Primary Mathematics Classroom, 15 (4), 9-14.

[10] Skolverket [National Agency for Education]. (2011). Läroplan för grundskolan Läroplan för

grundskolan, förskoleklassen och fritidshemmet 2011. Revised 2016. Stockholm: Skolverket.

[11] Sung, W., Ahn, J., & Black, J. B. (2017). Introducing Computational Thinking to Young

Learners: Practicing Computational Perspectives Through Embodiment in Mathematics

Education. Technology, Knowledge and Learning, 22(3), 443- 463.

[12] Clements, D. H., & Battista, M. T. (1989). Learning of geometric concepts in a Logo

environment. Journal for Research in Mathematics Education , 450- 467.

[13] Robinson, M. A., Gilley, W. F., & Uhlig, G. E. (1988). The effects of guided discovery LOGO on

SAT performance of first grade students. Education, 109(2).

[14] Portelance, D. J., Strawhacker, A. L., & Bers, M. U. (2016). Constructing the ScratchJr

programming language in the early childhood classroom. International Journal of Technology

and Design Education, 26(4), 489- 504.

... Liksom Storbritannienär programmering ett obligatorisktämne i Finland varpå den första läroplanen i Finland färdigställdes 2014 men som började träda i kraft 2016 (Toikkanen & Leinonen 2017). I Estland exponeras eleverna för programmering och problemlösning i tidigålder i syfte att långsiktigt kompensera för underskottet av programmerare som landet har i nuläget (Sjöberg, Nouri, Sjöberg, Norén & Zhang 2018). Mannila, Settle, Dagiene, Demo, Grgurina, Mirolo & Rolandsson (2014) anser att digital kompetens som omfattar DT och programmering borde vara en central del av en läroplan. ...

... Introduktionen av programmering inom K-12 i England visar att det tar tid att bygga upp kompetensen som krävs för att effektivt kunna undervisa programmering samt främja datalogiskt tänkande (Bateman 2015). Sjöberg et al. (2018) visar i sin studie att många lärare i det svenska skolväsendet saknar tillräcklig kompetens inom området. Forskningsproblemet som denna uppsats behandlar, berör avsaknaden av kunskap kring de didaktiska val grundskollärare med liten erfarenhet av programmering och begränsade kunskaper i programmeringens didaktik gör i deras försök att integrera programmering iämnesundervisningen. ...

Programming has been introduced in the subject teaching in the Swedish elementary school. There is a clear lack of research on how programming is taught in elementary school and which didactic methods and programming languages teachers use. Our study focuses on studying which didactic approaches teachers use when teaching programming. The study is a case study that focuses on lessons that have been planned and performed by teachers during the spring term 2019 within the framework of the Swedish research and development project Programmering i ̈amnesundervisningen. Document analysis is used to study the docu- mentation produced by teachers whom participated in the research project. The documentation is analyzed through thematic analysis where the coding has been performed deductively. The results have identified four types of programming: Analog programming which is used to introduce programming concepts in a more abstract way that does not require any prior knowledge of programming. Robot programming used in K-3 to teach step by step instructions. Block programming that is specially developed for teaching and occurs in all grades. Finally, traditional text-based programming used in 7-9. The study shows that teachers in many cases can use the same didactic tools they used in other subjects. The study also shows that there are didactic methods teachers can use to facilitate the teaching of programming. Keywords: Programming, didactics, education, remixing

... In the Swedish context, there is little research on programming in the mathematics subject in elementary school. One study [21], described how Scratch could be used in Year 4-6 to support the learning of multiplication. Another study [22] reported on a crossdisciplinary activity with Scratch in middle school, focusing on the mathematical concepts of percent and pie charts. ...

The association between mathematics and programming in an educational context is not new. Today, programming has been introduced into curricula worldwide for younger children. In the Swedish case, primary school teachers are expected to integrate programming in mathematics education from autumn 2018. However, Swedish teachers' knowledge of programming and programming didactics is limited. Meanwhile, there is little research on K-9 programming education. This has led to the dilemma that the mathematics teachers have limited support in didactic knowledge and good examples. This study reports on a teacher professional development project in programming. More specifically, teachers used Lesson Study to plan, execute, and evaluate lessons that integrated programming into various school subjects in elementary school. This study analyzed the didactic strategies developed in 10 lesson studies, as well as mapped the opportunities and challenges of pupils' learning in the mathematics subject. The result was the identification of three didactic strategies, which were analog programming, robot programming and block programming, as well as 11 didactic methods applied within these strategies. The paper contributes with examples of the didactic methods that teachers have developed and evaluated using lesson study. The paper further provides insights on how teachers can take progression into account by applying the three didactic strategies. At last but not least, the study shows a great need for teachers to develop computational thinking abilities.

... Using Scratch was engaging for the pupils. We can also conclude that the didactical strategy of letting the pupils use predefined code and remix it was beneficial, in line with previous research (see [8] and [9]). By remixing, instead of building everything from scratch, it was possible for all pupils to reach the goals of the lesson in time. ...

Computational thinking has been introduced in many countries around the world and teachers are working intensely to incorporate programming activities in the classroom. However, teachers are faced with several challenges due to the fact that there is still little research conducted focusing on programming education for younger children, that programming didactics is a rather new phenomenon for the K-9 educational system, and that K-9 teachers have little training with regards to programming. In Sweden for instance, programming has been introduced in several subjects and not as a subject in its own, which create a pressure on teachers to utilize programming as an instrument to teach and enhance learning of different subjects such as mathematics. In this paper, we report on a larger lesson study conducted in a primary school (grade 6) in Sweden with a total of 155 participating pupils. The aim of the developed lesson was to study if visual programming languages, in this case Scratch, can be used to teach computational thinking, mathematics and social science in an interdisciplinary way. Thus, the paper more specifically presents findings related to: 1) reflections of the use of lesson study methodology to develop programming education; 2) how programming can be utilized as an instrument to teach mathematics as well as social sciences in an interdisciplinary way; 3) the didactical strategies employed by the teachers.

... For example, already in preschool children are introduced to programming by use of both analog and digital strategies (Chibas et al., 2018). Another study (Sjöberg et al., 2018), presented how two teachers systematically explored the use Scratch programming as a means to teach mathematics to 70 pupils in a primary school during two years. Soon, a wave of documents, teacher support courses, materials, educational offers by municipalities and national actors have been set in action. ...

  • John Nikolaros John Nikolaros
  • Ann Marie Johnson

Problem based learning is a type of pedagogy where students use applied problems to acquire understanding of subject matter material and improve learning skills. As opposed to traditional teaching methods, Problem based learning involves an active learning approach that is student centered. Although Problem based learning was initially conceived to improve education for medical students by having then use the information they learned to diagnose an illness, Problem based learning has been found to be an effective pedagogical method across fields and levels of education. The questions we research in this paper are: Is Problem based learning effective in the subject of reading and is Problem based learning effective for special needs students. This paper examines the results of fourth grade level STAR tests for special needs students in the subject of reading. The study contrasts the scores (including several indicators of improvement) of students who were taught with Problem based learning as opposed to students who were not.

... For example, already in preschool children are introduced to programming by use of both analog and digital strategies (Chibas et al., 2018). Another study (Sjöberg et al., 2018), presented how two teachers systematically explored the use Scratch programming as a means to teach mathematics to 70 pupils in a primary school during two years. Soon, a wave of documents, teacher support courses, materials, educational offers by municipalities and national actors have been set in action. ...

As the popularity of "Computational Thinking" expands in the education realm, more and more studies have been conducted to investigate the effect of using visual programming languages, such as Scratch, to teach computational thinking. This paper provides an overview of the teaching strategies that were implemented in research studies that aimed at fostering computational thinking through Scratch in compulsory education. To do this, we examined 46 empirical studies. The analysis of these studies has led to the identification of two approaches in teaching programming through Scratch: student-centered and mixed-instruction. In the paper, we present different enactments of the two broad teaching approaches and discuss the implications of these.

STEM major students often enter colleges with a need to strengthen their foundational mathematics, such as trigonometry. We designed an innovative undergraduate course that aims to strengthen students' trigonometry knowledge application through programming mobile apps. We explored how students applied trigonometry concepts in developing their mobile apps and their overall experiences in this course. We found that the student-developed mobile apps included some combination of the following categories: quiz, game, and review guide for trigonometry learning, while trigonometry was applied in the mobile apps' codes and/or in the apps' content. Overall, students were very positive about their experiences of reviewing, revisiting, and utilizing trigonometry through programming mobile apps. The results suggest that the innovative curricular approach is promising in motivating students to apply foundational mathematics while solving design problems.

Since the 1960s, a few, yet very influential, educational researchers have investigated how computer programming can be used to foster mathematics learning. However, since the term 'computational thinking' was popularised by Jeannette Wing in 2006, the number of studies in this area has grown substantially. In this article, we present a systematic analysis of literature linking mathematics education to computational thinking in an attempt to quantify the breadth and depth of existing work in the area. Our analysis indicates that many studies: (1) originate from computer science academics rather than education experts; (2) involve mathematics but mainly concentrate on teaching programming skills; (3) present small-scale research designs on self-reported attitudes or beliefs; (4) rarely deal with concepts in mathematical domain areas such as probability, statistics, measurement or functions. Thus, we conclude that there are opportunities for rigorous research designs reporting on observable learning outcomes, explicitly targeting mathematics, conducted by multidisciplinary teams, and focusing on less-explored domain areas. We believe that these opportunities should be investigated, in order to provide a broader evidence base for developing meaningful digital learning experiences in mathematics for school-aged children.

A science, technology, engineering, and mathematics-influenced classroom requires learning activities that provide hands-on experiences with technological tools to encourage problem-solving skills (Brophy et al. in J Eng Educ 97(3):369–387, 2008; Mataric´ et al. in AAAI spring symposium on robots and robot venues: resources for AI education, pp 99–102, 2007). The study aimed to bring computational thinking, an applicable skill set in computer science, into existing mathematics and programming education in elementary classrooms. An essential component of computational thinking is the ability to think like a computer scientist when confronted with a problem (Grover and Pea in Educ Res 42(1):38–43. doi:10.3102/0013189X12463051, 2013). Computational perspectives (Berland and Wilensky in J Sci Educ Technol 24(5):628–647. doi:10.1007/ s10956-015-9552-x, 2015) refer to the frame of reference programmers or computer scientists adopt when approaching a problem. The study examined the effects of taking computational perspectives through various degrees of embodied activities (i.e., full vs. low) on students' achievement in mathematics and programming. The study employed a 2 (full vs. low embodiment) * 2 (with vs. without computational perspective taking) factorial condition to evaluate four learning conditions from a combination of embodiment and computational perspective-taking practice. The results from this experimental study (N = 66 kindergarten and first graders) suggest that full-embody activities combined with the practice of computational perspective-taking in solving mathematics problem improved mathematics understanding and programming skills as demonstrated in Scrath Jr. among novice young learners. Moreover, the practice of using a computational perspective significantly improved students' understanding of core programming concepts regardless of the level of embodiment. The article includes recommendations for how to make the computational thinking process more concrete and relevant within the context of a standard curriculum, particularly mathematics.

In this paper we present the background, aims and methodology of the ScratchMaths (SM) project, which has designed curriculum materials and professional development (PD) to support mathematical learning through programming for pupils aged between 9 and 11 years. The project was framed by the particular context of computing in the English education system alongside the long history of research and development in programming and mathematics. In this paper, we present a "framework for action" (diSessa and Cobb 2004) following design research that looked to develop an evidence-based curriculum intervention around carefully chosen mathematical and computational concepts. As a first step in teasing out factors for successful implementation and addressing any gap between our design intentions and teacher delivery, we focus on two key foundational concepts within the SM curriculum: the concept of algorithm and of 360-degree total turn. We found that our intervention as a whole enabled teachers with different backgrounds and levels of confidence to tailor the delivery of the SM in ways that can make these challenging concepts more accessible for both themselves and their pupils.

In the past decade, Computational Thinking (CT) and related concepts (e.g. coding, programing, algorithmic thinking) have received increasing attention in the educational field. This has given rise to a large amount of academic and grey literature, and also numerous public and private implementation initiatives. Despite this widespread interest, successful CT integration in compulsory education still faces unresolved issues and challenges. This report provides a comprehensive overview of CT skills for schoolchildren, encompassing recent research findings and initiatives at grassroots and policy levels. It also offers a better understanding of the core concepts and attributes of CT and its potential for compulsory education. The study adopts a mostly qualitative approach that comprises extensive desk research, a survey of Ministries of Education and semi-structured interviews, which provide insights from experts, practitioners and policy makers. The report discusses the most significant CT developments for compulsory education in Europe and provides a comprehensive synthesis of evidence, including implications for policy and practice.

This paper seeks to contribute to the growing literature on children and computer programming by focusing on a programming language for children in Kindergarten through second grade. Sixty-two students were exposed to a 6-week curriculum using ScartchJr. They learned foundational programming concepts and applied those concepts to create personally meaningful projects using the ScratchJr programming app. This paper addresses the following research question: Which ScratchJr programming blocks do young children choose to use in their own projects after they have learned them all through a tailored programming curriculum? Data was collected in the form of the students' combined 977 projects, and analyzed for patterns and differences across grades. This paper summarizes findings and suggests potential directions for future research. Implications for the use of ScratchJr as an introductory programming language for young children are also discussed.

To investigate the effects of computer programming in Logo on specific geometric conceptualizations of primary grade children, 48 third graders were randomly assigned to either a Logo or a control group. The Logo group was given 26 weeks of instruction in a Logo environment. The children were then interviewed to ascertain their conceptualizations of angles, shapes, and motions. In both groups children's notions of angle and angle measure were multifaceted and included a number of misconceptions, although performance was uniformly higher for the Logo group. The Logo children were more aware than the control children of the components of geometric shapes and were more likely to conceptualize geometric objects in terms of the actions or procedures used to construct them.

  • Valerie Barr Valerie Barr
  • Chris Stephenson

The process of increasing student exposure to computational thinking in K-12 is complex, requiring systemic change, teacher engagement, and development of signifi cant resources. Collaboration with the computer science education community is vital to this effort.

  • Chad Williams
  • Emtethal Alafghani
  • Antony Elisha Daley Antony Elisha Daley
  • Marianella Rydzewski

Educators and parents alike are seeking innovative ways to introduce young students to computer programming. The hope is to capture children's attention and foster learning at the same time. The goal of this work was to not only introduce elementary students to the fundamentals of computer programming, but also help them explore more complex concepts in an engaging way. Studies have shown that factors that inspire children's continued interest can sometimes vary by gender at this age; this work specifically addresses how to incorporate elements that will appeal to these potential differences in motivation. This study describes the design and implementation of a computer microworld game designed to introduce the core constructs and techniques of computer programming. By instructing a virtual robot to complete obstacle courses, students become familiar with core programming concepts such as: algorithms, repetition, conditional logic, debugging, functions, and optimization. We conducted several interactive sessions with a group of elementary school students in order to evaluate the effectiveness of the game. Our results showed the game effectively familiarized students with both computer language constructs and the essentials of algorithmic thinking. Students were quickly able to learn core-programming concepts and apply these concepts to free form solutions.

There has been considerable interest in teaching "coding" to primary school aged students, and many creative "Initial Learning Environments" (ILEs) have been released to encourage this. Announcements and commentaries about such developments can polarise opinions, with some calling for widespread teaching of coding, while others see it as too soon to have students learning industry-specific skills. It is not always clear what is meant by teaching coding (which is often used as a synonym for programming), and what the benefits and costs of this are. Here we explore the meaning and potential impact of learning coding/programming for younger students. We collect the arguments for and against learning coding at a young age, and review the initiatives that have been developed to achieve this (including new languages, school curricula, and teaching resources). This leads to a set of criteria around the value of teaching young people to code, to inform curriculum designers, teachers and parents. The age at which coding should be taught can depend on many factors, including the learning tools used, context, teacher training and confidence, culture, specific skills taught, how engaging an ILE is, how much it lets students explore concepts for themselves, and whether opportunities exist to continue learning after an early introduction.

Developing mathematical thinking with scratch

  • L A Calao
  • J Moreno-León
  • H E Correa
  • G Robles

Calao, L. A., Moreno-León, J., Correa, H. E., & Robles, G. (2015). Developing mathematical thinking with scratch. In Design for teaching and learning in a networked world (pp. 17-27).