You are on page 1of 17

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/332236388

Evaluating a course for teaching introductory programming with Scratch to


pre-service kindergarten teachers

Article in International Journal of Technology Enhanced Learning · January 2019


DOI: 10.1504/IJTEL.2019.10020447

CITATIONS READS

21 3,298

2 authors:

Michail Kalogiannakis Stamatios J Papadakis


University of Crete University of Crete
292 PUBLICATIONS 5,397 CITATIONS 270 PUBLICATIONS 6,467 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Weeks of International Teaching - Inclusive and Digital (WITEA-ID) View project

Learning History through Location-Based Games View project

All content following this page was uploaded by Stamatios J Papadakis on 13 May 2019.

The user has requested enhancement of the downloaded file.


Int. J. Technology Enhanced Learning, Vol. X, No. Y, XXXX

Evaluating a course for teaching introductory


programming with Scratch to pre-service
kindergarten teachers

Stamatios Papadakis* and


Michail Kalogiannakis
Department of Preschool Education,
Faculty of Education,
University of Crete,
Crete, Greece
Email: stpapadakis@gmail.com
Email: mkalogian@edc.uoc.gr
*Corresponding author

Abstract: A growing number of countries, in Europe and beyond have


established clear policies and frameworks for introducing Computational
Thinking and computer programming to young children. Researchers,
educators, and key stakeholders believe that these skills should be taught and
used in early childhood classrooms to initiate the cognitive development of
students at an earlier age. The introduction of CT in the curriculum is creating a
strong demand for preservice development, as many teachers did not learn
about CT and computer programming in their initial education. In response to
this identified need, new initiatives in Universities are underway seeking to
bring CT and programming into preservice teachers’ education around the
world. We adopted Scratch as the introductory programming language for a
semester course in the department of Preschool Education in the University of
Crete. The aim of using Scratch was to excite students’ interest and familiarise
them with the basics of programming. For 13 weeks, students were introduced
to the main Scratch concepts and, afterwards, were asked to prepare their
projects. For the projects, they were required to develop a game to teach certain
concepts about Mathematics or Physical Science and/or present an Aesop myth
to preschool age students. The results we obtained were more satisfactory than
expected and, in some regards, encouraging.

Keywords: Scratch; preservice teachers; programming; computational


thinking; preschool education.

Reference to this paper should be made as follows: Papadakis, S. and


Kalogiannakis, M. (20xx) ‘Evaluating a course for teaching introductory
programming with Scratch to pre-service kindergarten teachers’, Int. J.
Technology Enhanced Learning, Vol. x, No. x, pp.xx–xx.

Biographical notes: Stamatios Papadakis is a graduate of the Economics and


Business (AUEB) University, Athens, Greece, Department of Information. He
received an MSc in Education from the University of the Aegean, Greece, and
a PhD from the University of Crete, School of Education. He has been working
for a series of years as an ICT teacher in public sector secondary education. He
has published many articles in journals and has presented several papers in
conferences. His research interests include ICT in education, mobile learning,
novice programming environments and teaching of programming in primary
and secondary education.

Copyright © 200X Inderscience Enterprises Ltd.


S. Papadakis and M. Kalogiannakis

Michail Kalogiannakis is an Assistant Professor in the Department of


Preschool Education at the University of Crete and Associate Tutor at School
of Humanities at the Hellenic Open University. He has graduated from the
Physics Department of the University of Crete and continued his postgraduate
studies at the University Paris 7-Denis Diderot (DEA in Didactic of Physics),
University Paris 5-René Descartes-Sorbonne (DEA in Science Education) and
received his PhD degree at the University Paris 5-René Descartes-Sorbonne
(PhD in Science Education). His research interests include science education in
the early childhood, science teaching and learning, e-learning, the use of ICT in
education, distant and adult education. He has published many articles in
international conferences and journals and has served on the program
committees of numerous international conferences.

1 Introduction

National and European policies acknowledge the need to equip all citizens with the
necessary competences to use digital technologies critically and creatively (Papadakis,
2016; Redecker, 2017). In recent years, Computational Thinking (CT) and related
concepts (e.g. coding, programming, algorithmic thinking) have been promoted by
educational stakeholders as skills that are as fundamental for all as numeracy and literacy
(Bocconi et al., 2016).
As Wing (2006) states “to reading, writing, and arithmetic, we should add
computational thinking to every child’s analytical ability’’ (p.33). Hence, its integration
throughout all educational levels, as well as the early ages, is considered valuable.
Evidence shows that even children as young as 4 years old can engage in core
computational thinking skills, provided they work with a developmentally appropriate
tool that supports such learning (Kalogiannakis and Papadakis, 2017a; Papadakis et al.,
2016; Strawhacker et al., 2017).
Several countries have now introduced computer science into their national
curriculum (Heintz et al., 2016), meaning that children as young as
5 years old are now learning basic programming skills (Rose et al., 2017). Yet, the
introduction of CT in compulsory education requires support measures to prepare
teachers (Bocconi et al., 2016). Many primary teachers are unlikely to have the
appropriate skillset to teach this new technical subject (Benton et al., 2017;
Kalogiannakis and Papadakis, 2017b). If teachers are to help young children learn CT
concepts as well as STEM subjects (Science, Technology, Engineering and
Mathematics), their professional development ought to help them to explore content and
teaching methods (Clements and Sarama, 2018; Papadakis, 2018a). Teachers themselves
often have no formal education in computing and cannot communicate to their students’
enthusiasm or understanding about what happens inside a computer to make it work
(Wilson and Moffat, 2010). As Fessakis et al. (2013) point out the success of
programming curricula in PreK-Primary grade classrooms is not as dependent on
available technology as it is on ‘‘appropriately designed learning activities and
supporting material [...] easily integrated in every day school practice by well informed
and prepared teachers.’ (p.89).
Evaluating a course for teaching introductory programming

Therefore, there is a need for widespread professional development to support


in-service and pre-service teachers in gaining the necessary experience, technical skills,
confidence and understanding of suitable pedagogies in order to implement this new
curriculum successfully (Benton et al., 2017). For these reasons, CT and programming is
taught in many parts of tertiary education that are not necessarily directly relevant to or
focused on Information Technology or STEM. These faculties include pedagogical
departments in which students have a first familiarity with CT and programming either
for their direct educational use or so as to be able to produce interactive and multimedia
learning materials (Fesakis and Serafeim, 2009). Many researchers have already used
Scratch at the university in introductory programming courses and their experiences
report on students’ high motivation and sometimes also on higher performance
(Martínez-Valdés et al., 2017).
Scratch is a free visual-based programming language inspired by Logo (constructivist
learning) developed for teaching computer programming to novice programmers
(students). The Scratch environment presents a user-friendly visual language that
encourages active methods, with a project-based learning and a role focused on student
activity. Thus, Scratch is one of the most popular tools used for introducing students to
programming, or better to CT (Evangelopoulou and Xinogalos, 2018).
As it is desirable that the preservice teachers be exposed to CT, and to its related
concepts so as to be able to apply them effectively in the classroom and in learning
activities, we decided to adopt Scratch as the introductory programming language-
environment at the department of Preschool Education in the University of Crete. To this
end, for the purpose of this study, the “Introduction to Multimedia” course for preservice
students was enriched with educational game development projects in the Scratch
environment for one academic semester period. We chose Scratch as we supposed that
students had different programming backgrounds and/or experience, and we felt that
using Scratch as an introduction could be motivating, as Scratch provides students with a
meaningful and playful learning environment to create interactive games, animated
stories, and simulations.
The rest of the paper is structured as follows: in the next section, the benefits of
choosing Scratch as an introductory programming environment are outlined; the second
section presents the methodology of the Scratch course employed in this article; and the
third section documents the results. The final section discusses the results obtained,
outlining the limitations and recommendations for future research.

1.1 The advantages of visual programming – Scratch


The inclusion of programming topics in the initial grades of school gives rise to debates
about the best ways to teach these contents (Gomes et al., in press; Papadakis and
Orfanakis, 2016; Papadakis, 2018b). The educational use of programming is not new.
Back in the 1960s Seymour Papert developed the Logo programming language aiming to
allow children to use computers to create games, compose music or paint recursive
drawings (Calao et al., 2015). In recent years, new programming languages have been
designed to be visually programmed without the need to learn the syntax, as it is the case
with traditional languages (Moreno-León and Robles, 2016). Block programming
eliminates the frustrations of syntax errors which afflict novices learning traditional
computer programming languages (Papadakis et al., 2017). Visual programming involves
S. Papadakis and M. Kalogiannakis

dragging and dropping instruction blocks together to form a program in a graphical


development environment. The advantages of visual programming are (Curran, 2017):
 students don’t need to learn syntax and cannot create syntax errors;
 students can see what blocks (instructions) are available;
 blocks often hide complex logic or operations in a single block.
This is a great relief for introductory programming and saves the learner much of the
heartache traditionally forced on them by textual languages (Wilson and Moffat, 2010).
Given the large amount of software available and children-friendly programming
environments such as Alice, Scratch, Greenfoot and Kodu, teaching coding has become a
more intuitive and engaging experience for young students (Papavlasopoulou et al.,
2018).
On 15 May 2007, a revolutionary programming tool was made freely available to the
public. Scratch (https://scratch.mit.edu) is an environment and programming language
especially developed for children and novices by the Lifelong Kindergarten Group of the
MIT Media Lab. Scratch features a unique graphical interface that allow programs to be
assembled like building blocks of commands, making it accessible to new coders of all
ages. Scratch is designed to support children and novices learning through the process of
experimenting and tinkering as it encourages learners to engage in creative learning
experiences and express their ideas using code (Tsur, 2017). Hence, Scratch helps
students to think creatively, reason systematically, and work collaboratively; all of which
are essential skills required for the 21st century (Papadakis et al., 2017; Kalelioglu and
Gülbahar, 2014).
Scratch can be used to program interactive stories, games, animations, music, art,
although there are other categories such as tutorials, simulations or advertisements (Tsur,
2017; Moreno-León et al., 2017; Papadakis et al., 2014). Those creations are called
projects. It takes what Papert called a “constructionist” approach to technology, in which
children build knowledge by creating personally meaningful projects, in open-ended
environments, with more control over their learning process (Tsur, 2017). A Scratch
project consists of a set of actors that may have behaviours, defined through the language
commands, and they act on a stage or screen. These projects can be personalised, through
the inclusion of photographs, voice excerpts, music clips, etc., and shared, reused, or
developed in collaboration with others through the environment website (Resnick et al.,
2009). The environment offers an online and an offline editor and an online community
with millions of users sharing and remixing projects (Evangelopoulou and Xinogalos,
2018; Buitrago Flórez et al., 2017). This is intended to enable and develop children’s
creativity, but also to introduce them to programming in a fun way (Wilson and Moffat,
2010).
Studies show that Scratch is a tool that can help novices to programming to develop
their creative thinking and problem-solving skills in an exciting and easy way (Topalli
and Cagiltay, 2018) (see Figure 1). Scratch is also proposed to be a first language for
beginners in introductory courses (Buitrago Flórez et al., 2017), as it shows several
advantages for introductory programming courses for novices. The Scratch puzzlelike
interface (Buitrago Flórez et al., 2017; Evangelopoulou and Xinogalos, 2018; Papadakis
and Orfanakis, 2018) allows novices to avoid syntax issues (e.g., semicolon use), and
thus, allows them to focus on fundamental programmatic constructs (e.g., conditions,
loops, variables). There is no typing error or misremembering of the syntax involved in
Evaluating a course for teaching introductory programming

the “bugs”. The only possibility for an undesired outcome is the semantic error (Topalli
and Cagiltay, 2018). Since novices are not bullied by the compiler as they do not have to
write codes following rigid syntactical rules, the programming is more meaningful and
playful within Scratch (Wilson and Moffat, 2010).

Figure 1 Example of Scratch code to teach the alphabet.

Source: http://www.scratchmaths.org

As Scratch has been developed with the aim of being very easy to use by anyone,
regardless of age, background, or interests, it is being used by young people in schools,
homes, and other learning environments around the world (Tsur, 2017). Only in January
2018, the Scratch website had almost 35 million visits with 184 million page views! Also,
Scratch is used at all levels of education across diverse fields, such as Computer Science,
Math, Language, Arts, Social Studies and interdisciplinary projects (Evangelopoulou and
Xinogalos, 2018; Buitrago Flórez et al., 2017). Even though it is claimed that Scratch
appeals more to younger audiences (Smith and Burrow, 2016), some universities (like
Harvard, Berkley, and the University of California) have used Scratch as an introduction
to programming (Martínez-Valdés et al., 2017; Topalli and Cagiltay, 2018).
The next stage in the Scratch story is version 3.0. Scratch 3.0 is written in HTML5.
This means that with Scratch 3.0, the programmers will be able to play Scratch projects
on their phone, create Scratch projects on their tablet, and control Scratch projects with
their voice. There is also a version for kids for smart mobile devices, called ScratchJr
(Scratch Junior) (Buitrago Flórez et al., 2017; Kalogiannakis and Papadakis, 2017a,
2017b; Papadakis et al., 2016; Strawhacker and Bers, 2017).
S. Papadakis and M. Kalogiannakis

1.2 Description of the scratch course


Based on the studies found in the literature (Buitrago Flórez et al., 2017; Topalli and
Cagiltay, 2018; Tsur, 2017), we considered various issues when designing the course:
 The complex programming structures and concepts lowers the motivation of the
learners.
 The language syntax is a barrier for novices to better understand the main
programming concepts.
 When learning computational problem-solving with games, students are more likely
to experience flow in the learning process compared to traditional lectures.
 Enhancing the classical introduction to programming courses through real-life
problem-based game development potentially improves the learners’ programming
skills and motivation.
 The Scratch editor offers almost 120 coding blocks for novices to create with, and
about 20 different tools they can use.
 The failure rates in introductory programming courses, substantially influenced by
aspects such as the teaching intervention approach used to reach the attention and
interest of the student as well as the support provided in the process.
 A major challenge in learning and teaching programming is the low enrolment and
interest of women in computer science and introductory programming courses.
 Many educators prefer using one of the puzzle-based tools instead of offering
students open-ended exploration in Scratch, and thus miss the rich learning
opportunities available to students when they become engaged in creating their own
projects.
Taking into account the objectives described, the course combines a little theoretical
training with a strong practical component, encouraging the active participation of the
trainee. Based on work by Tsur (2017), the course four axes are:
 Projects. People learn best when they are actively working on meaningful projects –
generating new ideas.
 Peers. Learning flourishes as a social activity, with people sharing ideas,
collaborating on projects, and building on one another’s work.
 Passion. When people work on projects they care about, they work longer and
harder, persist in the face of challenges, and learn more in the process.
 Play. Learning involves playful experimentation – trying new things, tinkering with
materials, testing boundaries, taking risks, iterating again and again.
Thus, the course elements are:
 Element 1. Scratch and applications built in Scratch. This element is divided into
three parts. The first one is about fundamentals and principles of CT. The second
part is about the Scratch environment, basic commands, control structures and some
Evaluating a course for teaching introductory programming

advanced commands. The third part is about the construction of projects in the form
of animations, interactive stories and educational games in Scratch. The Creative
Computing Curriculum Guide (http://scratched.gse.harvard.edu/guide/) and the
Scratch cards (https://scratch.mit.edu/info/cards/), a set of twelve cards which are
available to download free from the Scratch website were used as learning material,
in order to help the students’ teams to explore the features of Scratch on their own
learning rhythm (see Figure 2).
 Element 2. This element consists of building one or more applications in the Scratch
game to teach certain concepts to kindergarten students. For the projects, the
students were required to develop an interactive story (Aesop myth), an educational
game or a mixture of these (Greek language learning, Math or Science). The
educator advised the student groups how to manage the process of game
development, working collaboratively. Also, the educator offered his guidance to the
student teams, helping them to complete their games and introducing even more
complex CS concepts when needed. At the end of the semester, the students groups
presented their projects.

Figure 2 A part of a Scratch card

1.3 Survey procedure and sample


During the period between September 2017 and January 2018, a total of 120 students
attended the course entitled “Multimedia in Education” in the Department of Preschool
Education at the University of Crete for 13 weeks. The course was offered as optional.
The lessons were 3 hours per week. The majority of the students were female (99%).
S. Papadakis and M. Kalogiannakis

In order to evaluate the course, we examined both cognitive (how effectively they
learned) and affective (how enjoyable the experience was, and how motivated by it the
students were) factors. Thus, in this study we collected both quantitative and qualitative
data:
 The quantitative part was conducted in pre-test/post-test quasi-experimental design.
Moreover, in order to understand the learning of programming topics, we evaluated
students’ projects in terms of students’ use of the elements of Scratch language as
well as the project functionality and appearance. For that reason, students’ project(s)
were examined by the researchers themselves as well as by using the Dr. Scratch
tool.
 The qualitative approach used semi-structured interviews, individually and in
groups. Data were recorded through field notes, made by the teacher-researcher. The
goal of such interviews was to identify the extent they had understood the concepts.
Additionally, the students’ behaviour was observed during the course lessons.

2 Results

In this section we present and analyse the course results in terms of students’
performance and satisfaction.

2.1 Performance analyses


Dr. Scratch is an online tool (http://drscratch.org/) that assesses Scratch projects with
respect to 7 “dimensions”, namely logical thinking (LT), data-information representation
(IR), user interactivity (IN), flow control (FC), abstraction (AB) and problem
decomposition, parallelism (PA), and synchronisation (SN). A project can be graded for
each dimension in one of the levels, depending on the level of sophistication achieved by
the project code. In addition, Dr. Scratch may give four figures on some bad habits
detected in the project, namely attributes incorrectly initialised, inadequate sprite names,
duplicated scripts, and dead code (Martínez-Valdés et al., 2017; Moreno-León and
Robles, 2016). These dimensions are statically evaluated by inspecting the source code of
the analysed project giving each a score from 0 to 3, which results in a total evaluation
that ranges from 0 to 21 when all seven dimensions are aggregated. We analysed 93
different projects as the creation of the projects was voluntary. The projects gathered
were scored with values ranging between 10 and 20 (see Table 1).
Table 1 Projects score given by Dr. Scratch

Statistical Dimension of Computational Thinking


measure PA LT FC IN IR AB SN
Mean 2.01 1.79 2.07 1.74 1.59 0.70 1.99
Std. Dev. 0.40 0.38 0.35 0.44 0.24 0.19 0.45
Minimum 1 0 1 0 0 0 1
Maximum 3 3 3 3 3 2 3
Evaluating a course for teaching introductory programming

Table 2 Projects evaluation given by Dr. Scratch

Project evaluation
Score Projects Percentage
8 5 5%
9 12 13%
10 14 15%
11 14 15%
12 17 18%
13 22 24%
14 3 3%
15 4 4%
16 2 2%

Figure 3 Example of a Dr. Scratch project evaluation

Apart from the online tool, the researchers also evaluated students’ projects in terms of
students’ use of the elements of the Scratch language as well as the project functionality
and appearance. In general, students created a wide range of projects, using a variety of
approaches and ideas – building different code and using different visuals. The
researchers’ analysis revealed that the learning has not occurred in depth in all the
students. Although analysis indicates a satisfactory understanding of sequences of
instructions, conditionals and repetition, it also revealed challenges with respect to the
use of concepts, such as the parallelism and synchronisation (Moreno-León et al., 2017).
Moreover, there were a number of weaknesses worth noting. For instance, concerning the
user interface there were a few projects that used the mouse and none of which that used
the drag and drop process. Finally, very few applications made use of random numbers
and logical expressions.
S. Papadakis and M. Kalogiannakis

2.2 Students self-efficacy analyses


To evaluate students’ self-efficacy in utilising programming and computational thinking
within their future teaching endeavours, we adapted the Teachers’ Self-Efficacy in
Computational Thinking (TSECT) (Bean et al., 2015). We used the first 7 of the 9
TSECT items (see Table 3). All items use a five-point Likert scale with options of:
Strongly agree, Agree, Neither Agree nor Disagree, Disagree, Strongly Disagree. TSECT
was given as a pre- and post-test before and after the intervention. Questionnaire analysis
performed with SPSS 23.
Table 3 Modified TSECT instrument items

Item Wording
1 I feel confident writing simple programs in Scratch.
2 I know how to teach programming concepts with Scratch.
3 I can promote a positive attitude towards programming to my students.
4 I can guide students in using programming as a tool while we explore other
topics.
5 I feel confident using programming as an instructional tool within my classroom.
6 I can adapt lesson plans incorporating programming as an instructional tool.
7 I can create original lessons palms incorporating programming as an instructional
tool.

A t-test of the pre and post-survey TSECT scale revealed a statistically significant
increase in TSECT from pre (M = 12.67, SD = 5.62) to post (M = 17.42, SD = 4.11),
t(64) = 3.79, p < .0001. From the students’ answers we can conclude that after the
intervention they feel themselves confident enough to create projects and they plan to
incorporate programming as an instructional tool in their future classrooms.
The TSECT results, similar to the study of Bean et al (2015) correspond well to the
researchers’ informal observations during the intervention. In short, at the beginning of
the course, there was a sense of rising anxiety on the part of the students about
programming. During the course, the students were deeply engrossed in the activities,
and eager to discuss other ways they might use programming in their future classrooms
(Bean et al., 2015). After completion of the course, the researchers conducted a focus
group interview with a structured interview form. An expert opinion about the questions
used in the interview form was taken. Some of the questions that were asked to the
students are presented below:
 Did you have difficulty with the course?
 What was your favourite aspect of the course?
 What was your least favourite aspect of the course?
 Was the use of Scratch easy?
 Did you face any problems within the Scratch environment?
 Do you like programming?
 What do you want to learn more about programming?
Evaluating a course for teaching introductory programming

The students answered that the Scratch environment was easy to use, and they didn’t face
special difficulties as it was fun and easy. They used words such as “interesting” and
“easy” to describe their learning process. The majority of them stated that they want to
improve themselves in programming. In summary, we found that students agreed to a
considerable extent that their involvement with Scratch was a pleasant experience rather
than a stressful one. They also liked that the course was delivered through a mix of
didactic and experiential learning methods. As weak points, they mentioned the tight
schedule for the activities and said they needed more time for each activity, especially for
the final project. Similar to other studies (Bean et al., 2015), many students indicated
their intent to use Scratch in their future teaching, recognising that embedding Scratch
programming into other areas can “[..] actually enhance lessons,” and that “I really felt
like I could apply this to my future classroom.”

Figure 4 (A, B) Example of the code and user interface of a project related to Physical Science

A B

Figure 5 (A, B) Example of the code and user interface of a project related to a Aesop Myth

A B
S. Papadakis and M. Kalogiannakis

3 Discussion and conclusion

As new curricula in preschool and primary education is covering computational thinking,


digital technologies and related areas are being introduced, many preservice teachers are
having to undergo professional development to be able to deliver the new material
(Duncan et al., 2017). Game-based learning, problem-based learning, visual
programming and projects are technologies and pedagogical approaches that can
potentially help learners to perform better in the introduction to programming course, in
turn affecting their performances in projects (Topalli and Cagiltay, 2018).
In this paper we described a course that we have developed at the Department of
Preschool Education at the University of Crete in an attempt to help preservice teachers
to learn CT concepts and programming. Owing to the fact that pre-service teachers find it
difficult to master the syntax of programming languages in general (Kim et al., 2012), we
believe that the choice of visual programming language is an important factor in learning
programming (Iskrenovic-Momcilovic, 2017). In this course we chose Scratch as the
main programming environment in order to create an area for pre-service teachers for
their innovative ideas and a platform to cultivate pre-service teachers’ Computational
thinking. There were various reasons for that decision. Studies have found that the
Scratch programming environment helps novice programmers not just concentrate on the
syntax problems but on the design and development of the general system and algorithms
(Kim et al., 2012). Scratch addresses the programming problems of students by offering
easy modifications in programming constructs (i.e. variables, loops, control statements,
functions, etc.), live animations of the program output which also acts an instant
feedback, and game development which improves their motivation through the lessons
(Topalli and Cagiltay, 2018). Also, by solving an educational scenario, they most likely
to be better motivated and work harder to complete a project, in turn, improving their
problem-solving skills (Topalli and Cagiltay, 2018). Scratch projects cause students to
spend more time for the course, help to learn algorithms and programming concepts,
learn animations and games, make comments on the code as well as teach system
thinking, increase students’ creativity, improve problem solving skills and make
programming more enjoyable (Topalli and Cagiltay, 2018).
The results, like other studies, show that by enhancing the course curriculum with
Scratch and game development projects in the Scratch environment, students’
performance on CT improved significantly. Similar to Kim et al. (2012) research results,
we also agree that “Scratch helped pre-service teachers focus on what they could do with
programming languages (p.971)”. Scratch helped preservice teachers to overcome their
programming difficulties (e.g., syntax) and to focus on core aspects of computational
thinking (Kim et al., 2012). The researchers report positive results in terms of preservice
students’ perception of their gained skills (creative thinking, problem solving,
communication, and information and media skills), their willingness to use Scratch in
their future career, and potential usefulness of Scratch for preschool and/or elementary-
level students.
As teachers can decide whether to accept or reject a new technology or software
program in schools, opinions from pre-service educators are important in this study.
Study results suggest that the pre-service teachers believe that Scratch would be a useful
tool to do their job and using Scratch would enable them to use technology more
effectively (Bean et al., 2015). Similar to the study of Arpaci (2015), preservice teachers
think that using Scratch would increase their productivity, enhance their effectiveness,
Evaluating a course for teaching introductory programming

improve their job performance, and ease their job. Although, the results we obtained by
the Dr. Scratch tool were less satisfactory than expected, similar to the study of Martínez-
Valdés et al. (2017), the most important thing is that most students with no prior
programming experience considered that Scratch had assisted them in learning
programming.
An encouraging element is that the students didn’t faced many of the same
difficulties or common pitfalls encountered in similar other studies when getting started
with Scratch (Tsur, 2017), such as misunderstanding the effect of connecting two “next
costume” blocks without a “wait” in between, navigating between different sprites, and
the inclination to build long scripts without testing them. As almost all the participants in
this study were female students, it is considered very important that they reported that
they enjoyed the course and found applicability to their careers. This is noticeable, given
the fact that various studies conclude that there is a psychological aversion in females
due to male stereotyping in computing discipline, which is also observed in Mathematics,
Science, and other disciplines (Lang, 2002; Papadakis, 2018c; Papadakis and
Kalogiannakis, 2017).
This study has a number of limitations. Since the data was collected from almost
female students from one university department, the findings should be applied to
subjects from other disciplines with caution. Moreover, it may be useful to employ a
mixed method approach that incorporates long-term practical research methods for a
deeper investigation of factors affecting attitudes and intentions toward using Scratch in
respect to the students’ gender.
In future work, it would be an idea to plan out a more open-ended set of challenges,
which would allow students to use most advanced CT concepts. Also, it would be a good
idea to integrate in the course smart robots such as Bee-Bot and Kibo or internet-
connected smart toys such as Sphero. Also, as a new version of Scratch, Scratch 3.0, is
on the way, it would be a good idea to integrate in a new course the use of smart mobile
devices such as tablets as a part of a new students’ experience.

Acknowledgement

The authors would like to express their gratitude to all the students for volunteering their
time.

References
Arpaci, I. (2015) ‘A comparative study of the effects of cultural differences on the adoption of
mobile learning’, British Journal of Educational Technology, Vol. 46, No. 4, pp.699–712.
Bean, N., Weese, J., Feldhausen, R. and Bell, R.S. (2015) ‘Starting from scratch: developing a pre-
service teacher training program in computational thinking’, Frontiers in Education
Conference (FIE), 2015 IEEE, pp.1–8.
Benton, L., Hoyles, C., Kalas, I. and Noss, R. (2017) ‘Bridging primary programming and
mathematics: some findings of design research in England’, Digital Experiences in
Mathematics Education, Vol. 3, No. 2, pp.115–138.
S. Papadakis and M. Kalogiannakis

Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A. and Engelhardt, K. (2016) Developing
computational thinking in compulsory education-Implications for policy and practice.
Technical report, European Union Scientific and Technical Research Reports, EUR 28295
EN.
Buitrago Flórez, F., Casallas, R., Hernández, M., Reyes, A., Restrepo, S. and Danies, G. (2017)
‘Changing a generation’s way of thinking: teaching computational thinking through
programming’, Review of Educational Research, Vol. 87, No. 4, pp.834–860.
Calao, L.A., Moreno-León, J., Correa, H.E. and Robles, G. (2015) ‘Developing mathematical
thinking with scratch’, Design for Teaching and Learning in a Networked World, Springer,
Cham, pp.17–27.
Clements, D.H. and Sarama, J. (2017) Learning Math, Science and Technology is good for pre-
schoolers. https://www.childandfamilyblog.com/early-childhood-development/learning-math-
science-technology-preschoolershoolers/
Curran, J. (2017) A guide to programming languages for coding in class. Available online at:
https://www.teachermagazine.com.au/articles/a-guide-to-programming-languages-for-coding-
in-class
Duncan, C., Bell, T. and Atlas, J. (2017) ‘What Do the Teachers Think?: Introducing
Computational Thinking in the Primary School Curriculum’, Proceedings of the Nineteenth
Australasian Computing Education Conference (pp.65–74), ACM.
Evangelopoulou, O. and Xinogalos, S. (2017) ‘Myth Troubles: An Open-Source Educational Game
in Scratch for Greek Mythology’, Simulation & Gaming, Vol. 49, No. 1, pp.71–91.
Fesakis, G. and Serafeim, K. (2009) ‘Influence of the familiarization with scratch on future
teachers’ opinions and attitudes about programming and ICT in education’, ACM SIGCSE
Bulletin, Vol. 41, No. 3, pp.258–262.
Fessakis, G., Gouli, E. and Mavroudi, E. (2013) ‘Problem solving by 5-6 years old kindergarten
children in a computer programming environment: A case study’, Computers & Education,
Vol. 63, pp.87–97.
Gomes, T.C.S., Falcäo, T.P. and Tedesco, P.C.D.A.R. (2018) ‘Exploring an approach based on
digital games for teaching programming concepts to young children’, International Journal of
Child-Computer Interaction, in press.
Heintz, F., Mannila, L. and Färnqvist, T. (2016) ‘A review of models for introducing computational
thinking, computer science and computing in K-12 education’, In Frontiers in Education
Conference (FIE), 2016 IEEE (pp.1–9). IEEE.
Iskrenovic-Momcilovic, O. (2017) ‘Choice of Visual Programming Language for Learning
Programming’. International Journal of Computers, Vol. 2, pp.250–254.
Kalelioglu, F. and Gülbahar, Y. (2014) ‘The Effects of Teaching Programming via Scratch on
Problem Solving Skills: A Discussion from Learners’ Perspective’, Informatics in Education,
Vol. 13, No. 1.
Kalogiannakis, M. and Papadakis, St. (2017a) ‘Pre-service kindergarten teachers acceptance of
“ScratchJr” as a tool for learning and teaching computational thinking and Science education’,
In proceedings of the 12th Conference of the European Science Education Research
Association (ESERA), Research, practice and collaboration in science education. Dublin City
University and the University of Limerick, Dublin, Ireland, 21-25 August 2017.
Kalogiannakis, M. and Papadakis, St. (2017b) ‘A proposal for teaching ScratchJr programming
environment in preservice kindergarten teachers’, proceedings of the 12th Conference of the
European Science Education Research Association (ESERA), Research, practice and
collaboration in science education. Dublin City University and the University of Limerick,
Dublin, Ireland, 21-25 August 2017.
Kim, H., Choi, H., Han, J. and So, H.J. (2012) ‘Enhancing teachers’ ICT capacity for the 21st
century learning environment: Three cases of teacher education in Korea’, Australasian
Journal of Educational Technology, Vol. 28, No. 6.
Evaluating a course for teaching introductory programming

Lang, C. (2002) ‘Tertiary computing course selection: The impact of mathematics anxiety on
female decision making’, AJET, Vol. 18, pp.341–358.
Martínez-Valdés, J.A., Velázquez-Iturbide, J.Á. and Hijón-Neira, R. (2017) ‘A (Relatively)
Unsatisfactory Experience of Use of Scratch in CS1’, In Proceedings of the 5th International
Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM’17) (Cádiz,
Spain, October 18-20, 2017) (Article. 8). New York, NY, USA: ACM.
Moreno-León, J. and Robles, G. (2016) ‘Code to learn with Scratch? A systematic literature
review’, In Global Engineering Education Conference (EDUCON), 2016 IEEE (pp.150–156).
IEEE.
Moreno-León, J., Robles, G. and Román-González, M. (2017) ‘Towards Data-Driven Learning
Paths to Develop Computational Thinking with Scratch’, IEEE Transactions on Emerging
Topics in Computing.
Papadakis, S. (2016) ‘Creativity and innovation in European education. 10 years eTwinning. Past,
present and the future’, International Journal of Technology Enhanced Learning, Vol. 8,
Nos. 3/4, pp.279–296.
Papadakis, S. (2018a) ‘The use of computer games in classroom environment’, Int. J. Teaching and
Case Studies, Vol. 9, No. 1, pp.1–25.
Papadakis, S. (2018b) Is Pair Programming More Effective than Solo Programming for Secondary
Education Novice Programmers?: A Case Study. International Journal of Web-Based
Learning and Teaching Technologies, Vol. 13, No. 1, pp.1–16.
Papadakis, S. (2018c) Gender stereotypes in Greek computer science school textbooks. Int. J.
Teaching and Case Studies, Vol. 9, No. 1, pp.48–71.
Papadakis, S. and Orfanakis, V. (2018) ‘Comparing novice programing environments for use in
secondary education: App Inventor for Android vs. Alice’. Int. J. Technology Enhanced
Learning, Vol. 10, Nos. 1/2, pp.44–72.
Papadakis, S., Kalogiannakis, M. and Zaranis, N. (2016) ‘Developing fundamental programming
concepts and computational thinking with ScratchJr in preschool education: a case study’,
International Journal of Mobile Learning and Organisation, Vol. 10, No. 3, pp.187-202.
Papadakis, S., Kalogiannakis, M., Orfanakis, V. and Zaranis, N. (2017) ‘The appropriateness of
scratch and app inventor as educational environments for teaching introductory programming
in primary and secondary education’, International Journal of Web-Based Learning and
Teaching Technologies (IJWLTT), Vol. 12, No. 4, pp.58–77.
Papadakis, S., Kalogiannakis, M., Orfanakis, V. and Zaranis, N. (2014) ‘Novice Programming
Environments. Scratch and App Inventor: a first comparison’, In H.M. Fardoun and J.A.
Gallud, Eds, Proceedings of the 2014 Workshop on Interaction Design in Educational
Environments, pp.1–7. New York: ACM.
Papadakis, S. and Orfanakis, V. (2016) ‘The Combined Use of Lego Mindstorms NXT and App
Inventor for Teaching Novice Programmers’, In D. Alimisis, M. Moro, E. Menegatti, Eds.
Educational Robotics in the Makers Era. Edurobotics 2016. Advances in Intelligent Systems
and Computing, Vol. 560, pp.193–204. Springer, Cham.
Papadakis, S. and Kalogiannakis, M. (2017) ‘Using Gamification for Supporting an Introductory
Programming Course. The Case of ClassCraft in a Secondary Education Classroom’,
Proceedings of the 2nd EAI International Conference on Design, Learning and Innovation,
October 30-31, Heraklion, Greece.
Papavlasopoulou, S., Sharma, K. and Giannakos, M.N. (2018) ‘How do you feel about learning to
code? Investigating the effect of children’s attitudes towards coding using eye-tracking’,
International Journal of Child-Computer Interaction, in press.
Redecker, C. (2017) European Framework for the Digital Competence of Educators:
DigCompEdu. Punie, Y. (ed). EUR 28775 EN. Publications Office of the European Union,
Luxembourg,
S. Papadakis and M. Kalogiannakis

Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner,
A., Rosenbaum, E., Silver, J., Silverman, B. and Kafai, Y. (2009) ‘Scratch: programming for
all’, Communications of the ACM, Vol. 52, No. 11, pp.60–67.
Rose, S., Habgood, J. and Jay, T. (2017) ‘An exploration of the role of visual programming tools in
the development of young children’s computational thinking’, Electronic Journal of
E-learning, Vol. 15, No. 4, pp.297–309.
Smith, S. and Burrow, L.E. (2016) ‘Programming multimedia stories in Scratch to integrate
computational thinking and writing with elementary students’, Journal of Mathematics
Education, Vol. 9, No. 2, pp.119–131.
Strawhacker, A., Lee, M. and Bers, M. (2017) ‘Teaching tools, teachers’ rules: exploring the
impact of teaching styles on young children’s programming knowledge in Scratch Jr.
International Journal of Technology and Design Education, pp.1-30.
Topalli, D. and Cagiltay, N.E. (2018) ‘Improving programming skills in engineering education
through problem-based game projects with Scratch’, Computers and Education, Vol. 120,
pp.64-74.
Tsur, M. (2017) Scratch Microworlds: introducing novices to scratch using an interest-based, open-
ended, scaffolded experience. Doctoral dissertation, Massachusetts Institute of Technology.
Wilson, A. and 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. 14
Wing, J.M. (2006) ‘Computational thinking’, Communications of the ACM, Vol. 49, No. 3,
pp.33–35.

View publication stats

You might also like