Teaching High School Students Artificial Intelligence by Programming Chatbots
Teaching High School Students Artificial Intelligence by Programming Chatbots
Teaching High School Students Artificial Intelligence by Programming Chatbots
Teaching
Coding in
K-12 Schools
Research and Application
Teaching Coding in K-12 Schools
Therese Keane • Andrew E. Fluck
Editors
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature
Switzerland AG 2023
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether
the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and
transmission or information storage and retrieval, electronic adaptation, computer software, or by similar
or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this book
are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the material contained herein or for any
errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Foreword
The computers introduced into schools, colleges and universities from the 1980s
and 1990s were very different from the computers that we see in those institutions
today. One could ask – is this important? In this regard, certainly there are points
worth considering. If computers are not new to education, and have been in educa-
tional institutions for more than 30 or 40 years, are educators now familiar with the
functionality and application of computers for teaching and learning? If computers
offer different functionalities and applications from those 30 or 40 years ago, does
this mean that educators have kept pace with the changes? If computers are now
more widely accessible than they were 30 or 40 years ago, does increased accessi-
bility mean that there is greater familiarity with the potential that computers now
offer in education? Researchers continue to discuss these questions, but the picture
indicates that ‘yes’ is not always the simple answer to those three questions.
Familiarity, keeping pace and maintaining awareness of applications of computers
in teaching and learning are outcomes that appear not always to have kept pace with
computer developments. Arguably, a part of the reason for that differential of keep-
ing pace has been due to the focus that educational policies and practices – nation-
ally, regionally and locally – have maintained during the past 40 years. In some
ways, when comparing computers with those 30 or 40 years ago, there are similari-
ties as well as differences. A focus on similarities has often been lacking in educa-
tional policies and practice across the age range – on computing, programming and
computational thinking. In that regard, this book offers ways forward, to re-consider
and re-focus policies and practices.
What has happened during the past 30 or 40 years is that computers have become
much more widely used and accepted by many individuals. However, computers
have become accepted to the point where many individuals worldwide can now be
considered as ‘consumers’; there is direct acceptance of applications of computers,
both the hardware (including peripherals) and software (including online resources)
for teaching and learning needs. Over the next 30 years, it is fundamentally impor-
tant in my view, in the view of authors in this book and in the view of UNESCO that
individuals become ‘producers’ with regard to computers. The current focus on
developing computer education and informatics for all young people is, in my view,
v
vi Foreword
an important step in that direction. We undoubtedly see the seeds of that drive within
this book. This is why this book is so fundamentally important – it shows us how to
explore the ways that education across the age spectrum can support a greater bal-
ance towards developing critical ‘producers’, and how a focus on creativity will be
developed in the longer term. The contents of this book provide an invaluable set of
guides for all educational sectors to support that crucially important endeavour.
vii
viii Contents
Index������������������������������������������������������������������������������������������������������������������ 411
About the Editors and Contributors
Editors
Therese Keane For over 25 years, Professor Therese Keane has been a champion
for empowering girls in STEM. Currently she is the Associate Dean of Research and
Industry Engagement, and Professor of STEM Education at La Trobe University’s
School of Education in Melbourne Australia. Her passion and many achievements
have been acknowledged by her peers in her receiving numerous international,
national and state awards. She has worked in a variety of school settings where she
has taught IT and led in K-12 education as the director of ICT. Her Doctorate in
Education focused on ICT leadership in schools. Therese has served on several
state, national and international boards, including chair of the Australian Computer
Society’s (ACS) ICT Educators Committee, Australian Council of Computers in
Education (ACCE) and Australian representative for the International Federation of
Information Processing (IFIP) Technical Committee on Education (TC3). Currently,
she is the vice chair for TC3 – WG3.3 – “Research into Educational Applications of
Information Technologies”. Therese is deputy editor of Education and Information
Technologies – the official journal of the IFIP Technical Committee on Education
covering the complex relationship between information and communication tech-
nologies and education. Throughout her career, Therese has also been an office
holder in three professional teaching associations, the Victorian Information
Technology Teachers Association (VITTA), Information and Communications
Technology in Education Victoria (ICTEV), and the Digital Learning & Teaching
Victoria (DLTV). Therese has presented numerous seminars and workshops for
teachers involved in the teaching of information technology. She has written 16
textbooks in all units of VCE Senior Information Technology in Victoria since 1995
and has worked with the Victorian Curriculum and Assessment Authority (VCAA)
in the development of the VCE IT Study Design and various roles associated with
VCE assessment over the past 25 years. Therese has been involved in the provision
of professional development to ICT teachers and research into the use of technol-
ogy, gender inequalities in STE-based subjects, robotics in education, and
xi
computers in schools for teaching and learning purposes. Therese has developed
and delivered workshops in humanoid robot (NAO) for primary and secondary
school students and was also involved with the FIRST LEGO League as tournament
director for Victoria and lead mentor for the RoboCats – a schoolgirl only robotics
team that participated in the FIRST Robotic Competition from 2014 to 2020 (Chaps.
1, 17, and 23).
Andrew Fluck The goal of Associate Professor Andrew Fluck (retd.) has been to
maximise the benefits of information and communication technology (ICT) and
minimise the harms. To this end he has undertaken world class research and devel-
opment on using computers for educating children with special needs, e-assessment
to transform curricula, and the improvement of learning outcomes by impact factors
greater than 3.0.
Andrew trained as a teacher in Bristol, England, then spent 2 years working in
Afikpo, Nigeria. Returning to the UK, he taught in a high school, then became
director of an advisory centre on computers for children with special needs. His
family then moved to Australia, where he taught computer science before joining
the University of Tasmania. Over the next 25 years, he taught and researched infor-
mation technology education, authoring many academic papers. His PhD thesis was
one of the most popular in the university library (37,179 downloads in 15 years).
He is deputy editor of the journal Education and Information Technologies
(ranked third in the world for educational technology by Google Scholar). Andrew
joined the IFIP Discipline Group for Quantum Computing in 2022. He is a passion-
ate advocate for the inclusion of quantum computing programming in senior sec-
ondary schools. He is also mindful of the promises and threats of quantum
communication systems.
Andrew’s funded research has investigated the transformative use of computers
to teach integral calculus, quantum mechanics in primary schools, and e-exams,
where students take their own computers into the exam hall. He was chair of
Working Group 3.3 (research into educational applications of information technolo-
gies) for IFIP/UNESCO from 2016 to 2019 and was given the IFIP Service Award
in 2019. Within Australia, he was a member of the ICT Educator’s Committee of the
Australian Computer Society from 2017 to 2021. During this time, he led a national
survey of digital technologies teaching.
Outside academia, Andrew is an avid archer (preferring the longbow), continen-
tal archery judge and director of Archery Australia. He was awarded the silver
medal in the Archery Australia 2017 Club Challenge (Veteran Male Longbow) and
is a Level 1 archery coach (Chap. 27).
See more details of publications, projects and Curriculum Vitae at https://
Andrew.Fluck.id.au.
Contributors
Jane Batham Since commencing teaching more than 20 years ago, Jane Batham
has been an enthusiastic and innovative integrator of digital technologies in the
classroom. She has fulfilled many roles in education, including as a classroom
teacher, curriculum leader, digital learning facilitator and educational consultant. A
dedicated lifelong learner, Jane conducted action research into using iPads to pro-
mote creativity and collaboration, and is currently investigating the development of
STEM mindsets as her PhD research project. Jane is passionate about empowering
teachers to embrace digital technologies and provide enriching and engaging learn-
ing opportunities that inspire students to make our world a better place (Chap. 7).
Ludmila Bosova was born May 9, 1963 into a family of hereditary teachers of
mathematics and physics. She graduated with honours both from high school (1980)
and from the Belarusian State University (1985) with degree in mathematics. She
xiii
xiv Contributors
Augusto Chioccariello obtained his physics degree (magna cum laude) in 1980 at
the University of Naples. From 1982 to 1986, he worked in physics education at the
Educational Technology Centre, UC Irvine. In 1986, he joined the Institute of
Educational Technology of the Italian National Research Council (CNR-ITD). Dr.
Chioccariello’s major research interests are science education and computational
thinking. He has collaborated with Reggio Emilia infant schools, exploring the use
of computational play kits as learning tools for early childhood education. More
recently, in 2021 Dr. Chioccariello has worked on the European Commission study
“Reviewing Computational Thinking in Compulsory Education”. He is currently
coordinating CNR-ITD “Programming to Learn in Primary School” project
(Chap. 5).
assessment as part of computing education. She received her BSc (2017) and MSc
(2019) in Computer Science from the Federal University of Santa Catarina. Her
main research interests are computing education, creativity and assessment
(Chap. 20).
Birgit Eickelmann has been a full professor for school research and teacher edu-
cation at Paderborn University in Germany since 2012 with a special focus on
teaching and learning in the digital age. Among other projects and activities, she is
head of the German part of the International Computer and Information Literacy
Study (ICILS), and head of the part “ICT in education” in the Horizon 2020 DigiGen
project (Chap. 21).
Maria Emmi leads the creative integration of innovative and emerging technolo-
gies across the school curriculum. Continually exploring and modelling next prac-
tice, she shares with teaching staff ideas and pedagogies for use in all Key Learning
Areas. Maria builds teacher capacity in developing transdisciplinary programs that
harness the use of digital technology. Always endeavouring to incorporate digital
technology in ways that can intrinsically motivate students, create student agency
and provide differentiated learning opportunities (Chap. 14).
Miriam Nathalie Fortuna Ferreira holds a master’s degree in design from the
Graduate Program in Design (POSDESIGN) at the Federal University of Santa
Catarina (UFSC). She graduated in Business Administration from Faculdade
Estácio de Sá (2005). She works as an administrative analyst at the Fundação do
Ensino da Engenharia and the National Institute for Digital Convergence (Brazil).
She also participates in the initiative Computação nas Escolas especially in the area
of design, aiming to integrate the teaching of design concepts into computer educa-
tion to schools in Brazil (Chap. 20).
Laura Freina, a recently retired researcher from the Institute for Teaching
Technologies of the National Research Council (CNR-ITD – Italy), has a degree in
Mathematics and in Communication Science, followed by a PhD course in Cognitive
Science. In the last working years, she focused on fostering Computational Thinking
through programming activities in primary schools. Previously, she investigated the
impact of the use of entertainment games on the development of basic transversal
skills in primary students. In her past, she had various experiences, ranging from
software and multimedia development, lab teacher in graduate courses, librarian,
substitute teacher in an International School. She has been involved in several proj-
ects, both at Italian and European level (Chap. 5).
Herma Jonker is associate professor and teacher educator in the School of Human
Movement and Education at Windesheim University of Applied Sciences in the
Netherlands. As teacher educator she is involved in vocational teacher education. In
her research she focuses on e-learning in general and more specific on curriculum
design in blended learning environments in higher professional education (Chap. 22).
Konstantina Louka is a preschool teacher in the public sector. She is studying for
a master’s degree in ICT Education at the University of Crete. Her master’s thesis is
empirical research on cultivating computational thinking in preschool education
using the ScratchJr programming environment. She holds a bachelor’s degree in
philosophy, education and psychology from the National and Kapodistrian
University of Athens, which provides professional skills for teaching Greek lan-
guage and literature in secondary education. She has also received a certificate of
completion of advanced training for using and applying ICT in the teaching practice
(B2-Level ICT teacher training) (Chap. 4).
Linda Mannila (PhD) is a researcher, educator and writer with more than 20 years
of work experience at the crossroads of digitalisation and education. Her research
interests lie in the area of computer science education, with particular focus on pro-
gramming, computational thinking and digital competence at K-9 level from a stu-
dent, teacher and organisational perspective. Currently, she is an associate professor
(docent) at Åbo Akademi University in Finland, and a senior researcher at the AIICS
(AI and embedded computer systems) lab at Linköping University in Sweden
(Chap. 9).
xx Contributors
Peer Stechert is a teacher at the RBZ Technik Kiel. He is the coordinator for the
continuing education of computer science teachers in the German federal state
Schleswig-Holstein. His dissertation in the area of didactics of informatics focussed
on understanding of informatics systems at lower and upper secondary level. His
work interests are didactic issues of programming, especially of programming
beginners and IT specialist training at vocational schools. Since 2020, he is chair of
the expert committee on informatics education at schools of the German Informatics
Society (Chap. 25).
xxii Contributors
Diane van der Linde-Koomen is ICT coordinator and researcher in the School of
Human Movement and Education at Windesheim University of Applied Sciences in
the Netherlands. As ICT coordinator she is responsible for teacher professionalisa-
tion in the pedagogical use of digital technology. In her research she focuses on
Computational Thinking in (teacher) education (Chap. 22).
Lise E. Welch Bond is a PhD candidate at Utah State University studying young
children’s multimodal indicators of mathematical and computational thinking
knowledge. Her research interests include early childhood mathematics education,
spatial knowledge, computational thinking, and cross-disciplinary research. Welch
Bond is currently an elementary mathematics education specialist in Utah with prior
experience as an elementary teacher, curriculum developer, mathematics coach,
mathematics education consultant, course designer, and lecturer (Chap. 3).
Therese Keane
The largest commercial enterprises in the world are digital. For school students to
become productive and independent citizens of this digital era, they need to develop
digital skills throughout schooling. Coding has been identified as one of these
important skills to enable communication with a computer. It is making a set of
instructions to perform functions and create software, websites, video games and
apps. There are different types of programming languages, and each has its own set
of rules. It is apparent that teaching coding is a key skill for this digital
apprenticeship.
The terms computer programming, coding and computational thinking are all
situated in computer science and are characterized by engagement in an analytical
process of problem-solving. In this book, the terms coding and programming are
used interchangeably. For most school-based educators, there is no difference
between the terms. However, for purists in computer science, there is considerable
difference between the two. It is argued that coding is a subset of programming.
Programming requires more knowledge, experience, and various skills than coding
(Lonati et al., 2022). In essence, programming is the general process of creating a
program (executable software) that follows standards and produces error-free out-
puts, whereas coding is part of a program that converts the language into binary
commands for the computer. In this book, we do not argue about the differences
between programming and coding, and we accept them to mean the same. Many of
the authors of this book have made reference to computational thinking and have
emphasized its prominence in developing students’ skills to break problems down
into their component parts (decomposition) to efficiently solve problems and create
solutions. Computational thinking is generic and identifies opportunities to
T. Keane (*)
La Trobe University, School of Education, Melbourne, Australia
e-mail: t.keane@latrobe.edu.au
automate solution building. It is a very useful first step before programming but is
not a substitute for coding.
In this book, we have authors from 17 different countries spanning five conti-
nents. Authors from North America, South America, Asia, Australia and Europe set
out to write about how programming and/or computational thinking has been taught
to students in preschool, kindergarten, primary, secondary school and vocational
education pathways. The contributing authors of this book provide a progression
path for students typically aged from 4 to 18 years, identifying key skills needed for
learning programming. Based on global perspectives and research at each stage,
these findings can be applied in the classroom.
Through both research and systematic reviews, the authors have demonstrated
the complexity of teaching programming and cognitive considerations needed to
ensure that students are taught these skills age-appropriately. The teaching of cod-
ing to students in preschool right through to secondary school has been a skillset
that has been debated across educational jurisdictions globally for some time. There
are examples of schools that are teaching coding to students in engaging and rele-
vant ways, delivered via well thought out compulsory curriculums. Countries such
as Australia, United Kingdom, Germany and Switzerland have a national curricu-
lum which outlines the skills students are expected to learn at various year levels. In
these national curriculums, the significance of teaching coding has been identified
as a key skill that students need to be taught. However, there are countries that do
not have a mandated curriculum and it is left up to the educator to find age-
appropriate ways of teaching this highly complex concept. It suggests that it is
taught in an ad hoc manner in such countries.
There is also an increasing school of thought that teaching coding is a skill that
is already obsolete, and the focus should be on computational thinking. Many of the
authors who contributed to this book have included in their discourse the ever-
increasing importance of teaching computational thinking as a key skill. The debate
is a serious one and requires a clearly defined thematic response with evidence on
all sides of the argument presented rationally. The perspectives shared by the authors
of this book highlight the importance of teaching programming and computational
thinking as a progressive trajectory, ranging from early childhood education right
through to secondary school. The cognitive load of learning programming has also
been raised as a serious consideration and one that assists with selecting the most
appropriate language to teach it age-appropriately. Finally, gender disparity is a
long-term issue that has not been resolved over many decades. There is an under-
representation of female students undertaking computing as an elective subject in
the last two years of secondary school and subsequently at university. Some authors
touch on this topic through case studies to demonstrate ways of addressing this
disparity.
The book is structured into three topical sections: early childhood education,
elementary/primary school and secondary/high school. The first section focuses on
children from 3 years of age to approximately 6 years old. These chapters establish
that learning about programming and computational thinking is relevant for this
younger age group, and its importance documented. Educational robots feature in
1 Introduction: The Need for Programming and Computational Thinking from Early… 3
several chapters and their use with very young children to teach programming.
Whilst we are aware that in some countries primary schooling starts at 5 years of
age, the editors have chosen to group early primary school levels under early child-
hood education.
The second section of this book turns to how programming and computational
thinking is taught in primary schools with the chronological age being approxi-
mately 7–12 years of age. The chapters in this section highlight the various ways
that programming and computational thinking are incorporated into students’ learn-
ing. In some cases, this is done through co-curricular activities such as a game-
making club where students living with disabilities and neurological differences are
able to participate and demonstrate their learning, or through large-scale competi-
tions such as the Bebras Challenge. There are also specific programs such as the
Program, Learn and Play initiative and localized competitions.
The final section of this book looks at programming and computational thinking
in the secondary school context where students are typically aged between 12 and
18 years. Learning to program presents challenges for students at every level of
education. Some authors have acknowledged that teachers need support in how to
teach programming and specifically non-specialist computing teachers. Whilst
some have used the Scratch programming language, or a similar type of program
based on Scratch, others have used Python. Yet others argue that introducing com-
putational thinking frameworks can help address issues students experience when
learning to program and when transferring from block-based to text-based program-
ming environments. Several authors raised the notion of teaching hybrid program-
ming to alleviate this issue. Some chapters report on the teaching of design principles
before coding, or providing a holistic context where students program within a con-
text: such as designing and building an industrial robot. The most direct and com-
mon way to teach programming and computational thinking is through the
curriculum by undertaking classroom activities that have been designed for class-
room teachers to enable students to learn these concepts effectively. Lastly, one
chapter is dedicated to how to teach students who are in the pre-vocational stream
and also to students who have selected vocational studies.
Chapter 2 comes from Hanna Palmér from Linnaeus University in Sweden. She
focuses on a study of preschool children (ages 3–5 years) using programmable
robots (Beebots) to become familiar with basic commands to make the robot move
in a sequence of steps. Children were able to incorporate mathematics such as
counting and measuring. The role of the educator was also explored and was encour-
aged to promote thinking and doing to promote agency. Palmér makes a connection
between mathematics, programming and spatial thinking through using robots.
Chapter 3, authored by Jessica F. Shumway, Jody Clarke-Midura, Deborah
Silvis, Lise E. Welch and Joseph S. Kozlowski from Utah State University and
4 T. Keane
Victor R. Lee from Stanford University in the United States of America, reports on
a multiyear design-based research project. The project explored how to teach devel-
opmentally appropriate coding concepts and skills to children aged 5–6 years. Using
the CHAT framework for understanding and describing the complex and dynamic
activity system that occurs in classroom-based design studies, the authors connect
learning through the actions and activities in which students engage in coding,
mathematics and computational thinking with robot coding toys. The authors have
developed an Early Childhood Computational Thinking (ECCT) competency model
that captures computational thinking operationalization for the grid-agent genre and
mathematical concepts that these educational robots support.
Chapter 4, written by Konstantina Louka and Stamatios Papadakis from the
University of Crete in Greece, contains a systematic literature review about the
types of robots that are available to preschoolers. These robots introduce them to
both computational thinking and coding. Using the PRISMA method, they review
the literature across 20 well-known databases and provide a summary of the applied
programming environments that assist preschool educators to choose an appropriate
robotic platform.
1.2 Elementary/Primary School
Chapter 5 is from Rosa Bottino, Augusto Chioccariello and Laura Freina from the
Italian National Research Council. They present longitudinal research coming out
of Italy that investigates the introduction of age-appropriate computational thinking
and programming activities in a primary school through the creation of interactive
multimedia storytelling. As part of the study, the researchers explored how these
activities would fit into the weekly schedule, how much time could be devoted to
them and how non-specialist teachers could support students at all school levels.
The project spanned four years using ScratchJr.
Chapter 6 was authored by Fiona Mayne from the University of Western Australia
and Belinda Bath from Methodist Ladies’ College in Western Australia. It describes
a case study collaboration between a class of Year 1 (aged 6 years) girls and pre-
service teachers. Given girls have historically engaged less with technology than
boys, this case study reinforces the need for girls to have equal access to learning
coding and computational thinking through appropriate strategies and resources.
Students were provided with opportunities to develop a wide range of computa-
tional thinking skills through four learning experiences; Micro:bit, Makey Makey,
Ozobots and Minecraft. The findings from this research highlight the benefits of
students working on a project, rather than first learning coding concepts prior to
being granted access to the technology.
Chapter 7 from Jane Batham, University of Southern Queensland in Australia,
explores computational thinking through two vignettes from a primary school. The
first focuses on children aged 7–8 years and the second on girls aged 7–12 years old.
Both projects provided many opportunities for the children to develop
1 Introduction: The Need for Programming and Computational Thinking from Early… 5
computational thinking skills, despite using different software tools. Both groups
used a project-based learning approach that incorporated design thinking and com-
putational thinking processes to develop apps.
Chapter 8, authored by Ludmila Bosova from Moscow Pedagogical State
University in Russia, who writes about the results of a large-scale implementation
experiment for the Program, Learn and Play initiative. It is a large-scale study from
the Moscow region, where more than 15,000 primary school children in Years 3–6
took part during the 2021/2022 academic year. Using Scratch as the programming
language, students were expected to undertake four modules with varying hours
working on projects that built up their computational thinking skills.
Chapter 9, written by Linda Mannila from Linköping University in Sweden,
describes the introduction of programming in the Finnish national core curriculum.
This was for Grades 1–6 (ages 7–13 years), with particular focus on cross-curricular
aspects. Whilst previous Finnish curricula focused on using information technology
as a tool, the current curriculum highlights the need for learning about technology
and its underlying principles. Mannila argues the importance of integrating pro-
gramming in the classroom, rather than teaching it as a stand-alone concept.
Chapter 10 is authored by Lina Vinikienė, Valentina Dagienė and Gabrielė
Stupurienė from Vilnius University in Lithuania. They present five different Bebras
tasks to introduce programming concepts to primary school students. Bebras origi-
nated in Lithuania by Dagienė in 2004 and is now a global challenge. The Bebras
Challenge includes formal and non-formal informatics/computer science/comput-
ing educational activities for primary and secondary school students showcasing
their knowledge of informatics and computational thinking. Bebras tasks can be
used as a tool for teaching and learning computer science concepts and in some
cases as an assessment tool.
In Chap. 11, Matthew Harrison from the University of Melbourne in Australia
provides a case study of an inclusive game-making club that brought together stu-
dents aged between 7 and 12 years old from a mainstream school and a specialist
school. Collaboratively developing games provides a rich context for developing
collaborative social skills such as collective decision-making, negotiating and per-
spective taking. Harrison explores the barriers experienced by some of the partici-
pating students living with disabilities and neurological differences and the solutions
that allowed them to participate and demonstrate their learning.
Chapter 12, authored by Mick Chesterman from Manchester Metropolitan
University in the United Kingdom, describes digital game making as an inclusive
process to develop coding concepts and coding fluency through a project-based
approach to computing. It outlines research with young learners aged 8–11 years
which leverages the motivational and navigational affordances of enthusiast game-
making communities and adapts it to more structured educational environments.
Chesterman introduces us to the 3 M model (missions, maps and motivational meth-
ods) which is designed to help both teachers and learners.
6 T. Keane
1.3 High/Secondary School
students were challenged to use computational thinking concepts and skills to solve
an authentic real-world problem. The research shows the potential for teaching
computational thinking concepts and skills unplugged for pre-vocational education
students.
Chapter 23 is written by Milorad Cerovac from Swinburne University and
Therese Keane from La Trobe University in Australia. They look at gender disparity
in girls partaking in STEM and particularly computer science. The authors devel-
oped an intervention called the RoboCats as part of a highly specialized robotics
program run as an out of school co-curricular activity. RoboCats is for secondary
school girls from Years 9 to 12. The girls developed skills in designing, building and
programming a sophisticated game-playing robot through the use of industry-level
hardware and software. The RoboCats also participated in the FIRST* Robotics
Competition (For Inspiration and Recognition of Science and Technology). The
authors conclude that the girls entering the RoboCats program as novice student
engineers and computer scientists, emerged through the other end feeling empow-
ered, confident and capable young women with the skills, knowledge and values to
make a difference in the world.
Chapter 24 is from Djordje Kadijevich at the Institute for Educational Research
in Serbia. Kadijevich examined secondary school teachers’ opinions about applying
hybrid programming in their teaching and analysed their preference for hybrid pro-
gramming usage in terms of a number of background variables, such as type of
school, teacher experience and programming language used. The chapter details
how programming is taught to secondary school students, making a case for hybrid
programming to assist with the transition from visual to textual programming
languages.
Chapter 25, authored by Peers Stechert and Goran Vukoovic from RBZ Technik
Kiel in Germany, reports on the development of a virtual reality (VR) programming
project in IT specialist training at a vocational school for students between the ages
of 16 and 22 years. The authors have presented a strategy to structure the learning
process towards hybrid programming using C++ and blueprints. They also devel-
oped a curriculum model to co-construct a virtual reality environment.
Chapter 26 is from Jason Zagami from Griffith University in Australia. Zagami
shares with us with cognitive considerations when teaching programming. The cog-
nitive load put on the learner needs to be considered when choosing which program-
ming languages to teach students. Younger students benefit from programming
languages that mix text and visual cues in solving relatively simple problems. Very
young pre-reading students, however, benefit more from simple, purely visual pro-
gramming languages and tactile programming tools.
The final chapter comes from Andrew Fluck from the University of Tasmania in
Australia. This chapter commences with a personal perspective providing a general
framework for teaching coding in schools. The author describes the coding trajec-
tory starting with learning to control devices through play with tangible robotic
toys, to visual block coding, hybrid languages, and culminates with textual lan-
guages and artificial intelligence exercises. Looking to the future, Fluck interrogates
1 Introduction: The Need for Programming and Computational Thinking from Early… 9
the place of quantum computing in schools, arguing this distinctive paradigm needs
an early introduction for its promise to bear fruit.
Reference
Lonati, V., Brodnik, A., Bell, T., Csizmadia, A. P., Mol, L. D., Hickman, H., Keane, T., Mirolo, C.,
Monga, M., & Tedre, M. (2022). Characterizing the Nature of Programs for educational pur-
poses. Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer
Science Education Vol. 2, Dublin, Ireland. https://doi.org/10.1145/3502717.3532173.
Part I
Early Childhood Education
Chapter 2
Children (Aged 3–5 Years) Learning
Mathematics Through Programming,
Thinking and Doing, or Just Doing?
Hanna Palmér
2.1 Introduction
Young children of today have never lived in an analogue world and many young
children use digital technology on a daily basis. Thus, from the perspective of many
young children, digital technology is as natural part of everyday life as crayons and
puzzles. However, young children using digital technology at home is not the same
as using digital technology in preschool for pedagogical purposes which is the focus
of this chapter. Just as with the use of crayons and puzzles, it is not the digital tool
that determines what the result will be of its use. Instead, the pre-knowledge of the
child as well as the context and interaction with adults and friends greatly influence
what can be accomplished.
The educational context of this chapter is two Swedish preschools. In Sweden,
preschool is part of the national educational system with a national curriculum.
Based on a play-oriented approach, Swedish preschools include teaching and oppor-
tunities for children between 1 and 5 years of age to explore different knowledge
areas. The curriculum amongst other knowledge areas also acknowledges the
importance of mathematics and digital technology for preschool children to explore.
The play-based approach along with the teaching of mathematics has been part of
the curriculum for a long time, while digital technology was included in recent revi-
sions (National Agency for Education, 2018).
A strengthened focus on digital technology in the curricula is not only a national
Swedish phenomenon but an ongoing trend in several countries around the world
where digital technology and programming are implemented formally in curricu-
lums for different grades (see, for example, Yu & Roque, 2018; Shumway et al.,
2019). Higginson (2017) divides the history of programming in schools into five
H. Palmér (*)
Faculty of Technology, Linnaeus University, Växjö & Kalmar, Sweden
e-mail: hanna.palmer@lnu.se
Although learning how to program does not have to include digital technology, in
line with the statement above, programming can enable preschoolers to discover
and develop an understanding of the digitization children encounter in everyday life.
aged 5–6 years (see, for example, Fessakis et al., 2013; Kazakoff & Bers, 2014;
Shumway et al., 2019) demonstrate that programming can assist with counting,
spatial perception, spatial reasoning, measurement, arithmetic and concepts such as
forward, backward, rotate, right, left, etc. Furthermore, while learning to program,
children may develop communication skills, collaboration skills, problem-solving
skills, metacommunicative skills and the skills to analyse, organize and evaluate
processes. Of course, which mathematical competencies and skills are possible to
learn depends on the kind of programming activities the children are involved in.
An early programming environment adapted for young children was LOGO,
which focused on geometry and measurement. In LOGO, children learn to program
a turtle in geometric shapes, which requires the child to analyse the shape and the
movements required to create the shape. Often, the programming needs to be
decomposed for the children to find a solution. Studies of children’s learning when
working on LOGO show positive results regarding their learning of geometry and
measurement (Clements & Sarama, 2016). LOGO was, however, not developed for
preschoolers, whereas ScratchJr was developed with this in mind. The main aim
with ScratchJr is problem-solving rather than the learning of a specific program-
ming language. Studies show that preschoolers using ScratchJr create animations,
collages, stories and games and that they learn concepts for programming and
develop both problem-solving skills and reasoning skills (Papadakis et al., 2016).
Other programming environments developed for young children are program-
mable robots. In an intervention (Elkin et al., 2016) involving children aged
3–5 years, the children developed programming skills by working with program-
mable robots. However, it was clear that the programming became increasingly
more difficult as more sequences were included and there was a difference between
how many sequences the youngest and the oldest preschool children could program.
To summarize, previous studies above show that young children can work with
programming in different programming environments. Regardless of the program-
ming environment, the studies display the importance of progression in program-
ming in relation to both children’s age and previous experiences.
Fig. 2.1 The programmable robot (BeeBot) and examples of gridded mats and child-developed
instructions used in the project
With the example above, the teacher initiated de-bugging by asking why something
in the programming was not working according to the plan. The child solves the
‘problem’ by the use of counting and then they try once more to see if they have
solved the ‘problem’. Another activity required the children to draw the movement
of his or her robot on a pre-prepared paper map that was identical, except in scale,
to the big, gridded mat.
The activities in the second round focused on the children interpreting and con-
necting the symbols (arrows) with movements in the room. For example, the teacher
‘programmed’ the children by using notes with arrows similar to those on the robot.
Similarly, the children ‘programmed’ the teacher and each other with the same
notes. Also, the children continued to program their robots; however, before they
pressed GO, the teachers asked them to predict how the robot would move on
the map.
2 Children (Aged 3–5 Years) Learning Mathematics Through Programming… 19
Lars is programming three friends using the notes with arrows. First, the friends are to move
forward, then rotate, then forward again. The teacher stands besides Lars and for each note
she asks him what will ‘happen’ when he shows it to the friends. After a little while the
teacher instead joins the children who are being programmed. After some notes they are
shown ‘rotate to the left’. The teacher rotates to the right. Lars start to laugh and tells her
that she rotated into the wrong direction.
In this example, the teacher focuses on the connection between the symbols, the
movement of the children and the verbal expressions of the arrows on the notes.
When she joins the children being programmed, she also introduces de-bugging
where Lars is to explain what she does wrong when not moving in line with the notes.
In the third round, the children got a pre-prepared paper map representing the big
grid mat. The pre-prepared paper map provided directions as to how their robot was
to move on the big grid mat, and the children were to program the robot in line with
these instructions. Like the prior example, the teacher and the children discussed
similarities and differences between the instructions on the paper map and the
movements of the robot. Another activity was the children drawing arrows describ-
ing the movement of the robot and thus connecting the movement with both maps
and symbols (example Fig. 2.1).
Maja and Liv program their robots to move on the big farm map. They have just discovered
that there is a button on the robot that causes it to pause. They try what happens when the
pause button is used and after a while Liv suggests that they draw each other instructions on
how to program their robots. They decide that two straight lines should be used for pause.
Liv draws a map to be used by Maja. Before Maja gets to start the robot, Liv wants her to
guess where it will pause.
In this example, Liv and Maja further developed an activity previously introduced
by the preschool teacher. In order for Maja to be able to guess where the robot will
pause, she must imagine what movements on the map the robot will make based on
the programming. Such imagination of movements involves spatial thinking which
implies mentally comparing, rotating, holding in mind and conceptualizing rela-
tionships and transforming objects (Cross et al., 2009).
In the fourth round the activities with maps was further developed. This time, the
children received a paper with symbols describing how to program their robot.
Before pressing go, they have to predict where the robot would end up on the grid-
ded mat. Also, the children were asked to program the robot to move from one pre-
decided point to another and to make a drawing of the symbols they were to use
before they programmed the robot.
Common in all activities presented above is the children investigating program-
ming and mathematics by trying them out themselves. As seen, several of the activi-
ties focused on spatial thinking which has been shown to be a predictor for further
mathematical achievement, not only in specific mathematical domains such as
geometry and measurement but also in problem-solving (Cross et al., 2009). Similar
focus on spatial reasoning and measurement have shown to be successful in studies
by Shumway et al. (2019). Programming a robot also requires counting, in particu-
lar, one-to-one correspondence (coordinating the number of presses on the com-
mands with the number of grids the robot is to move) together with the number
20 H. Palmier
2.6 Conclusion
References
Bers, M. U., Flannery, L., Kazakoff, E. R., & Sullivan, A. (2014). Computational thinking and
tinkering: Exploration of an early childhood robotics curriculum. Computers and Education,
72, 145–157. https://doi.org/10.1016/j.compedu.2013.10.020
Björklund, C., Magnusson, M., & Palmér, H. (2018). Teachers’ involvement in children’s math-
ematizing: beyond dichotomization between play and teaching. European Early Childhood
Education Research Journal, 26(4), 469–480.
Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the develop-
ment of computational thinking 2012 Annual Meeting of the American Educational Research
Association. Vancouver.
Clements, D. H., & Sarama, J. (2016). Math, science, and technology in the early grades. The
Future of Children, 26(2), 75–94.
Cross, C. T., Woods, T. A., & Schweingruber, H. (2009). Mathematics learning in early childhood:
Paths toward excellence and equity. The National Academies Press.
22 H. Palmier
Elkin, M., Sullivan, A., & Umaschi Bers, M. (2016). Programming with the KIBO robotics kit in
preschool classrooms. Computers in the Schools, 33(3), 169–186.
Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5-6 years old kindergarten
children in a computer programming environment: A case study. Computers and Education,
63, 87–97. https://doi.org/10.1016/j.compedu.2012.11.016
Gadanidis, G., Hughes, J. M., Minniti, L., & White, B. J. G. (2017). Computational thinking, grade
1 students and the binomial theorem. Digital Experiences in Mathematics Education, 3(2),
77–96. https://doi.org/10.1007/s40751-016-0019-3
Gelman, R., & Gallistel, C. (1978). The child's understanding of number. Harvard University Press.
Heikkilä, M., & Mannila, L. (2018). Debugging in programming as a multimodal practice in early
childhood education settings. Multimodal Technologies and Interaction, 2(42), 1–19. https://
doi.org/10.3390/mti2030042
Higginson, W. (2017). From children programming to kids coding: Reflections on the legacy of
Seymour Papert and half a century of digital mathematics education. Digital Experiences in
Mathematics Education, 3(2), 71–76. https://doi.org/10.1007/s40751-017-0030-3
Kazakoff, E. R., & Bers, M. U. (2014). Put your Robot in, Put your Robot out: Sequencing through
programming robots in early childhood. Journal of Educational Computing Research, 50(2),
553–573. https://doi.org/10.2190/EC.50.4.f
Mishra, P., & Koehler, M. (2006). Technological pedagogical content knowledge: A framework for
integrations in teacher knowledge. Teachers College Record, 108(6), 1017–1054.
Morgado, L., Cruz, M., & Kahn, K. (2010). Preschool cookbook of computer programming topics.
Australasian Journal of Educational Technology, 26(3), 309–326.
National Agency for Education. (2018). Curriculum for preschool. The Swedish National Agency
for Education.
Otterborn, A., Schönborn, K. J., & Hultén, M. (2020). Investigating preschool educators’ imple-
mentation of computer programming in their teaching practice. Early Childhood Education
Journal, 48(3), 253–262.
Palmér, H. (2016). What is the difference? Young children learning mathematics through prob-
lem solving. In T. Meaney, O. Helenius, M. Johansson, T. Lange, & A. Wernberg (Eds.),
Mathematics education in the early years: Results from the POEM2 conference, 2014
(pp. 255–266). Springer.
Palmér, H. (2017). Programming in preschool – with a focus on learning mathematics. International
Research in Early Childhood Education, 8(1), 75–87.
Papadakis, S., Kalogiannakis, M., & 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, 10(3), 187–202. https://doi.
org/10.1504/IJMLO.2016.077867
Shumway, J. F., Clarke-Midura, J., Lee, V. R., Hamilton, M. M., & Baczuk, C. (2019). Coding toys
in kindergarten. Teaching Children Mathematics, 25(5), 314–317.
Stephen, C., & Plowman, L. (2008). Enhancing learning with information and communication
technologies in pre-school. Early Child Development and Care, 178(6), 637–654. https://doi.
org/10.1080/03004430600869571
Yu, J., & Roque, R. (2018). A survey of computational kits for young children. Proceedings of the
17th ACM Conference on Interaction Design and Children, Trondheim, Norway. https://doi.
org/10.1145/3202185.3202738.
Chapter 3
Teaching Coding in Kindergarten:
Supporting Students’ Activity with Robot
Coding Toys
3.1 Introduction
One line of research on teaching early childhood CT and coding is with tangible
coding toys (e.g. Angeli & Valanides, 2020; Bers et al., 2019; Muñoz-Repiso &
Caballero-González, 2019). For example, Bers et al. (2019) developed the KIBO
coding toy with a supplementary preschool curriculum (Bers et al., 2019). Results
from their study of 3- to 5-year-old students’ learning with KIBO indicated that
these young children engaged in CT activities and developed coding skills of
sequencing, repeats, conditionals and debugging through a robotics activity. Angeli
and Valanides (2020) studied 5- and 6-year-old students’ learning with the program-
mable Bee-Bot robot toy and found positive CT learning effects. Children were able
to decompose tasks into subtasks in order to cope with the complexity of debugging
a program. Muñoz-Repiso and Caballero-González (2019) conducted an investiga-
tion into 3- to 6-year-old students’ CT learning after participating in seven sessions
with the Bee-Bot robot. Students in the experimental group performed significantly
better on the three dimensions of CT competence compared to the control group
students (i.e. algorithms and sequences, action-instruction correspondence and
debugging). Overall, while this emerging line of research provides contemporary
evidence that young children can engage in CT and coding, there continues to be a
need for research about how to best support CT learning in early childhood. The
question remains: How should we teach coding to young children? Our design-
based research study contributes to establishing evidence-based design elements for
coding instruction in early childhood grades.
In this chapter, we share observations from a multiyear design-based research
project exploring how to teach developmentally appropriate coding concepts and
skills in kindergarten. We focus on coding toys that fit within a genre we call “grid-
agent” robot coding toys. These are robots that are specifically for early childhood,
commercially available, screen-free, tangible, moveable and programmable. Grid-
agent robot toys invite children to explore mathematics through precise movements
across a grid space. The movement options start with four simple codes: forward,
backward, rotate left and rotate right (Clarke-Midura et al., 2019; Hamilton et al.,
2020). These commands are represented in the visual block-based programming
language of arrows (see Table 3.1, Code blocks). In addition to CT concepts such as
algorithmic thinking, debugging and decomposition, grid-agent toys provide oppor-
tunities for students to use spatial knowledge and reasoning, early measurement
concepts (e.g. dynamic units of linear movements), counting and sequencing to
solve coding problems (Clarke-Midura et al., 2021b; Kozlowski, 2022; Shumway
et al., 2021; Welch et al., 2022). Table 3.1 shows the coding robot toys used in our
design-based research: Bee-Bot, Botley and Cubetto.
As a research team, we have explored young students’ grid-agent coding as a
collaborative small-group student activity through the lens of Engeström’s (1987)
depiction of cultural-historical activity theory (CHAT; Sannino & Engeström,
2018). CHAT is a useful framework for understanding and describing the complex
and dynamic activity system that occurs in classroom-based design studies and in
particular with children’s activity with mediating artifacts (i.e. robot coding toys as
a tool for learning). From a CHAT perspective (see Fig. 3.1), learning is in the
actions and activities in which the subjects (students) engage in pursuit of
3 Teaching Coding in Kindergarten: Supporting Students’ Activity with Robot Coding… 25
Table 3.1 Screen-free, tangible robot coding toys from the grid-agent paradigm
Bee-Bot Botley Cubetto
Robot
activity system and is situated (in coding toy tasks), distributed (among the small
group of 4–5 students) and mediated with artifacts (robot coding toys).
We conducted classroom design studies (Cobb et al., 2017) that were guided by
this question: What design elements for grid-agent CT tasks and instruction are
important for supporting kindergarten students’ coding activity? To answer this, we
developed coding tasks for small groups of children to complete as part of teacher-
facilitated classroom station rotations. We produced “design memos” to document
design decisions, iterative revisions to tasks and instruction and students’ responses
to specific design elements of a task. In total, 48 kindergarten students across three
public school sites in the western United States participated in the study. Thirty-two
students participated in six lessons, and 16 students only participated in two lessons
because of early termination of data collection due to the COVID-19 pandemic.
Data included approximately 28 h of video of the lesson implementations and 56
design memos that tracked lesson design elements, intended learning outcomes and
in-the-moment researcher observations and reflections.
In this chapter, we present the necessary design elements for coding toy tasks and
supportive teacher-led instruction that emerged from iterative review and revision of
our videorecorded kindergarten group activities. Before presenting these key find-
ings, we provide a vignette that will serve as an anchor for understanding the
findings.
turn arrow button did. James guessed that the rotation arrow on the remote meant
“sideways”. The teacher then offered an alternative and demonstrated the rotation:
“Do you know what this actually does, ((pointing to the rotation arrow on the
remote)), instead of sideways like this ((shifting robot one square to its right while
facing the same direction)) it’s going to tell Botley to rotate ((rotating Botley
90-degrees right)). Everyone say ‘rotate’”. In this episode, one of the students was
invited to push the ROTATE RIGHT button and the GO button on the remote while
all students observed Botley’s 90-degree right rotation. As this transpired, Larissa
used gestures (curved wrist to rotate hand) to explain the movement for the ROTATE
RIGHT command (see Fig. 3.2, scene #1).
Simon then asked if they could program Botley to get to the adjacent green
square, which required the program ROTATE RIGHT + FORWARD. The students
negotiated which codes Simon should enter using gestures in the air and on the grid
mat in front of them (see Fig. 3.2, scene #2). After running the program (ROTATE
RIGHT + FORWARD), the teacher asked them to reflect on their program by
Fig. 3.2 Larissa and Simon used gestures to explain the robot’s movements
28 J. F. Shumway et al.
describing what the robot did and what actions with the remote control (codes) led
to those behaviours.
The children and teacher continued to play, programming Botley to move to
other locations on the grid. The teacher encouraged students to physically move
Botley and simulate its movements (i.e. move the robot with their hands) to show
what they thought specific codes and sequences of codes would make Botley do
before programming the sequence of codes in the remote and observing Botley’s
movements.
In summary, introductory tasks usually began with inviting children to notice a
robot’s controls, then asking children to observe how arrow codes corresponded to
precise robot movements, next dedicating more time to turns as rotations and finally
inviting children to explain what would happen when codes were run by showing
their predictions through gestures or physically moving the robots.
The next Botley task in this introductory lesson is called What Happened? and is an
activity that emphasizes the CT practice of debugging, or resolving coding errors.
In this task, students were told that Botley needed to move the ball to the orange
circle (see Fig. 3.3) but were given a buggy program and then asked to fix the codes.
The teacher showed students an incorrect program (ROTATE LEFT + FORWARD
+ FORWARD) on the program organizer (see Fig. 3.3) and challenged them to iden-
tify and fix the bug (i.e. the bug was the direction of the rotation; correct program:
ROTATE RIGHT + FORWARD + FORWARD). The program organizer served as
an external representation of codes, since Botley does not display which codes were
selected in the same way that other robot coding toys do. For this task, a repurposed
baking sheet and magnets with arrows on them were used as the program organizer.
The following conversation occurred:
• Teacher: Here’s what happened, there’s a bug in the program. The program said,
‘rotate left, forward, forward’ ((pointing to arrows on the program organizer as
she names them)). But it didn’t work quite right.
• Larissa: It goes… ((pointing toward Botley)) It goes that way ((rotating wrist to
show right rotation)) and then goes forwards ((pointing in the direction Botley
would move forward to get to the circle)).
• Teacher: Ah! So, you think the program needs to go that way ((pointing to
Botley’s right)) and then two forwards? Hmm…What do you all think?
Before trying Larissa’s idea, the teacher suggested they observe the buggy pro-
gram. Hyrum entered the codes in the remote while the other students called them
out in unison, “rotate left, forward, forward” and the teacher pointed to the corre-
sponding codes on the program organizer. Hyrum ran the program and Botley
moved off the grid toward Larissa (see Fig. 3.3, scene #3). The children giggled and
Larissa said, “I knew it!” The teacher then named the problem as a “bug”:
3 Teaching Coding in Kindergarten: Supporting Students’ Activity with Robot Coding… 29
Fig. 3.3 Students’ gestures for debugging the coding error in What Happened?
3.3 Key Findings
Drawing on the CHAT perspective, we analysed various factors in the activity sys-
tem (i.e. mediating artifact, object, subject, community, rules, division of labour)
that supported students’ activity in coding. Our key findings are organized by design
elements for tasks, design elements for instructional practices and design elements
for leveraging robot toys’ design features.
The purpose of our study was to examine what design elements for grid-agent CT
tasks and instruction are important for supporting kindergarteners’ coding activity.
We found that it was important to (1) design introductory tasks focused on prepara-
tory knowledge we call context proficiencies; (2) design tasks focused on CT com-
ponents of algorithmic thinking, debugging and decomposition and their associated
strategies; and (3) design tasks focused on play-with-constraints. Below, we discuss
each of these necessary design elements.
Table 3.2 Context proficiencies as critical concepts for grid-agent coding activity
Context proficiency Definition Vignette example
Space-symbol Knowing how codes or parts of Larissa points to a FORWARD code on
coordination programs correspond to the remote and then leans over the
movements or paths travelled by grid to indicate moving forward in
the agent space
Spatial code meanings Knowing what each of the James indicates that the rotation code
codes instructs the agent to do on the remote moves the robot
“sideways”
Spatial orientation Knowing that the codes always Larissa takes the robot’s perspective
produce the same movements and gestures to show it must rotate,
but depend on the agent’s rather than move forward (from her
orientation perspective)
One code to one Knowing that one code To move the robot to an adjacent
movement produces a single discrete linear square, Larissa and Simon sequence
correspondence or rotational movement ROTATE RIGHT + FORWARD
32 J. F. Shumway et al.
One other design element that was useful for encouraging CT was proposing semi-
structured play tasks for practicing context proficiencies, planning programs and
building programs (i.e. algorithmic thinking). For example, the Happy Dance task
was designed for play with algorithmic thinking, but with constraints that focused
students’ attention on context proficiencies. For example, our vignette group was
later assigned to pairs and tasked with programming a Happy Dance for Botley.
Larissa and Hyrum were given only forward and backward codes, while James and
Simon were given only rotational codes for their dance. Students used a program
organizer for planning, and then they simulated their Botley’s movements to show
what they thought their program would tell Botley to do. They then tested the pro-
gram and discussed whether it worked as intended. This testing of the program
allowed them to playfully explore algorithmic thinking with the artefact while
engaging their context proficiency knowledge.
In addition to task design, instructional practices had features that could be modi-
fied. Those modifiable features were specific design elements summarized in
Table 3.3. Many of these were identified in the vignette above but are more formally
named and summarized here.
While we were able to design the tasks that children completed and design the
instructional support provided by the teacher, there are some aspects of the medi-
ated group coding activity that rely on designed features that are built into the spe-
cific robot coding toys. For example, when completing a sequence of movement
codes, Botley moves continuously, with no stops after each code. Conversely,
Cubetto slows to a stop between each code in its program. Cubetto’s slow, seg-
mented movements afforded a dynamic visual for seeing that one forward or back-
ward code results in one linear movement. The segmented stops can be highlighted
to show students that each code in the program is a measured unit (e.g. one grid
space) and multiple linear movements are iterated units of movement. Hence, we
designed algorithmic thinking tasks to leverage this feature of Cubetto.
Another robot toy design feature we found to be important for kindergarten stu-
dents was the program organizer. Some coding toys had a program organizer that
34 J. F. Shumway et al.
Table 3.3 Design elements for robot coding toy instructional practices
Design element Instructional practice Vignette examples
Plan for direct Introduce each code, observe The teacher explained that they can tell
instruction of associated movement (and from Botley how to move by putting instructions
code functions various orientations of both the in the remote using the arrow buttons, called
students and robot) and read/ codes. The teacher and children spent time
verbalize codes programming forward and backward linear
Introduce opposites (R v L and movements and observing Botley’s
F v B) movements across the grid-structured mat.
Define: A rotational movement The teacher used the mat to emphasize that
is on a point; robot stays in one forward or backward arrow instructs
square Botley to move only one grid space. The
Define: A linear movement is teacher anticipated that the concept of a
the same length every time, rotation on a point would be difficult
from one square to the next
square on a grid
Plan for Simulate codes with gestures or The teacher encouraged students to
simulating by physically moving the robot physically move Botley and simulate its
movements toy (teacher and students) movements to show what they thought
Students plan a path through specific codes and sequences of codes would
simulating movements; predict make Botley do before programming the
what code is needed or what the sequence of codes in the remote and
robot will do through simulating observing Botley’s movements
the robot’s movements
(physically or with gestures)
Plan for Watch for CT competencies, Teacher: There’s a bug in the program. This
naming of context proficiencies and is what programmers do sometimes. They
concepts and strategies during students’ have to figure out where the bug is to fix it
strategies activity and name the activity: Larissa: (Places the toy bug on the ROTATE
Matched codes with movements, LEFT code on program organizer)
debugging, swapped codes, Teacher: Say, it’s a bug!
break it into parts, noticed the Students: It’s a bug!
robot’s orientation, etc. Larissa: It’s the wrong way!
Plan for talk, Ask questions for probing and Simon asked if they could program Botley
gestures and extending thinking; encourage to get to the adjacent green square, which
collaboration explanation required the program ROTATE RIGHT +
Attach precise vocabulary to FORWARD. The children negotiated which
students’ gestures (e.g. forward, codes Simon should enter in the remote,
rotate left) using gestures to explain or justify their
Ask students to verbalize codes choices. After running the program
(e.g. read code, count (ROTATE RIGHT + FORWARD), the
movements) teacher asked them to reflect on their
Vary collaboration structures: program
pairs work on a task; provide
roles among the small group
(e.g. programmer, technician,
evaluator, debugger)
was provided with the toy (e.g. Cubetto’s programming board, which is where code
tiles must be placed for Cubetto to operate). For other robot coding toys like Botley
and Bee-Bot, the toy operates after buttons corresponding to each code are pressed.
3 Teaching Coding in Kindergarten: Supporting Students’ Activity with Robot Coding… 35
This does not provide students with a record of what “program” was entered. When
there was not a program organizer, we created a separate one (see the example of the
baking sheet and magnetic codes in Fig. 3.3). These custom-made organizers
allowed the teacher to direct students’ attention to the sequence of codes as the cod-
ing toy was moving around the grid and allowed students to document their pro-
grams. We saw that students could make one-to-one connections between codes on
the program organizer and the remote as well as between the organizer and the
coding toy movements on the grid (i.e. the context proficiency of space-symbol
coordination). Other design elements built into the grid-agent coding toys are sum-
marized in more detail by Kozlowski (2022).
3.4 Evidence of Mastery
one location to another (e.g. moving the toy robot to the charging outlet on the grid).
The students were asked to sequence, debug or enact programs using command
arrows to indicate responses. The assessment was administered one-on-one in a
standardized interview format to account for kindergarten children’s emerging
literacy.
We have designed and piloted summative assessment items as part of larger proj-
ect work. After each instructional implementation, we administered the assessment
and conducted an evaluation of the assessment items based on how students per-
formed on them. We identified variable features within assessment items that, when
varied, determined the difficulty of the task (Clarke-Midura et al., 2021a, b). Some
variable features such as orientation of the agent aligned to the context proficien-
cies. Other variable features such as presence of rotations and distance travelled
aligned to the mathematics concepts. We are currently reporting on the results of a
large-scale validity and reliability study.
Currently, we are also completing development of formative assessment
approaches that could be integrated into instruction. We have identified “indicators”
of what we refer to as student’s knowledge in refinement and are specifying some
versions of group coding tasks that would allow teachers to gauge students’ under-
standing in-the-moment (see Clarke-Midura et al., 2022).
3.5 Facilitating Resources
The above is a summary of iterative work that has led to an early childhood compu-
tational thinking (ECCT) competency model that captures our CT operationaliza-
tion for grid-agent genre and with an eye toward mathematical concepts that these
toys support (Fig. 3.5). Many of the key ideas, including those that can be especially
challenging for students, are represented in this model.
The ECCT and the summaries provided above are emerging products from our
larger endeavour to understand the sorts of tasks that can be designed to support
kindergarten students’ CT development through commercial coding toys and ways
to assess that development. The various task elements and design features identified
above are aspects that can be included or excluded from a given task, lesson interac-
tion or assessment item and represent some of the design space that is available to
educators and researchers who are working with this age group and with this grid-
agent genre.
Our expectation is that a portion of the CT education ecosystem is going to
remain commercial products (Lee, 2021) and that there is a need for the educational
research community to explore that ecosystem and offer useful options and ideas for
how educators can best leverage it (Papadakis, 2022). Curriculum materials for kin-
dergarten teachers and other early childhood educators with the tasks and activities
described above, along with others, are available online at http://cik.usu.edu. At that
website, information about the assessment items and assessment approaches to see
young children’s CT development are also available.
3 Teaching Coding in Kindergarten: Supporting Students’ Activity with Robot Coding… 37
Fig. 3.5 The early childhood CT competency model resulting from design-based research
References
Angeli, C., & Valanides, N. (2020). Developing young children’s computational thinking with edu-
cational robotics: An interaction effect between gender and scaffolding strategy. Computers in
Human Behavior, 105(2020), Article 105954. https://doi.org/10.1016/j.chb.2019.03.018
Bakala, E., Gerosa, A., Hourcade, J. P., & Tejera, G. (2021). Preschool children, robots, and com-
putational thinking: A systematic review. International Journal of Child-Computer Interaction,
29, 100337.
Bers, M. U., González-González, C., & Armas–Torres, M. B. (2019). Coding as a playground:
Promoting positive learning experiences in childhood classrooms. Computers & Education,
138, 130–145. https://doi.org/10.1016/j.compedu.2019.04.013
Clarke-Midura, J., Lee, V. R., Shumway, J. F., & Hamilton, M. (2019). The building blocks of
coding: A comparison of early childhood coding toys. Information and Learning Science,
120(7/8), 505–518.
Clarke-Midura, J., Kozlowski, J. S., Shumway, J. F., & Lee, V. R. (2021a). How young children
engage in and shift between reference frames when playing with coding toys. International
Journal of Child-Computer Interaction, 28, 100250.
Clarke-Midura, J., Silvis, D., Shumway, J. F., Lee, V. R., & Kozlowski, J. (2021b). Developing a
kindergarten computational thinking assessment using Evidence Centered Design: The case of
algorithmic thinking. Computer Science Education, 31(2), 117–140.
38 J. F. Shumway et al.
Clarke-Midura, J., Shumway, J. F., Lee, V. R., Silvis, D., Welch, L., & Kozlowski, J. (2022). A
model for integrated mathematics and computational thinking in kindergarten (Manuscript
submitted for publication). Utah State University.
Cobb, P., Jackson, K., & Sharpe, C. D. (2017). Conducting design studies to investigate and sup-
port mathematics children’s and teachers’ learning. In J. Cai (Ed.), Compendium for research
in mathematics education (pp. 208–233). National Council of Teachers of Mathematics.
Engeström, Y. (1987). Learning by expanding: An activity-theoretical approach to developmental
research. Orienta-Konsultit.
Hamilton, M., Clarke-Midura, J., Shumway, J. F., & Lee, V. R. (2020). An emerging technology
report on coding toys and computational thinking in early childhood. Technology, Knowledge,
and Learning, 25, 213–224. https://doi.org/10.1007/s10758-019-09423-8
Kafai, Y. B., & Burke, Q. (2014). Connected code: Why children need to learn programming.
MIT Press.
Kozlowski, J. S. (2022). Children’s mathematical engagement based on their awareness of dif-
ferent coding toys’ design features (Publication No. 8420). Doctoral dissertation, Utah State
University. All Graduate Theses and Dissertations. https://digitalcommons.usu.edu/etd/8420
Lee, V. R. (2021). Let’s cut to commercial: Where research, evaluation, and design of learning
games should go next. Educational Technology Research and Development, 69(1), 145–148.
https://doi.org/10.1007/s11423-020-09865-3
Lin, Y., & Weintrop, D. (2021). The landscape of block-based programming: Characteristics of
block-based environments and how they support the transition to text-based programming.
Journal of Computer Languages, 67, 101075.
Muñoz-Repiso, A. G. V., & Caballero-González, Y. A. (2019). Robotics to develop computational
thinking in early childhood education. Comunicar, 27(59), 63–72. https://doi.org/10.3916/
C59-2019-06
Papadakis, S. (2021). The impact of coding apps to support young children in Computational
Thinking and Computational Fluency. A literature review. Frontiers in Education. https://doi.
org/10.3389/feduc.2021.657895
Papadakis, S. (2022). Can preschoolers learn computational thinking and coding skills with
ScratchJr? A systematic literature review. International Journal of Educational Reform. https://
doi.org/10.1177%2F10567879221076077
Pea, R. D., & Kurland, D. M. (1984). On the cognitive effects of learning computer programming.
New Ideas in Psychology, 2(2), 137–168. https://doi.org/10.1016/0732-118X(84)90018-7
Sannino, A., & Engeström, Y. (2018). Cultural-historical activity theory: Founding insights and
new challenges. Cultural-Historical Psychology, 14(13), 43–56.
Shumway, J. F., Welch, L., Kozlowski, J., Clarke-Midura, J., & Lee, V. R. (2021). Kindergarten
students’ mathematics knowledge at work: The mathematics for programming robot toys.
Mathematical Thinking and Learning, 1. Advance online publication. https://doi.org/10.108
0/10986065.2021.1982666
Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational
Research Review, 22, 142–158.
Silvis, D., Clarke-Midura, J., Shumway, J. F., & Lee, V. R. (2021). Objects to debug with: How
young children resolve errors with tangible coding toys. In Proceedings of the International
Society of the Learning Sciences (ISLS) annual meeting. ISLS.
Weintrop, D., Rutstein, D. W., Biendowski, M., & McGee, S. (2021). Assessing computational
thinking: An overview of the field. Computer Science Education, 2, 113–116. https://doi.org/1
0.1080/08993408.2021.1918380
Welch, L. E., Shumway, J. F., Clarke-Midura, J., & Lee, V. R. (2022). Exploring measurement
through coding: Children’s conceptions of a dynamic linear unit with robot coding toys.
Educational Sciences, 12(2), 143. https://doi.org/10.3390/educsci12020143
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.
Chapter 4
Programming Environments
for the Development of Computational
Thinking in Preschool Education:
A Systematic Literature Review
4.1 Introduction
Although Papert (1980) was the first to use “computational thinking” (CT), debates
around this concept began in 2006 when Wing (2006) defined it as the total of men-
tal processes aimed at solving a problem with the simultaneous involvement of the
human and mechanical factors. Prominent figures from the technology field, such as
Bill Gates and Mark Zuckerberg, have also stressed the importance of CT and taken
initiatives for its development (Walsh & Campbell, 2018). As today’s digital society
needs citizens who can constructively solve problems (Lye & Koh, 2014), it is now
considered critical for students to equip themselves with skills related to CT, which
can be developed through coding concepts.
Consequently, preschool education could not remain unaffected by the new data.
The impact of Wing’s (2006) publication, which argues that the cultivation of com-
putational thinking should be introduced into formal education, has led many
European governments to pursue education policies that promote computational
thinking. By revising their curricula, they strengthened the teaching of coding in
compulsory education at the national level by adopting different approaches
(Bocconi et al., 2016). In Greece, however, the preschool curriculum does not
explicitly include the introduction of computational thinking and coding.
Nevertheless, preschool teachers design informally teaching activities to cultivate
computational thinking in children aged 4–6 years.
Moreover, they participate in European programs such as eTwinning that con-
tribute to the creative communication and cooperation of schools, students and
teachers in Greece and among the countries of the European Union. The use of
4.2 Methodology
The systematic literature review based on the PRISMA method (Moher et al., 2010)
was used to identify all available studies related to the question under study (see
Fig. 4.1).
4.2.1 Databases
Fig. 4.1 The PRISMA flow diagram of the literature search and review process
In the first stage, during which the research is identified, the authors sought a series
of keywords derived from the research question. Since bibliographic databases fol-
low different archiving standards, the search criteria were adapted to the require-
ments of each database. Boolean operators were also used for a more specific
assessment of all the bases. The keywords used in the search of all the bibliographic
bases were “preschool education”, “early childhood education”, “kindergarten”,
“prekindergarten”, “young child”, “nursery school”, “infant school”, “pre-primary
school”, “computational thinking”, “robotics”, “coding”, and “computer
programming”.
4 Programming Environments for the Development of Computational Thinking… 43
Levy and Ellis (2006) cite a range of factors that could lead to the cessation of
the bibliographic search. Haddaway et al. (2015) suggest focusing on the first
200–300 results found by the search on various bibliographic bases. Following the
recommendation from Haddaway et al. (2015), the analysis included the first 300
results in the present systematic literature review. Articles already found in other
databases and those considered irrelevant were removed. In the second stage of the
bibliographic search, the entries were sorted. After applying the inclusion and
exclusion criteria, only 156 articles from the first stage remained. In the third stage,
43 studies were included. This process was carried out by carefully reading the
entire text. Four studies were removed from this process, and 38 remained. In the
last stage, the final articles were submitted to the supervising professor to evaluate
their suitability for inclusion in the review. After being considered appropriate, they
were included in the study and constituted the final data set for analysis, as shown
in Tables 4.2 and 4.3. Table 4.3 includes the applied programming environment
frequency in the reviewed studies.
4.2.4 Data Analyses
The data that emerged from the systematic literature review were classified based on
the categorization proposed by Fessakis et al. (2019). A programming environment
should be based on pedagogical and didactic criteria in preschool and primary edu-
cation. Therefore, a programming environment should be developmentally appro-
priate, support the solution of a problem creatively and offer opportunities for digital
expression. In addition, a good selection of a programming environment depends on
how well its programming model facilitates learning, the designing of learning
activities and making the problem area accessible (Fessakis et al., 2019). Given the
preceding, the classification was based on five axes: the abstraction levels of the
computational system, the age suitability, the supported programming model, the
abstract approach to the programming process and the supported methods used in
programming languages.
The classification includes the following categories:
• Logo family programming environments.
• Visual programming environments.
• Commercial programming learning environments for entertainment purposes.
• Physical computing environments.
• Miscellaneous unplugged applications and environments.
This classification aims to assist preschool teachers in choosing the appropriate
programming environments to design interventions for the development of CT in
preschoolers.
44 K. Louka and S. Papadakis
4.3.1.1 Roamers
Bee-Bot Bee-Bot (Fig. 4.2) is a programmable floor robot with a honeybee face. A
Bee-Bot can store/accept over 40 commands given using the buttons located on the
top of its back. It comprises four directional keys (front, back, 90° left turn, 90° right
turn), a start button (GO), a clean memory button (CLEAR) and a pause button
(Angeli & Valanides, 2019).
Blue-Bot Blue-Bot (Fig. 4.3) is a small mobile robot similar to Bee-Bot. Blue-Bot
has a transparent shell so that children can have visual contact with its interior. A
Blue-Bot can connect wirelessly to both mobile devices and a computer.
Colby Robotic Mouse Colby (Fig. 4.4) is a small floor robot in the form of a
mouse, and its operation is relevant to that of the Bee-Bot. It features coloured
arrow-shaped navigation buttons, a delete key for saved commands and a start but-
ton to execute commands and make sounds. The two-speed feature enables its use
on the floor or any other surface besides a grid.
4.3.1.2 Software Roamers
Ladybug Leaf and Ladybug Mazes Are two programming environments avail-
able at the National Library of Virtual Manipulatives of the University of Utah,
USA, with free access. The specific environments are based on the Logo program-
ming language, and the commands are in the form of virtual tiles and include for-
ward movement, rearward movement, 45° or 90° left turn and 45°or 90° right turn.
The ladybug moves with the program’s execution while leaving traces that indicate
the completion of each command (Fessakis et al., 2013).
According to Brennan and Resnick’s computational thinking framework (2012),
developmentally appropriate coding skills expected in young children are sequence,
debugging, looping and conditionals. Overall, studies using the Logo family pro-
gramming environments have had positive results in cultivating sequence and
problem-solving skills. Also, abstraction and decomposition skills were developed.
48 K. Louka and S. Papadakis
Visual programming environments are software that allows a user to create pro-
grams by connecting appropriate blocks of code (Cheng, 2019). Programming envi-
ronments in this category use digital optical tiles to represent the building blocks
used by programming languages that enable the creation of complex structures to
create programs (Fessakis et al., 2019). Users with the drag and drop function can
select suitable blocks, and each block has a command (Cheng, 2019). Some visual
programming environments provide visual cues to help users understand the func-
tioning of the tiles (Lye & Koh, 2014).
ScratchJr ScratchJr (Fig. 4.6) is a programming environment where children aged
5–7 years can learn fundamental programming concepts by creating games and
interactive stories. The main screen features a theatrical stage in which users create
objects using six categories of commands: yellow Trigger blocks, blue Motion
blocks, purple Looks blocks, green Sound blocks, orange Control flow blocks and
red End blocks (Bers, 2018).
Daisy the Dinosaur The Daisy the Dinosaur app (Fig. 4.7) is a free app designed
to teach basic programming concepts. It aims to help children understand the con-
cepts of sequence, loops and conditionals and is compatible with the iOS operating
system (Pila et al., 2019).
Code.org Itis a non-profit institution with the primary aim of expanding access to
computer science in as many schools as possible and increasing the participation of
sensitive populations. It is an open-source programming platform with educational
scenarios designed for all student age groups while providing personalized feed-
back. It includes activities that promote computational thinking through learning
programming using a computer and without one (Arfé et al., 2019).
Generally, the findings of the studies using visual programming environments
showed the development of coding skills in preschool children, such as sequence
comprehension, debugging, symbol interpretation and repetition.
This category includes programming environments that do not present any innova-
tive characteristics and are commercial products (Fessakis et al., 2019).
Kodable It is a digital application for children aged 4–10 years that aims to teach
programming. The user interacts with the application’s environment in a drag and
4 Programming Environments for the Development of Computational Thinking… 49
drop interface using directional arrows for commands. Children must choose the
appropriate arrows to help the hero of the game cross a maze and move on to the
next level (Fig. 4.8). The app comes with over 70 lesson plans for teachers.
Results from the study using commercial programming learning environments
demonstrate that kindergarteners can successfully learn fundamental programming
skills, including sequence, fixing errors and correspondence skills (Pila et al., 2019).
KIBO Robotics Kit The KIBO robotics kit (Fig. 4.9) is designed for children aged
4–7 years and enables them to engage in fun activities derived from engineering and
programming (Sullivan & Bers, 2018; Bers et al., 2019). The KIBO robotics kit
includes software and hardware comprising tangible wooden blocks with a barcode
and a colour image representing symbols and text. The hardware features sensors,
wheels, motors and a scanner (Bers, 2018).
LEGO Education WeDo It combines popular LEGO blocks with a motor, motion,
two tilt sensors and the LEGO USB hub used for connecting the sensors and motors
to the computer (Fig. 4.10). Models created with LEGO blocks can be programmed
using a computer or a tablet (Çakır et al., 2021).
4 Programming Environments for the Development of Computational Thinking… 51
Evo Ozobot It is a small robot for children aged 5 years and up. It offers two ways of
coding and uses sensors to follow lines and read the colour codes created by the user
with colour code markers or stickers (Fig. 4.11). However, it can also be programmed
with its software, Ozo Blockly, which enables students to create programs using dif-
ferent blocks – starting from simple and moving on to more complex coding structures.
The Dash and Dot Robot Wonder Workshop’s Dash is a programmable robot, and
Dot is its sidekick (Fig. 4.12). Dash’s head is fully mobile, and the two powered
wheels of its body enable it to run and rotate. It features position, proximity, micro-
phones, a gyroscope and led lights. Dash can be programmed to do several tasks and
52 K. Louka and S. Papadakis
interact with its surroundings. It can also respond to voice messages and commands
based on applications of a mobile device. At the same time, it can record the user’s
voice and comes with applications that allow Dash’s operation and programming
and the design of new behaviours.
mBot, Arduino Robot Car Is a programmable Makeblock robot that is not deliv-
ered assembled. Indeed, step-by-step instructions are provided to build a robot from
scratch using a screwdriver (Fig. 4.13). The construction process presents an oppor-
tunity for children to learn the basics of robotic mechanisms and electronic compo-
nents. It offers three modes of operation: obstacle avoidance mode, infrared
remote-control operation and line sequence function.
Turtle Robot It is a programmable robot in the form of a turtle (Fig. 4.14). The
robot finds its way to the target, as the coding is implemented through a colour sen-
sor using 24 cards consisting of the robot’s software. Each of these cards gives
instructions for different directions and is inserted into the robot by placing them
under the turtle robot head. In addition, the turtle robot can also be programmed by
following the path along the black line through five colour codes.
Cubetto It is a robotic tool that is not connected to a computer or any other mobile
device. It includes the Cubetto robot, a control board on which the start button and
function bar are located and 16 physical tiles of different colours and shapes that
include different commands: four forward-facing tiles, four 90° left-turn tiles, four
90° right-turn tiles, four-mode tiles and a squared World Map Mat (Fig. 4.15).
Social Robot (SoRo) Toolkit Figure 4.17 allows preschoolers to experiment with
computational concepts while teaching a social robot new rules. The toolkit also
provides a platform for developing interpersonal skills through storytelling that
integrates interpersonal and computational concepts.
54 K. Louka and S. Papadakis
4.4 Discussion
ϳ ϳ
ϲ
ϱ
Ϯ Ϯ Ϯ Ϯ
ϭ ϭ ϭ ϭ ϭ ϭ ϭ ϭ ϭ ϭ
preschool classroom. Pila et al. (2019) also featured the attractiveness of a program-
ming environment as an essential factor for the effective learning of basic program-
ming concepts. Research into the development of educational curricula that will
comprehensively introduce CT and coding in early childhood education is still at an
early stage (Macrides et al., 2021). However, educators who wish to integrate CT
into their classroom could implement interventions using those educational tech-
nologies accompanied by integrated curricula, such as ScratchJr and Kodable (Ching
et al., 2018). But an issue arises which is again related to the prohibitive costs
required to purchase specific programming environments (Ching et al., 2018). This
is linked to the growing trend facing learning programming as a commercial product
(Fessakis et al., 2019). These challenges need to be addressed so that the cultivation
of computational thinking can be successfully integrated into preschool education
(Papadakis, 2020). The scientific community can significantly help this endeavour
by supporting the development of environments based on scientifically substantiated
data and up-to-date technological resources (Bakala et al., 2021).
References
Angeli, C., & Valanides, N. (2019). Developing young children’s computational thinking with
educational robotics: An interaction effect between gender and scaffolding strategy. Computers
in Human Behavior, 105, 1–13. https://doi.org/10.1016/j.chb.2019.03.018
Arfé, B., Vardanega, T., Montuori, C., & Lavanga, M. (2019). Coding in primary grades boosts chil-
dren’s executive functions. Frontiers in Psychology, 10, Article 2713. https://doi.org/10.3389/
fpsyg.2019.02713
56 K. Louka and S. Papadakis
Bakala, E., Gerosa, A., Hourcade, J. P., & Tejera, G. (2021). Preschool children, robots, and com-
putational thinking: A systematic review. International Journal of Child-Computer Interaction,
29. https://doi.org/10.1016/j.ijcci.2021.100337
Bers, M. U. (2018). Coding, playgrounds and literacy in early childhood education: The develop-
ment of KIBO robotics and ScratchJr. In 2018 IEEE global engineering education conference
(EDUCON) (pp. 2094–2102). IEEE. https://doi.org/10.1109/EDUCON.2018.8363498
Bers, M. U., Flannery, L., Kazakoff, E. R., & Sullivan, A. (2014). Computational thinking and
tinkering: Exploration of an early childhood robotics curriculum. Computers & Education, 72,
145–157. https://doi.org/10.1016/j.compedu.2013.10.020
Bers, M. U., González-González, C., & Armas–Torres, M. B. (2019). Coding as a playground:
Promoting positive learning experiences in childhood classrooms. Computers & Education,
138, 130–145. https://doi.org/10.1016/j.compedu.2019.04.013
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, 68. https://doi.org/10.2791/792158
Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the development
of computational thinking. In Proceedings of the 2012 annual meeting of the American educa-
tional research association, Canada (pp. 1–25).
Çakır, R., Korkmaz, Ö., İdil, Ö., & Erdoğmuş, F. U. (2021). The effect of robotic coding education
on preschoolers’ problem solving and creative thinking skills. Thinking Skills and Creativity,
40, Article 100812. https://doi.org/10.1016/j.tsc.2021.100812
Cheng, G. (2019). Exploring factors influencing the acceptance of visual programming environ-
ment among boys and girls in primary schools. Computers in Human Behavior, 92, 361–372.
https://doi.org/10.1016/j.chb.2018.11.043
Ching, Y. H., Hsu, Y. C., & Baldwin, S. (2018). Developing computational thinking with edu-
cational technologies for young learners. TechTrends, 62, 563–573. https://doi.org/10.1007/
s11528-018-0292-7
Çiftci, S., & Bildiren, A. (2020). The effect of coding courses on the cognitive abilities and
problem- solving skills of preschool children. Computer Science Education, 30(1), 3–21.
https://doi.org/10.1080/08993408.2019.1696169
Clarke-Midura, J., Kozlowski, J. S., Shumway, J. F., & Lee, V. R. (2021). How young children
engage in and shift between reference frames when playing with coding toys. International
Journal of Child-Computer Interaction, 28, Article 100250. https://doi.org/10.1016/j.
ijcci.2021.100250
Critten, V., Hagon, H., & Messer, D. (2021). Can preschool children learn programming and cod-
ing through guided play activities? A case study in computational thinking. Early Childhood
Education Journal, 1–13. https://doi.org/10.1007/s10643-021-01236-8
Di Lieto, M. C., Inguaggiato, E., Castro, E., Cecchi, F., Cioni, G., Dell’Omo, M., Laschi, C.,
Pecini, C., Santerini, G., Sgandurra, G., & Dario, P. (2017). Educational Robotics intervention
on Executive Functions in preschool children: A pilot study. Computers in Human Behavior,
71, 16–23. https://doi.org/10.1016/j.chb.2017.01.018
Elkin, M., Sullivan, A., & Bers, M. U. (2016). Programming with the KIBO robotics kit in pre-
school classrooms. Computers in the Schools, 33(3), 169–186. https://doi.org/10.1080/0738056
9.2016.1216251
Falloon, G. (2016). An analysis of young students’ thinking when completing basic coding tasks
using Scratch Jnr. On the iPad. Journal of Computer Assisted Learning, 32(6), 576–593. https://
doi.org/10.1111/jcal.12155
Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5–6 years old kindergarten
children in a computer programming environment: A case study. Computers & Education, 63,
87–97. https://doi.org/10.1016/j.compedu.2012.11.016
Fessakis, G., Komis, V., Dimitracopoulou, A., & Prantsoudi, S. (2019). Overview of the Computer
Programming Learning Environments for primary education. Review of Science, Mathematics
and ICT Education, 13(1), 7–33. https://doi.org/10.26220/rev.3140
4 Programming Environments for the Development of Computational Thinking… 57
Papadakis, S., Kalogiannakis, M., & 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, 10(3), 187–202. https://doi.
org/10.1504/IJMLO.2016.077867
Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. Basic Books.
Pila, S., Aladé, F., Sheehan, K. J., Lauricella, A. R., & Wartella, E. A. (2019). Learning to code via
tablet applications: An evaluation of Daisy the Dinosaur and Kodable as learning tools for young
children. Computers & Education, 128, 52–62. https://doi.org/10.1016/j.compedu.2018.09.006
Portelance, D. J., Strawhacker, A. L., & Bers, M. U. (2016). Constructing the ScratchJr program-
ming language in the early childhood classroom. International Journal of Technology and
Design Education, 26, 489–504. https://doi.org/10.1007/s10798-015-9325-0
Roussou, E., & Rangoussi, M. (2019). On the use of robotics for the development of compu-
tational thinking in kindergarten: Educational intervention and evaluation. In I. M. Merdan,
W. Lepuschitz, G. Koppensteiner, R. Balogh, & D. ObdrŽálek (Eds.), Robotics in education
(pp. 31–44). Springer. https://doi.org/10.1007/978-3-030-26945-6_3
Saxena, A., Lo, C. K., Hew, K. F., & Wong, G. K. W. (2020). Designing unplugged and plugged
activities to cultivate computational thinking: An exploratory study in early childhood edu-
cation. The Asia-Pacific Education Researcher, 29(1), 55–66. https://doi.org/10.1007/
s40299-019-00478-w
Strawhacker, A., & Bers, M. U. (2015). “I want my robot to look for food”: Comparing
Kindergartner’s programming comprehension using tangible, graphic, and hybrid user inter-
faces. International Journal of Technology and Design Education, 25, 293–319. https://doi.
org/10.1007/s10798-014-9287-7
Strawhacker, A., & Bers, M. U. (2019). What they learn when they learn coding: Investigating
cognitive domains and computer programming knowledge in young children. Educational
Technology Research and Development, 67, 541–575. https://doi.org/10.1007/
s11423-018-9622-x
Strawhacker, A., Lee, M., & Bers, M. U. (2018). Teaching tools, teachers’ rules: Exploring
the impact of teaching styles on young children’s programming knowledge in ScratchJr.
International Journal of Technology and Design Education, 28, 347–376. https://doi.
org/10.1007/s10798-017-9400-9
Sullivan, A., & Bers, M. U. (2016). Robotics in the early childhood classroom: Learning out-
comes from an 8-week robotics curriculum in prekindergarten through second grade.
International Journal of Technology and Design Education, 26, 3–20. https://doi.org/10.1007/
s10798-015-9304-5
Sullivan, A., & Bers, M. U. (2018). Dancing robots: Integrating art, music, and robotics in
Singapore’s early childhood centers. International Journal of Technology and Design
Education, 28, 325–346. https://doi.org/10.1007/s10798-017-9397-0
Sullivan, A., & Bers, M. U. (2019). Investigating the use of robotics to increase girls’ interest in
engineering during early elementary school. International Journal of Technology and Design
Education, 29, 1033–1051. https://doi.org/10.1007/s10798-018-9483-y
Sullivan, A., Kazakoff, E. R., & Bers, M. U. (2013). The wheels on the bot go round and round:
Robotics curriculum in prekindergarten. Journal of Information Technology Education, 12,
203–219. https://doi.org/10.28945/1887
Sullivan, A., Bers, M., & Pugnali, A. (2017). The impact of user interface on young children’s com-
putational thinking. Journal of Information Technology Education: Innovations in Practice, 16,
171–193. https://doi.org/10.28945/3768
Sung, W., Ahn, J., & Black, J. B. (2017). Introducing computational thinking to young learn-
ers: Practising computational perspectives through embodiment in mathematics edu-
cation. Technology, Knowledge and Learning, 22, 443–463. https://doi.org/10.1007/
s10758-017-9328-x
4 Programming Environments for the Development of Computational Thinking… 59
Walsh, C., & Campbell, C. (2018). Introducing coding as a literacy on mobile devices in the early
years. In G. Oakley (Ed.), Mobile technologies in children’s language and literacy: Innovative
pedagogy in preschool and primary education (pp. 51–66). Emerald Publishing Limited.
https://doi.org/10.1108/978-1-78714-879-620181004
Wang, X. C., Choi, Y., Benson, K., Eggleston, C., & Weber, D. (2021). Teacher’s role in foster-
ing preschoolers’ computational thinking: An exploratory case study. Early Education and
Development, 32(1), 26–48. https://doi.org/10.1080/10409289.2020.1759012
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://
doi.org/10.1145/1118178.1118215
Xiao, Y., & Watson, M. (2017). Guidance on conducting a systematic literature review. Journal of
Planning Education and Research, 39(1), 93–112. https://doi.org/10.1177/0739456X17723971
Part II
Elementary/Primary School
Chapter 5
Developing Computational Fluency via
Multimedia Stories
5.1 Introduction
Computational thinking (CT) and related concepts like programming and algorith-
mic thinking have been advocated by educational stakeholders as abilities for all
that are as fundamental as numeracy and literacy. Several educational policy docu-
ments describe how coding activities are introduced into the curriculum to promote
concepts and practices that are central to CT (Bocconi et al., 2022; Grover &
Pea, 2018).
According to the Italian pedagogist Loris Malaguzzi (1987), children use a hun-
dred different languages to express themselves, and coding can offer them one fur-
ther means of expression, in line with their interests in the digital world. The creation
of digital programs can be viewed as an expressive process that allows for new ways
to communicate ideas (Bers et al., 2019). Children use both traditional and new
media as means of creative expression (Ackermann, 2008). While exposure to
media and digital technology is pervasive in our society, economic and social differ-
ences result in a digital divide that ought to be addressed in school proactively,
especially at the compulsory level (Bocconi et al., 2022).
Students’ approaches to interactive multimedia constructions stem from their
personal experience of TV shows, cartoons, videogames and the like: artefacts they
are familiar with from a very young age. They expect the programs they construct
to have several characters moving simultaneously and the possibility for users to
interact with them, e.g. by clicking on a character (Brennan & Resnick, 2013).
Thus, some coding concepts that are traditionally considered as advanced
(Meerbaum-Salant et al., 2013) emerge very early in students’ experience, like
events (allowing characters to interact and synchronize behaviour) and concurrency
(several actions occurring at the same time). The need for a programming environ-
ment providing these characteristics (Whalley, 2007) was clear from the early days
of Logo, the first programming language specifically designed to be accessible to
children (Solomon et al., 2020). ‘Suppose, for example, that a child wishes to create
a movie on the computer screen with three separate moving objects. The natural
way to do this would be to create a separate procedure for each object and set the
three going. Serial computer systems force a less logical way to do this. […] much
more research may be needed before a consensus emerges about the right way (or
set of ways) to achieve a really good multi-processing system suitable for children’
(Papert, 1980, p. 222). Papert’s and Resnick’s research groups at the MIT Media
Lab devoted particular attention to developing a multiprocessing programming
environment for children. Early development to address concurrency started with
MultiLogo (Resnick, 1990), leading to the more recent development of Scratch
(Maloney et al., 2010).
From the teacher’s point of view, the use of programming for the creation of digi-
tal stories can be framed as the act of writing a story, which can be as simple as a
Christmas card or as complex as a long fantasy narrative. Generally speaking, teach-
ers are well versed in teaching children how to plan, organize, create and check a
piece of writing and can therefore use this know-how in supporting students’ coding
projects, exploiting pedagogical approaches commonly applied in other learning
contexts (Burke, 2012; Waite et al., 2018).
Thus, learning to code is not approached as a sequence of isolated problems to
solve, but rather by involving students in meaningful and playful projects, which
become more and more complex as the students’ mastery of the language increases.
Students usually learn best when creatively engaged in the pursuit of a personally
meaningful project that presents them with a context in which problems need to be
faced and solved (Papert, 1996, p. 98).
When learning a new written language, several different abilities need to be acquired
and practiced. It means being able to understand linguistic messages (read) as well
as produce the language (write), but also learning to write in such a way as to make
messages understandable to others. Babies immediately start to familiarize with
spoken language while interacting with their parents, and by the time they reach the
age for learning to read and write their mother tongue, they are proficient in its oral
use. When learning a programming language, the novice programmer needs to start
directly with a symbolic written form, which may be rather difficult especially at a
young age.
Being able to make meaning when reading individual instructions, a sequence of
instructions, or while debugging (i.e. finding and correcting errors) a whole pro-
gram is crucial. Thus, some approaches to teaching programming start from read-
ing, by presenting students with existing programs to work with before asking them
5 Developing Computational Fluency via Multimedia Stories 65
to produce their own. The approach known as TIPP & SEE (Salac et al., 2020)
builds on natural language reading comprehension approaches to promote preview
(Title, Instructions, Purpose, Play) and then identification of code structure (Sprites,
Events, Explore). Similarly, PRIMM (Sentance et al., 2019) scaffolds students’ pro-
gramming skills by asking them to predict what a given code would do before actu-
ally running it (Predict, Run…). After having checked their prediction, the code is
studied and modified, gradually leading to the ultimate making of original programs
(…Investigate, Modify, Make). This approach supports reading and tracing code,
adapting existing code and moving between different levels of abstraction.
This chapter describes a structured activity designed to support the reading com-
prehension of a code, which was part of a larger project aimed at the introduction of
CT into Italian primary schools.
In Italy, primary school lasts 5 years and is generally attended by pupils aged from
6 to 11 years. Children are grouped in classes according to their age level. Classes
usually range from a minimum of 15 students to a maximum of 26–27, but those
including students with special educational needs have a maximum of 20. The
school day can be either full time (totalling around 40 school hours per week) or
part time (usually from 24 to 30 h per week). Part-time classes normally have only
one generalist teacher, while full-time classes usually have two teachers, who alter-
nate their class time. Teachers stay with the same class of students from grade to
grade, following them through the whole 5-year span of primary school.1
In the Italian education system, national guidelines provide schools with a refer-
ence framework for developing their own curricula, defining general and specific
learning objectives, setting compulsory subjects and fixing timetables for each level
of education. CT is not part of Italy’s official national curriculum guidelines for
compulsory education. Nevertheless, the Ministry of Education has issued two
major policy documents on digital education that address CT: National Strategy for
Digital Schools (MIUR, 2015) and National Indications and New Scenarios (MIUR,
2018). In these documents, CT is considered a key topic to be promoted in schools.
In addition, the ministry has supported initiatives such as EU Code Week2 and pro-
moted a national pilot project called Programma il Futuro,3 a multiyear project for
the introduction of CT and coding at school (Corradini et al., 2017) requiring at
least 10 h of coding per year.
1
https://eacea.ec.europa.eu/national-policies/eurydice/content/teaching-and-learning-primary-
education-23_en
2
https://codeweek.eu/
3
https://programmailfuturo.it/
66 R. Bottino et al.
Within this frame, a longitudinal project was carried out to investigate the introduc-
tion of age-appropriate programming activities in a primary school located in
Genoa, Italy. The project (Chioccariello et al., 2020) aimed to introduce program-
ming from grades 1 to 5. This involved defining how the new activities would fit into
the weekly schedule, how much time could be devoted to them and how non-
specialist teachers could support students at all school levels. In all grades, pro-
gramming was introduced as an expressive tool and was usually integrated with the
other class activities.
The project spanned over 4 years, with classes from all grades being involved in
programming activities for the whole school year. An iterative approach drawing on
design-based research (Cobb et al., 2003) was adopted, with the aim of investigating
different aspects:
• The conditions under which age-appropriate programming activities could be
successfully introduced in a primary school.
• Indications for future sustainability of the programming activities after the end of
the project.
• Suggestions for the introduction of programming in other Italian primary schools.
The primary school in which the field work was carried out has about 300 stu-
dents and 35 teachers, organized into 15 classes. Since participation in the project
was voluntary for teachers, during the first year only two classes were involved.
However, in the following years the number increased, eventually extending to eight
classes in the last year in all five grade levels. Programming activities were inte-
grated into the school schedule by taking advantage of the pre-existing 1 h per week
technology lesson. Furthermore, in the higher grades a project-based approach was
adopted, with the teacher selecting a common theme from the standard curriculum
(Fig. 5.1).
In grades 1 and 2 (6- to 7-year-old students), activities started from tangible pro-
gramming with Cubetto (Yu & Roque, 2018), a small cube-shaped robot that can be
programmed through a tangible programming interface by placing physical blocks
in a sequence on a programming board. Usually, the activities were performed in the
classroom (Fig. 5.2), focusing on a narrative context as a common thread, an aspect
central to children’s motivation. Often, staging stories means having to decide the
path along which a character moves while considering certain conditions, such as
choosing the shortest path possible or avoiding obstacles. Students worked in groups
of four, each looking for the solution to one specific problem.
After the very first approach to programming with Cubetto, ScratchJr4 was intro-
duced. ScratchJr is a visual programming environment designed for young children
that is programmed by assembling large iconic blocks using the touch interface of a
tablet (Fig. 5.3). This means users do not need to know how to read, or have the
4
ScratchJr official website: https://www.scratchjr.org/
5 Developing Computational Fluency via Multimedia Stories 67
Fig. 5.1 The organization of project activities in the primary school participating in the project
dexterity required to use keyboard and mouse (Flannery et al., 2013). Students
worked in pairs in their classroom, gradually moving from simple programs (e.g. a
character that plays a recorded sound when tapped) to more complex sequences of
instructions using loops and events to build animations, stories and games.
Starting from grade 3 (8- to 9-year-old students), the Scratch programming envi-
ronment (Maloney et al., 2010) was introduced. Scratch is one of the most widely
used visual block programming environments for children of that age bracket
(Fig. 5.4). It offers an intuitive and easy to use programming language, which has a
‘low floor, high ceiling and wide walls’ (Resnick & Silverman, 2005): it provides
easy ways for novices to get started (low floor), but also ways for them to work on
increasingly sophisticated projects over time (high ceiling) while supporting and
suggesting a wide range of different explorations (wide walls). The Scratch online
68 R. Bottino et al.
Fig. 5.3 The ScratchJr interface. The program is assembled by manually dragging the iconic
programming blocks in the bottom area
Fig. 5.4 The Scratch programming environment with its block palette (left), programming area
(middle), the running program (top right) and list of characters (bottom right). The script shown
here animates a jellyfish moving from the bottom to the top of the screen. (https://scratch.mit.edu/
projects/347074379/)
In their first approach to programming, primary school students usually opt for short
programs that can be started and finished within a single lesson. Furthermore, when
faced with an issue, they often give up and start a new program instead of trying to
understand the issue and correct their code. This attitude can be useful in the early
70 R. Bottino et al.
stages of learning since it allows students to quickly complete their work and reach
their objectives, which boosts satisfaction and motivation. But, as their abilities
grow, limiting their work to short and simple programs can hinder progress in their
learning, so that reach a sort of plateau in their fluency with the programming lan-
guage (Meerbaum-Salant et al., 2011; Aivaloglou & Hermans, 2016).
In order to be capable of taking on larger projects, novice programmers need to
learn to read and comprehend code. This allows them to correct software errors,
continue an unfinished program, reuse parts of code in new programs, etc. Moreover,
being able to read and understand code makes it possible to integrate parts of a code
that have been developed by other programmers. Reading other people’s code
exposes the novice programmer to different programming styles and to the use of
new commands, widening both the specific knowledge of the programming lan-
guage used and general coding abilities.
The Scratch programming environment supports the reuse of existing code in
two different ways:
• ‘Remixing’ an existing project, i.e. making a personal copy of the project, which
can then be modified and adapted to a new use without changing the origi-
nal version
• Copying single parts of another project, such as pieces of code, images, charac-
ters and their associated code, etc.
It is important to encourage students to use these possibilities to foster their flu-
ency in the given language. To this end, several activities were carried out in the
study, including debugging simple projects (i.e. students were given programs with
errors that they had to find and correct), challenging students to continue a given
narration, pushing them to work cooperatively on the production of a story.
Thus, promoting learners’ agency by allowing for free exploration of the pro-
gramming environment is gradually complemented by more structured activities
offering young programmers the possibility to work on projects that match their
personal interests while giving them a structure to guide and motivate their work.
Digital storytelling was identified as a good starting point for fostering students’
acquisition of the abilities needed to read and understand code. Storytelling gener-
ally gains students’ interest and is also relatively easy for teachers to handle in the
classroom (Di Blas & Ferrari, 2014). Accordingly, we proposed ‘Pass-it-on’ from
the Creative Computing Curriculum Guide (Brennan et al., 2011, p. 74), which calls
on leaners to create a story via iterative remixes of an initial story idea. The activity
comprises the following phases (Fig. 5.5):
1. Each participant invents a story and starts programming it in Scratch. In this
phase, the story is not completed; only the beginning is coded.
5 Developing Computational Fluency via Multimedia Stories 71
Fig. 5.5 The four phases of the ‘Pass-it-on’ activity: each participant starts a new story, continues
someone else’s story and then finishes yet another story. At the end, all stories are shared
2. Each participant then continues another’s story in their own fashion, adding new
Scratch coding in the process. It is important that the original story is actually
taken on board – the continuation should merge with its beginning and not
override it.
3. Another participant takes over the reworked story and completes it.
4. A class discussion is held so students can reflect together on how their original
story ideas evolved into the final version. Since some children have strong feel-
ings about seeing their original story drastically changed, matters of ownership
and respect of different viewpoints need to be addressed.
Brennan and colleagues’ original version of ‘Pass-it-on’ was conceived to fit within
a 1-h coding workshop. The teachers and researchers involved in the study worked
together to adapt it so it would be feasible for the primary school context in ques-
tion. Specifically:
• While the Creative Computing Curriculum Guide suggests devoting about
10 min to each phase of the activity, in the school setting much more time was
needed. At least a whole 1-h lesson was devoted to each phase, and in some cases
two lessons were needed.
• Before starting coding activities in the computer lab, students were provided
with some preliminary support for performing their work.
In the latter case, before starting the entire activity, students were given an expla-
nation of the typical structure of stories: a beginning, a central body and an end
(Else, 1938, p. 187). Some short stories or tales were analysed to give them a better
grasp of this concept. After this preparation, the first coding session was held, and
72 R. Bottino et al.
all the participating students started creating an original story. This was to have at
least one setting and one character doing or saying something.
Before commencing Phase 2, students were provided with some suggestions on
how story beginnings can be continued, for example, by adding a new character or
a new setting, or imagining what might happen to the existing characters, how the
existing setting could be better adapted to the story, etc. Furthermore, some basic
structural rules were imposed: students were not allowed to delete existing charac-
ters; they had to be respectful of the original version of the story and had to use that
as the starting point of their own version – starting all over again was not allowed.
After this preparation, each student worked on the story that was assigned to them
and continued it. In a similar manner, before the Phase 3 session began, several
ways in which a story could end were illustrated.
In order to make the transition between the three activity phases as smooth as
possible, each class teacher decided who would continue whose story, taking into
consideration their students’ various interests and attitudes.
As it happened, student absences in the different phase sessions meant that some
stories ended up with multiple continuations, while a few stories remained
unfinished.
Finally, in the last phase of the meeting, students had the possibility to see how
the stories they worked at evolved and a discussion on the differences between the
original idea and the completed stories was organized.
Classroom implementation of the ‘Pass-it-on’ activity took place between
October and December 2019. Four classes participated in the activity: two grade 4
and two grade 5 classes. In total, 74 students aged between 9 and 11 years and four
teachers were involved. Students were free to choose to work either individually or
in pairs; most worked individually, with 68 stories being completed. Two research-
ers were present at all the sessions and observed students at work. In this manner
they could focus on emerging issues, noting those that arose most commonly, while
the teachers managed the class and sometimes called on the researchers for help
when a specific technical issue arose.
the code. Other times, they experienced problems due to a lack of knowledge of the
programming language. Coding errors were the most difficult issue students had to
face. One of the most common errors students committed was linked to the initial
status of the program. Since Scratch automatically saves the current status of a pro-
gram, an explicit initialization is needed to guarantee the correct starting position of
the characters, background, initial values of variables, etc.
An analysis of the 68 complete stories5 was performed by comparing the three
versions of each and evaluating the coherence of the story, in terms of code and the
narrative (Table 5.1). All works were classified as being either completely coherent,
partially coherent or not coherent at all. When, for example, an original character
was deleted, or just a final screen with the word ‘End’ was added at the final phase,
the story was evaluated as ‘partially coherent’. When the story changed completely
between two different phases, it was evaluated as ‘not coherent’. Two researchers
looked at the three versions of each story and then compared their evaluations.
In total, 60.29% of the completed stories were judged as having evolved in a
coherent manner, 20.59% were considered partially coherent, while 19.12% pre-
sented signs of incoherence, e.g. new parts of the story (characters or environments)
were not related to previously existing parts.
After the activity was completed, a short questionnaire was submitted to one
grade 5 class to collect the students’ opinions on the activity; 19 questionnaires
were collected and analysed (Fig. 5.6).
The students were asked if they had had previous experience of the remix func-
tion: 31.58% confirmed to have used the function before, while 47.37% had not, and
another 21.05% did not remember. This means that, even though students had been
working with Scratch for more than a year, few of them had experience of remixing
other people’s projects. The study activity was therefore an interesting opportunity
to invite students to see other programmer’s work, stretching their experience
beyond their personal projects. Out of those students surveyed, 63.16% reported
difficulty in remixing and continuing someone else’s project, while 31.58% found it
nice or amusing or enjoyable, and 5.26% did not express any feeling.
With respect to having other people remixing and continuing their own story,
students answered with a free text, often reporting more than one feeling. Moreover,
57.89% expressed curiosity, 42.11% concern, 15.79% both curiosity and concern,
5
All the developed stories are available at https://scratch.mit.edu/studios/31366585/
74 R. Bottino et al.
while 31.58% reported other specific feelings (curiously, half of these were negative
and the other half positive).
Finally, respondents were asked whether ‘Pass-it-on’ differed positively or nega-
tively from previous Scratch activities they had performed: 52.63% confirmed that
the activity was different from the other ones, in a positive manner, and only 21.05%
reported a negative difference, while 26.32% of the students did not feel the activity
was different from the others.
At the end of the longitudinal project, semi-structured interviews were held with
two teachers. Data gained from qualitative analysis performed, along with observa-
tions that the researchers made over the entire project, provided an overall picture of
the teacher’s perspective.
In general, teachers appreciated that the lab programming activities were linked
to curricular contents. Storytelling is frequently adopted in primary education, and
teachers are proficient in conducting it with the class, so this contributed a degree of
familiarity and confidence. Using a computer language for storytelling, on the other
hand, creates some issues as basic computer science concepts are not part of the
primary teachers’ background. Our project allowed the participating teachers to
appreciate children’s positive involvement in programming activities. Furthermore,
5 Developing Computational Fluency via Multimedia Stories 75
the technical support of researchers in the programming lab provided a safety net
that gave teachers confidence in participating in the project and managing the con-
nection with curricular activities.
5.5 Conclusions
other structured activities like ‘Pass-it-on’, which focus on specific skills, are
needed. One such skill that could be addressed in this manner is debugging.
The ‘Pass-it-on’ activity was completed before the lockdown introduced in
response to the COVID-19 pandemic. During the lockdown period, all the four
classes involved managed to continue their group projects working online from
home (Benvenuti et al., 2021). This indicates that they acquired a good level of flu-
ency in the use of the chosen programming environment. While this approach seems
promising and well accepted by the students and teachers involved, future work is
planned on the sustainability of this approach once the research phase and the direct
involvement of the researchers in class activities concludes. To this end, learning
materials and an online teacher professional development course has been devel-
oped with the aim of upskilling primary teachers for the introduction of computa-
tional thinking and coding into the curriculum.6 However, the development of
teachers’ pedagogical content knowledge on computational thinking and program-
ming requires a long-term intervention (Kong et al., 2020) with regular opportuni-
ties for professional development.
5.6 Facilitating Diagram
6
See the course ‘Pensiero computazionale e coding nella scuola primaria’ at https://presentedig-
itale.it/
5 Developing Computational Fluency via Multimedia Stories 77
5.7 Links
• Programming cards and Scratch Tutorials present on the official Scratch website
(https://scratch.mit.edu/ideas) were translated into Italian and have now been
integrated directly into the Scratch online platform.
• The adapted Italian version of the Pass-it-on activity, including a reflection page
for students:
https://drive.google.com/file/d/1kH1Z7gJO7uLxt00Ila81OdbuAY9MKJLh/
view?usp=sharing
• The questionnaires collected in the grade 5 class (in Italian):
https://drive.google.com/file/d/1wEaL9cTXm25SoOPpUXp
ZduxnIA6aPBIV/view?usp=sharing
• Links to all the stories that were created and their analysis (in Italian):
h t t p s : / / d r ive . g o o g l e . c o m / fi l e / d / 1 u Q X m 1 H 8 g 6 o E s y p RY 2 N 6 R w
D61DhSML4UK/view?usp=sharing
References
Benvenuti, M., Chioccariello, A., Freina, L., & Panesi, S. (2021). Collaborative construction of
scratch projects with 9-11 year old students during Covid-19 lockdown. In EDULEARN21 pro-
ceedings (pp. 5952–5961). International Academy of Technology, Education and Development.
https://doi.org/10.21125/edulearn.2021.1203
Bers, M. U., González-González, C., & Armas–Torres, M. B. (2019). Coding as a playground:
Promoting positive learning experiences in childhood classrooms. Computers & Education,
138, 130–145. https://doi.org/10.1016/j.compedu.2019.04.013
Bocconi, S., Chioccariello, A., Kampylis, P., Dagienė, V., Wastiau, P., Engelhardt, K., Earp, J.,
Horvath, M. A., Jasutė, E., Malagoli, C., Masiulionytė-Dagienė, V., & Stupurienė, G. (2022).
Reviewing computational thinking in compulsory education. Publications Office of the
European Union. https://doi.org/10.2760/126955
Brennan, K., & Resnick, M. (2013). Imagining, creating, playing, sharing, reflecting: How
online community supports young people as designers of interactive media. In C. Mouza &
N. Lavigne (Eds.), Emerging technologies for the classroom: A learning sciences perspective
(pp. 253–268). Springer. https://doi.org/10.1007/978-1-4614-4696-5_17
Brennan, K., Balch, C., & Chung, M. (2011). Creative computing curriculum guide (pp. 1–149).
Harvard Graduate School of Education. https://creativecomputing.gse.harvard.edu/guide/cur-
riculum.html
Burke, Q. (2012). The markings of a new pencil: Introducing programming-as-writing in the mid-
dle school classroom. Journal of Media Literacy Education, 4(2), 121–135. https://digitalcom-
mons.uri.edu/jmle/vol4/iss2/3
Chioccariello, A., Bottino, R., Panesi, S., & Freina, L. (2020, October 28–30). A longitudi-
nal approach for introducing programming in Italian Primary School – Practical report.
In 15th Workshop in Primary and Secondary Computing Education (WiPSCE ‘20),
Virtual event, Germany (pp. 1–6). Association for Computing Machinery. https://doi.
org/10.1145/3421590.3421599
Cobb, P., Confrey, J., DiSessa, A., Lehrer, R., & Schauble, L. (2003). Design experiments in edu-
cational research. Educational Researcher, 32(1), 9–13.
Corradini, I., Lodi, M., & Nardelli, E. (2017). Computational thinking in Italian schools:
Quantitative data and teachers’ sentiment analysis after two years of ‘Programma il
Futuro’. In Proceedings of the 2017 ACM conference on innovation and technology in com-
puter science education (pp. 224–229). Association for Computing Machinery. https://doi.
org/10.1145/3059009.3059040
Di Blas, N., & Ferrari, L. (2014). Digital storytelling at school: What kind of educational ben-
efits? International Journal of Arts and Technology, 7(1), 38–54. https://doi.org/10.1504/
IJART.2014.058942
Else, G. F. (1938). Aristotle on the beauty of tragedy. Harvard Studies in Classical Philology, 49,
179–204.
Flannery, L. P., Silverman, B., Kazakoff, E. R., Bers, M. U., Bontá, P., & Resnick, M. (2013,
June). Designing ScratchJr: Support for early childhood learning through computer program-
ming. In Proceedings of the 12th international conference on interaction design and children
(pp. 1–10). Association for Computing Machinery. https://doi.org/10.1145/2485760.2485785
Grover, S., & Pea, R. (2018). Computational thinking: A competency whose time has come. In
S. Sentance, E. Barendsen, & C. Schulte (Eds.), Computer science education: Perspectives on
teaching and learning in school (pp. 19–38). Bloomsbury Publishing.
Kong, S.-C., Lai, M., & Sun, D. (2020). Teacher development in computational thinking: Design
and learning outcomes of programming concepts, practices and pedagogy. Computers and
Education, 151, 103872. https://doi.org/10.1016/j.compedu.2020.103872
Malaguzzi, L. (1987). The hundred languages of children. In The hundred languages of children
(I cento linguaggi dei bambini. Exhibition catalogue, pp. 16–21). Reggio Children.
Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The scratch program-
ming language and environment. ACM Transactions on Computing Education (TOCE), 10(4),
1–15. https://doi.org/10.1145/1868358.1868363
5 Developing Computational Fluency via Multimedia Stories 79
Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2011). Habits of programming in scratch. In
Proceedings of the 16th annual joint conference on Innovation and Technology in Computer
Science Education – ITiCSE ‘11 (p. 168). Association for Computing Machinery. https://doi.
org/10.1145/1999747.1999796
Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2013). Learning computer science concepts
with scratch. Computer Science Education, 23(3), 239–264. https://doi.org/10.1080/0899340
8.2013.832022
MIUR. (2015). Piano Nazionale Scuola Digitale. https://www.miur.gov.it/scuola-digitale
MIUR. (2018). Indicazioni Nazionali e Nuovi Scenari https://www.miur.gov.it/documents/20182/0/
Indicazioni+nazionali+e+nuovi+scenari/
Papert, S. (1980). Mindstorms: Computers, children, and powerful ideas (p. 255). Basic Books.
https://dl.acm.org/doi/epdf/10.5555/1095592.C1104764
Papert, S. (1996). An exploration in the space of mathematics educations. International Journal of
Computers for Mathematical Learning, 1(1). https://doi.org/10.1007/BF00191473
Resnick, M. (1990). MultiLogo: A study of children and concurrent programming. Interactive
Learning Environments, 1(3), 153–170. https://doi.org/10.1080/104948290010301
Resnick, M., & Rosenbaum, E. (2013). Designing for tinkerability. In M. Honey & D. Kanter
(Eds.), Design, make, play: Growing the next generation of STEM innovators (pp. 163–181).
Routledge.
Resnick, M., & Silverman, B. (2005). Some reflections on designing construction kits for kids.
In Proceedings of the 2005 conference on interaction design and children (pp. 117–122).
Association for Computing Machinery. https://doi.org/10.1145/1109540.1109556
Salac, J., Thomas, C., Butler, C., Sanchez, A., & Franklin, D. (2020). TIPP&SEE: A learning strat-
egy to guide students through use – Modify scratch activities. In Proceedings of the 51st ACM
technical symposium on computer science education (pp. 79–85). Association for Computing
Machinery. https://doi.org/10.1145/3328778.3366821
Sentance, S., Waite, J., & Kallia, M. (2019). Teaching computer programming with PRIMM: A
sociocultural perspective. Computer Science Education, 29(2–3), 136–176. https://doi.org/1
0.1080/08993408.2019.1608781
Solomon, C., Harvey, B., Kahn, K., Lieberman, H., Miller, M. L., Minsky, M., Papert, A., &
Silverman, B. (2020). History of logo. Proceedings of the ACM on Programming Languages,
4(HOPL), 79:1–79:66. https://doi.org/10.1145/3386329
Waite, J., Curzon, P., Marsh, W., & Sentance, S. (2018). Comparing K-5 teachers’ reported use
of design in teaching programming and planning in teaching writing. In Proceedings of the
13th workshop in primary and secondary computing education (pp. 1–10). Association for
Computing Machinery. https://doi.org/10.1145/3265757.3265761
Whalley, P. (2007). Modifying the metaphor in order to improve understanding of control lan-
guages—The little-person becomes a cast of actors. British Journal of Educational Technology,
38(4), 715–726. https://doi.org/10.1111/j.1467-8535.2006.00642.x
Yu, J., & Roque, R. (2018, June). A survey of computational kits for young children. In
Proceedings of the 17th ACM conference on interaction design and children (pp. 289–299).
ACM: Trondheim, Norway.
Chapter 6
Scaffolding Engagement with Educational
Technologies to Develop Computational
Thinking in Year 1 Girls
6.1 Introduction
Educational technologies are important tools for developing coding and computa-
tional skills in early learners. Such tools as Makey Makey, Micro:bit, Minecraft
Education Edition and a wide array of bots are becoming increasingly accessible in
primary schools. Used more commonly with students aged 8 years and older, this
chapter discusses how an array of educational technologies can be used to support
the development of computational thinking in children as young as 5 and 6 years.
This chapter provides an example from a Year 1 class in which educational tech-
nologies were used to introduce coding and computational thinking as mobile and
social learning tools. This chapter also challenges common misconceptions about
the suitability of educational technologies that are often reserved for older children
and offers practical strategies to use them effectively with children who are in the
early years of formal schooling. This exposure to educational technology from a
young age is thought to provide the foundations for later learning and for children’s
ongoing creative and appropriate application of digital tools.
F. Mayne (*)
University of Western Australia, Perth, Australia
e-mail: fiona.mayne@uwa.edu.au
B. Bath
Methodist Ladies College, Claremont, WA, Australia
e-mail: bbath@mlc.wa.edu.au
6.2 Background
The terms ‘computer programming’, ‘coding’ and ‘computational thinking’ are all
rooted in computer science and are characterized by engagement in an analytical
process of problem-solving. While coding is generally viewed as being difficult to
learn (Qian & Lehman, 2017), computational thinking, or the ability to break prob-
lems down into their component parts (decomposition) to efficiently solve problems
and create solutions, is regarded instead as an essential skillset which is universally
relevant to children’s lives (Wing, 2006). For example, children who master compu-
tational thinking are able to use digital systems and a range of information process-
ing strategies to organize data, define abstract concepts, employ a sequence of steps
to solve a problem, interpret patterns, model situations and work with algorithms
(ACARA, 2015).
84 F. Mayne and B. Bath
patterns in data, listing and sequencing instructions and designing solutions to sim-
ple problems using a sequence of steps and decisions. Children in this age band are
also expected to design and safely produce solutions in a prescribed range of con-
texts and evaluate and communicate their ideas face-to-face and online.
In its support documentation, the Australian Curriculum identifies computational
thinking as a key idea underpinning the digital technologies subject. It is defined as
the techniques and strategies applied within a digital system to solve a problem.
These strategies include breaking down problems into parts (decomposition), logi-
cal organization of data (abstraction), interpreting patterns (pattern recognition),
applying models to represent situations (models and simulations), applying patterns
to new solutions (generalization) and designing and implementing algorithms (algo-
rithms). These key concepts establish a way of thinking about problems and how
digital solutions can be organized, represented and automated in both non-digital
and digital settings and can be further synthesized as follows:
• ‘Abstraction, which underpins all content, particularly the content relating to the
concepts of data representation, and specification, algorithms and
implementation;
• data collection (properties, sources and collection of data), data representation
(symbolism and separation) and data interpretation (patterns and contexts);
• specification (descriptions and techniques), algorithms (following and describ-
ing) and implementation (translating and programming);
• digital systems (hardware, software, and networks and the internet), and,
• Interactions (people and digital systems, data and processes) and impacts (sus-
tainability and empowerment)’. (ACARA, 2021, “Computational thinking”).
With the inclusion of computational thinking as a key idea in the Technologies
learning area of the Australian Curriculum, the key question is ‘not whether to teach
computational thinking in early childhood, but how to best select developmentally
appropriate tools and curricula to do so’ (Pugnali et al., 2017, p. 173). The following
section describes the context of the learning experiences delivered and goes on to
describe how these were applied to the learning of computational thinking with the
students in the classroom.
The vignette described here involved a collaboration between a class of Year 1 girls
at an Australian independent school and a class of Master of Teaching preservice
teachers in an Australian university who were studying early childhood and primary-
level technology education as part of their teaching degree and their teachers (who
are also the authors of this chapter). The collaboration between the Year 1 class and
the university was initiated as part of an assessment task for the preservice teachers
to provide them with an authentic opportunity to design, teach and assess a compu-
tational thinking lesson to the Year 1 students which incorporated a range of
86 F. Mayne and B. Bath
Fig. 6.1 Educational technologies used with Year 1 girls. (These photos by unknown authors are
licensed under CC BY-SA-NC)
6 Scaffolding Engagement with Educational Technologies to Develop Computational… 87
The incursion by the preservice teachers into the Year 1 classroom was initially
coordinated by the classroom teacher and university lecturer. However, in the sec-
ond incursion the Year 1 children were empowered by their teacher to play an active
role in planning the incursion and liaising with the preservice teachers, with their
teacher acting as intermediary. The preservice teachers brought their lessons pre-
loaded on their own laptops and were availed of the school’s Wi-Fi connection. To
mirror the preservice teachers’ four groups, the Year 1 students were also divided
into four groups of around six students in each. In many cases, this resulted in a
one-to-one ratio of preservice teachers to Year 1 students. The incursion took place
during the regular school morning from 9.30 am to 10.30 am for the first session and
then groups rotated for the second session which ran from 11 am to 12 noon. This
meant that the preservice teachers taught their lesson twice and the Year 1 students
experienced two different technologies. When the second group of preservice teach-
ers visited later in the same year, the Year 1 students engaged with the two technolo-
gies that they had not yet experienced. This meant that the Year 1 students were
using the technologies to develop their computational thinking for a total of 4 h.
This comprised four intensive 1-h sessions with each of the four technologies.
The preservice teachers were asked to design a 1-h integrated learning experience
that used the educational technology tool they had previously researched to teach an
element of the Design and Technologies subject, which was to be derived from the
associated sequence of content for Year 1. This was designed to support the recom-
mendation stated in the Technologies learning area materials that children in the
Foundation to Year 2 band should be afforded opportunities to create designed solu-
tions in a range of contexts (ACARA, 2015). In the full lesson plans created by the
preservice teachers, specific links were included to the relative curriculum docu-
ments, a student self-evaluation task (formative assessment) and a rubric to score
students against the lesson learning goals (summative assessment) at the conclusion
of their lesson. The preservice teachers were subsequently graded on their reflec-
tions on delivery of their lesson and assessment tasks. Four learning experiences
were conducted with the students. These are described below along with insight into
the computational thinking that was embedded in each.
6.4.1 Micro:Bit
The first learning experience used Micro:bit (summarized in Fig. 6.2) and involved
students designing and coding a Micro:bit character (on a 5 × 5 grid to form a pix-
elated image). This image was then used to play a reaction game with a partner that
involved the students trying to be the first to ‘snap’ a foil sensor connected to their
88 F. Mayne and B. Bath
Micro:bit
Extension Students can design and code their own Reaction Game.
Assessment Can the character design be coded successfully to display on the Micro:bit?
Fig. 6.2 Micro:bit learning experience summary showing applicable elements of computational
thinking
Micro:bit. The Micro:bit circuit had been pre-prepared by the preservice teachers
running this activity and they supported the students as necessary to complete
the task.
The computational thinking that was evident in the Micro:bit lesson included
logically organizing visual data to create a pixelated image (abstraction), interpret-
ing dots representing a range of simple images (data representation and data inter-
pretation) and describing the image they had drawn on their grid (specification).
When it came to transferring the design to the Micro:bit, the students were sup-
ported to follow a series of simple coding steps using Block Editor (algorithms and
implementation). The process of connecting the Micro:bit to the computer and then
to the reaction game pieces also involved engagement with two different digital
systems (digital systems).
6.4.2 Makey Makey
The second learning experience used Makey Makey in a similar fashion (summa-
rized in Fig. 6.3). This activity involved students exploring a wide range of conduc-
tive and non-conductive materials by connecting the items to the pre-prepared
Makey Makey–item–computer circuit. If the item was conductive, a sound would
play on the computer. After conductive and non-conductive items were identified
6 Scaffolding Engagement with Educational Technologies to Develop Computational… 89
Makey Makey
Assessment Can the student use conductive materials to create a musical instrument?
Fig. 6.3 Makey Makey learning experience summary showing applicable elements of computa-
tional thinking
and recorded, the students were supported to design and build a musical instrument
that incorporated Makey Makey and an identified conductive item(s). The Makey
Makey circuits had been pre-prepared by the preservice teachers running this activ-
ity and they supported the students as necessary to complete the task.
The computational thinking that was evident in the Makey Makey lesson included
logically conducting an investigation (abstraction) to identify those items that were
conductive and non-conductive. The items were then organized as visual data by
placing each on the correct area on a poster (data representation and data interpreta-
tion) and describing what they did and what their 3D poster showed (specification).
When it came to designing a Makey Makey instrument, the students were supported
to connect the various components (implementation and digital systems). The pro-
cess of making music for their peers using their created instrument demonstrated
interaction of people and digital systems (interactions).
6.4.3 Ozobots
The third learning experience used Ozobots (summarized in Fig. 6.4) to design and
construct a map of the neighbourhood around their school. After engaging with the
story, Map My Neighbourhood, students identified a range of geographical features,
90 F. Mayne and B. Bath
Ozobots
Extension Students can use more complex coding to vary the journey of the Ozobot.
Assessment Can the student map and code the Ozobot to visit each landmark in turn?
Fig. 6.4 Ozobots’ learning experience summary showing applicable elements of computational
thinking
along with major landmarks and buildings around their school. The students used
pre-prepared math ‘nets’ to construct 3-D models of these buildings. These build-
ings, landmarks and the paths between them were mapped collaboratively onto a
long roll of paper which spread over several joined desks. The Ozobot’s path was
coded using black markers and a range of Ozobot Colour Codes. As the Ozobot
travelled through the neighbourhood, students narrated its journey. Printouts of the
Ozobot Colour Codes that the students used to code their Ozobots had been pre-
prepared by the preservice teachers running this activity and they supported the
students as necessary to complete the task.
The computational thinking that was evident in the Ozobot lesson included logi-
cally organizing visual data to create a detailed map of their school neighbourhood
(abstraction and data collection), building 3-D models of various buildings (data
representation) and labelling each structure and location on the map (data interpre-
tation and specification). When it came to coding the Ozobot’s progress, the stu-
dents were supported to use black markers for the main path and to add colour codes
to direct the Ozobot to adjust its speed or direction, for example (algorithms and
implementation). Extensions to this lesson could involve exploration of how people
interact with the various neighbourhood processes and systems (interactions) and
discussion of environmental considerations in communities (impacts).
6 Scaffolding Engagement with Educational Technologies to Develop Computational… 91
The fourth learning experience used Minecraft Education Edition to design and
build a stronger house for a fourth little pig (summarized in Fig. 6.5). After engag-
ing with the classic Three Little Pigs story, the activity required students to use a
range of materials that would withstand various attempts by the big bad wolf to
destroy it. Students were required to draw and label their designs and then select
materials that were durable against external forces to build a better, stronger house
for a fourth little pig. Students used their Minecraft house to tell a revised little pigs’
story. The Minecraft Education Edition ‘world’ in which the students built their
houses had been pre-prepared by the preservice teachers running this activity and
they supported the students as necessary to complete the task.
The computational thinking that was evident in the Minecraft Education Edition
lesson included engaging logically with the various steps in the engineering design
process (abstraction). Students identified characteristics (data collection), made
informed selections and justified their use of a range of materials for their fourth pig’s
house. Their designs were illustrated and labelled (data representation and specifica-
tion). The students’ designs were then transferred from paper into the Minecraft pro-
gram (data interpretation). This was achieved by using the Minecraft commands to
‘build’ their pig’s house (algorithms, implementation and digital systems). Design
elements related to sustainability were included by some students (impacts).
Extension Students can use Minecraft to develop ‘stress’ tests for the house designs.
Assessment Can the student use Minecraft to build a house that will withstand the wolf?
Fig. 6.5 Minecraft Education Edition learning experience summary showing applicable elements
of computational thinking
92 F. Mayne and B. Bath
Using the four educational technologies described in this chapter with Year 1 girls—
Micro:bit, Makey Makey, Ozobots and Minecraft Education Edition—has played a
major role in enhancing the range of computational thinking aspects experienced by
these students. While the learning experiences were scaffolded and the resources
were thoroughly prepared in advance by the visiting preservice teachers, the lessons
were nonetheless of value in terms of exposure to computational thinking and
Table 6.1 Summary of computational thinking evident across all four learning experiences
Micro:bit Makey Makey Ozobots Minecraft
Abstraction
Data collection
Data representation
Data interpretation
Specification
Algorithms
Implementation
Digital systems
Interactions
Impacts
6 Scaffolding Engagement with Educational Technologies to Develop Computational… 93
simple coding for this group of children. The preservice teachers embraced the four
tools as collaborative, open-ended, creative technologies, and this was pivotal to the
success of the learning experiences which each included the construction of a mean-
ingful product. This meant that the students were learning to code and engage in
computational thinking by working ‘hands-on’ on each project, rather than first
learning coding concepts prior to being granted access to the technology. The stu-
dents were provided with opportunities to develop skills that were relevant to their
lives each time they solved a developmentally appropriate problem or created a
simple solution. These rich experiences involved the application of intentional
higher-order thinking and were intended to promote the generation of deeper
understandings.
In addition to the above benefits, it was identified that the students needed to be sup-
ported to engage in the connectivist concepts of connectedness, embracing technol-
ogy as an integral part of learning, ubiquitous learning and criticality. The students
were encouraged to focus on their capacity to know and to not be held back by what
they did not yet know. This was achieved in part by the very supportive learning
environment that was implemented by the preservice teachers and the preparation
undertaken by the classroom teacher. This study further highlights that engagement
in computational thinking must be inspired by a wider pollination of ideas and
thinking about how technology can be embedded into the existing classroom pro-
gram. The four learning experiences described in this chapter complimented other
technology in the classroom learning space which included ‘intelligent materials’,
loose parts, iPads, microscopes, light boxes, Dot and Dash robots, etc.
Working in close partnership, the classroom teacher and those learning to be
teachers modelled the sharing of ideas for, and by, the Year 1 students, which was
found to benefit all parties. Also modelled was the openness to guidance, rather than
mere validation, which empowered the collaborating parties to develop better solu-
tions and opportunities for using creative educational technologies than could have
been achieved alone.
In terms of reflexive teaching practice, the collaboration between the school and
the university created nuance and texture for the educators and provided new insight
into the digital opportunities and challenges, both technical and affective, that work-
ing with young children inevitably brings. As a reciprocal sharing of expertise, both
the adult and young stakeholders found themselves powerfully connected through
their engagement with the technology. Learning was optimized in a wide range of
ways as both adults and children embraced the affordances of the technology. As a
consequence of these experiences, the entrepreneurialism that arose from the agen-
tic personalities of the young students was observable in the various projects that
later ‘mushroomed’ and populated the classroom over the course of the rest of
the year.
94 F. Mayne and B. Bath
While the activities described involved a class of preservice teachers visiting a class
of Year 1 girls and delivering a series of intensive one-on-one group learning experi-
ences, much can be learned in terms of expanding traditional ideas about what types
of educational technologies are suitable for young children. This intensive teaching
context enabled a range of graphical, tangible and hybrid devices and platforms to
be used with the young students to provide both unplugged and plugged experi-
ences. It also enabled the integration of educational technologies that are often
reserved for older learners due to the complex demands of their set-up and use. This
was overcome through the meticulous pre-preparation undertaken by the pre-service
teachers who acted as ‘expert’ guides who afforded personalized support to the Year
1 students. This non-typical approach to teaching held a number of advantages as it
allowed more to be achieved in this ‘hot house’ learning environment than could
otherwise have been achieved in a typical classroom.
However, success in the classroom depended not only on the pre-service teach-
ers’ technological pedagogical knowledge and their willingness to engage the stu-
dents with the technology but also on ready access to the Internet, the availability of
the various digital tools and the support of the classroom teacher (and school). This
was further strengthened by the closely aligned early childhood philosophy that the
educators shared and by the way in which the students had been shaped through
their everyday classroom experiences to become a curious and confident tribe of
learners. Ultimately, it was the combination of all of these little things that opened
the way for the big computational thinking moments to occur.
6.5.4 Conclusion
In this all-girl classroom context, there was, of course, no intention to exclude boys.
However, this discussion is all the more interesting given persistent gender stereo-
types and that girls have historically engaged less with technology than boys. This
makes the integrated digital learning experiences particularly salient as it is impor-
tant that girls are provided with equal access to learning coding and computational
thinking through strategies and resources that engage them at a level commensurate
with boys. An added benefit of this approach was the rich pre-service teacher–stu-
dent relationships that developed as a consequence of the learning experiences. As
the majority of the preservice teachers were female, it was significant that the Year
1 girls engaged with young technically competent and confident females who
guided them in their use of the technologies.
While such intensive group teaching opportunities do not often present them-
selves in day-to-day classroom contexts, what should be reiterated is that young
children are capable and willing to take on new digital challenges. Similar learning
experiences can be achievable when delivered in a staged process over a longer
6 Scaffolding Engagement with Educational Technologies to Develop Computational… 95
period of time and with the support of an older ‘buddy’ class, for example. This
study has demonstrated clear benefits of purposeful digital play with a range of
educational technologies that provided opportunities to solve problems and con-
struct meaningful products. This emphasis on young learners’ capacity to know,
rather than on what they do not know, has the potential to provide opportunities to
engage with a wider range of educational technologies. This is significant as
increases in young children’s exposure to computational thinking is likely to have
consequences for their later learning and for their creative and appropriate lifelong
application of digital tools.
References
Siemens, G. (2005). Connectivism: A learning theory for the digital age. International Journal
of Instructional Technology and Distance Learning, 2. http://www.itdl.org/Journal/Jan_05/
article01.htm
Straker, L., Zabatiero, J., Danby, S., Thorpe, K., & Edwards, S. (2018). Conflicting guidelines on
young children’s screen time and use of digital technology create policy and practice dilemmas.
The Journal of Pediatrics, 202, 300–303. https://doi.org/10.1016/j.jpeds.2018.07.019
Utecht, J., & Keller, D. (2019). Becoming relevant again: Applying connectivism learning the-
ory to today’s classrooms (Article). Critical Questions in Education, 10(2), 107–119. https://
search.ebscohost.com/login.aspx?direct=true&AuthType=ip,shib&db=eue&AN=137104140
&site=ehost-live&custid=s3358796
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://
dl.acm.org/doi/fullHtml/10.1145/1118178.1118215
Wood, D., Bruner, J. S., & Ross, G. (1976). The role of tutoring in problem solving. Journal of
Child Psychology and Psychiatry, 17(2), 89–100. https://doi.org/10.1111/j.1469-7610.1976.
tb00381.x
Zagalo, N., & Branco, P. (2015). The creative revolution that is changing the world (pp. 3–15).
Springer. https://doi.org/10.1007/978-1-4471-6681-8_1
Chapter 7
Enhancing Computational Thinking
Through App Design in Primary Schools
Jane Batham
7.1 Introduction
Personal mobile devices are now ubiquitous and primary school students will not
recall a time before the advent of mobile technologies and the pervasive use of apps
at home and at school. Unsurprisingly, there is increasing curiosity from primary
school students about designing and developing their own apps, shifting from being
solely consumers of technology to creators as well. Developing an app using
general-purpose programming languages is a challenging and time-consuming task
that is out of reach for most primary school children and teachers; however, building
simple app prototypes allows young children to express their creative ideas and to
develop important computational thinking and design thinking skills.
Computational thinking was defined by Wing (2006) as a fundamental skill for
problem-solving that involves conceptualising a problem so it can be solved using
computers. The various ways that computational thinking has been defined by oth-
ers are discussed further in the literature review.
Computational thinking and computer programming have been introduced to the
Australian Curriculum in recent years with the implementation of the Digital
Technologies curriculum (Australian Curriculum Assessment and Reporting
Authority [ACARA], 2014), requiring teachers to seek meaningful and achievable
opportunities to teach these skills. A call to develop computational thinking skills
for all students was made by Wing (2006) who argued that the usefulness of such
skills extended beyond computer programming and had benefits in other domains.
That call was echoed by others (e.g. Chen & Huang, 2017; Fronza et al., 2019;
Papadakis, 2021) who see the set of skills as useful across domains and necessary in
a comprehensive twenty-first-century education.
J. Batham (*)
University of Southern Queensland, Toowoomba, QLD, Australia
e-mail: Jane.Batham@usq.edu.au
7.2 Literature Review
A review of the literature explored how app development projects might promote
computational thinking for primary school children. Computational thinking defini-
tions and frameworks were considered as structures for the analysis.
A search was conducted using Google Scholar to uncover literature related to
computational thinking through app development. Ten papers that specifically men-
tion app development projects in educational contexts were located (see Table 7.1).
Only six of the ten described specific case studies or projects, with the other four
(Luterbach, 2013; Siegle, 2020; Thompson, 2013; Van Brummelen et al., 2019)
being more generalised proposals without practical evidence that app development
might promote computational thinking skills.
Of the remaining six studies, two were based on the same single case of a student
creating an app at home for a school project, rather than a program or course for a
group of students (Khaddage et al., 2015; Khaddage & Margaritis, 2020) and
another two described projects involving K-12 teachers, not school students (Chiu,
2020; Morelli et al., 2011). In the study conducted by Chiu (2020), a group of seven
Table 7.1 Summary of papers describing app development projects in educational contexts
App development
Author and date Origin Participants platform
Chen and Huang (2017) China Middle school students MIT app inventor
Chiu (2020) Taiwan K-12 teachers MIT app inventor
Fronza et al. (2015) Italy High school students MIT app inventor
Khaddage et al. (2015) Australia
Single primary school Como app development
student tool
Khaddage and Margaritis Australia Single primary school Como app development
(2020) student tool
Luterbach (2013) USA Xcode or eclipse
Morelli et al. (2011) USA K-12 teachers MIT app inventor
Siegle (2020) USA Thunkable
Thompson (2013) USA Gamesalad and others
Van Brummelen et al. (2019) USA MIT app inventor
7 Enhancing Computational Thinking Through App Design in Primary Schools 99
7.3 Vignettes
Two separate app design and development projects are presented and discussed.
Both of the projects were implemented at the same primary school, but the param-
eters and execution of the projects were quite different. The similarities and differ-
ences provide valuable opportunities for reflection and discussion.
7.3.1 Vignette 1
The first project was led by the classroom teacher, supported by the digital learning
facilitator, with a class of Year 3 students (7–8 years old) of mixed genders and
abilities. The students worked collaboratively in groups of two or three to create app
prototypes in Apple Keynote on iPad devices to curate and showcase their learning
in Geography over several weeks. The students were participating in a curriculum-
based HASS inquiry, comparing the diverse characteristics of countries in the Asia-
Pacific region to determine what it might be like to live in a neighbouring country.
They were presented with a scenario of a child whose family was to relocate to
Indonesia for a year as a parent had accepted a new job. The students were chal-
lenged to design an app that would help this family, and others like them, to prepare
for the transition to the new country. In the initial phase of the project, the digital
learning facilitator provided some explicit instruction on creating an interactive
Keynote presentation that looked and behaved like an app. Slide size and orientation
were changed to approximate the dimensions of an iPhone since the apps were
designed to be viewed on phones, not tablet devices. Individual students used a
template to create a simple app about Indonesia, with the class determining the
types of information that might be required on various screens within the app. They
were then placed into groups to collaborate on the design and creation of their own
apps featuring different countries. Students worked together to design the home
screen for their app and to determine other screens to include. Individual students
were responsible for the content on specific screens, but the team agreed on colours,
font and general layout to maintain consistency throughout their app (see Fig. 7.1).
The completed apps were presented to the class.
7.3.2 Vignette 2
The second project involved teams of girls from Year 3 to Year 6 (7–12 years old)
participating in an after-school extracurricular program led by the digital learning
facilitator, as part of the Techgirls Competition, an annual challenge open to girls
aged 7–17 years in Australia and New Zealand. Each team was also supported by an
industry-based mentor. Some of the mentors worked with the girls on campus
102 J. Batham
during the sessions and others connected virtually. Over a period of 12 weeks, the
girls identified a problem of interest (ideate), conducted research (research), devel-
oped the app (build) and presented their solution (pitch). The wide variety of prob-
lems identified by the teams ranged from local to global problems and included
children’s health and hygiene, supporting family members of cancer patients, wel-
coming refugees, promoting locally grown produce and reducing single-use plas-
tics. A significant amount of time was invested in the early stages of the design
process, as the girls worked through the ideate and research phases. Rapid proto-
types were produced using paper prototyping and, in some cases, Keynote proto-
types. The girls developed the app prototype in Thunkable, a block-based app
development platform (see Fig. 7.2). They created a business plan and pitch video
to explain their app and the journey through the design process. The girls submitted
7 Enhancing Computational Thinking Through App Design in Primary Schools 103
Fig. 7.3 A comparison of the design thinking process as described in the Australian Curriculum
(ACARA, 2014) and the computational thinking process described by Repenning et al. (2016)
their apps for online judging and received constructive feedback from industry
experts. The app prototypes were also showcased within the school community
using the pitch videos the girls had created (https://youtu.be/xnQUoHazagM).
For each stage of the process, Brennan and Resnick’s (2012) framework is applied
to identify the computational concepts, practices and perspectives that the students
demonstrated.
7.4.1 Problem Formulation
During the initial phase of the projects, students identified and defined the problem.
In the case of the Year 3 students in Vignette 1, the problem was presented to the
students as part of the introduction to the task. The students were encouraged to
think about the kinds of information a family might need if they were moving to
another country. During the explicit teaching phase, this was done as a class and led
by the teacher. Later the students did this collaboratively in small groups. In Vignette
2, the problem formulation phase was broken into two stages: ideate and research.
During the ideate stage, the girls were guided through a feasibility process to iden-
tify a problem of interest and then developed scenarios, personas and empathy maps
to better understand the problem from the perspective of potential users. In the
research stage, they conducted trend research, consumer research and a competitor
analysis and developed a problem statement.
7.4.1.1 Computational Concepts
During the problem formulation phase, the students developed some computational
thinking concepts through explicit teaching sessions. The Year 3 students developed
an understanding of simple sequences through modelling by the teachers demon-
strating the sequences required to create links between new screens, to format ele-
ments on the screens and to import information from other apps into Keynote to
create their app prototype. The use of shapes and links as buttons to navigate from
one screen to the next were examples of events.
In the second project, the girls undertook beginner tutorials which introduced
them to basic concepts within the context of Thunkable including sequences, events
and operators. The girls also developed deeper understanding about data concepts
through conducting surveys of potential users and competitor analyses.
7.4.1.2 Computational Practices
expectations for Years 3; students are not expected to define the problems in terms
of functional requirements until Years 5 and 6 (ACARA, 2014).
The apps designed by the girls in Vignette 2 were much more complex than the
geography apps designed by the Year 3 s. The problem formulation process involved
a number of iterations as the girls gained a deeper understanding of the problems
through their research. In one instance, a team of girls created an initial survey with
open-ended questions that they distributed to a small number of target users to iden-
tify categories that could be used in a subsequent survey to collect their data.
Through this process, the girls applied the computational practice of being incre-
mental and iterative.
7.4.1.3 Computational Perspectives
7.4.2 Solution Expression
The students used different methods within the solution expression phase. The Year
3 students in Vignette 1 expressed their solutions using Keynote. By making use of
the collaborative function of Keynote, the students constructed the app as a group,
applying the skills they had learnt earlier. In Vignette 2, the girls expressed their
solution through the build phase of the project. Since, like other block-based coding
platforms such as Scratch and Tynker, Thunkable does not include functionality for
collaboration other than remixing, the girls took turns at coding and created assets
for their app using other tools when not using Thunkable.
7.4.2.1 Computational Concepts
7.4.2.2 Computational Practices
In Vignette 1, the students engaged in incremental and iterative practices when they
set up the app for their group. The home screen and one other information screen
were designed first, and then the information screen was duplicated for as many
screens were required, saving time and ensuring a consistent layout across the app.
7 Enhancing Computational Thinking Through App Design in Primary Schools 107
Since the practice of collaborating in Keynote was a new experience for the stu-
dents, time was dedicated to supporting the students in modularising their project so
that each team member had clear roles and responsibilities. The Year 3 students
were encouraged to test and debug their app to ensure that all of the screens were
accurately connected and that the user would be able to easily navigate the app.
The Techgirls followed a similar incremental and iterative process, setting up a
skeleton app with placeholders indicating the intended purpose of each screen.
While one team member set up the screens, the other girls created content and assets
in other platforms to later embed within the app. When implementing more complex
functionality within the app, the girls applied reusing and remixing practices,
accessing examples from the Thunkable community, documents and tutorial videos.
The modularising practice was necessary due to the lack of collaborative functional-
ity and general clunkiness of the Thunkable platform. Taking turns to develop all of
the content in Thunkable would have been very time-consuming, leaving some team
members without a constructive role for long periods.
7.4.2.3 Computational Perspectives
The structured nature of the Year 3 task limited expressive opportunities but was
considered necessary during this initial project-based learning experience for the
students and classroom teacher. Time constraints and the necessity for the students
to demonstrate specific Geography understanding and skills through their app pro-
totype were also factors that were considered in restricting the task. In spite of the
limitations, the students and teacher viewed the app project as an opportunity to
express their understanding and to connect with a real-world application more gen-
uinely than more traditional approaches. The computational perspective of connect-
ing includes recognising the value of creating with others and for others (Brennan &
Resnick, 2012). In this sense, the geography project was successful since students
gained experience in collaborating with others in online spaces.
The Techgirls’ projects offered significant opportunities for expressing creativ-
ity, the teams having considerable autonomy over the designed solution. Connecting
with others was supported within and between teams and through the mentor rela-
tionships. The girls also developed a strong sense of connection with target users,
drawing upon the data from surveys and interviews with field experts. This deeper
empathy and enthusiasm for creating a meaningful and useful product drove the
girls to develop new features within their apps. Opportunities for creative expres-
sion and connections to positive role models have been found to be beneficial in
encouraging girls in STEM (Coldwell-Neilson et al., 2014). During the build pro-
cess, the girls’ questioned limitations within Thunkable that made editing code
challenging and collaboration impractical.
108 J. Batham
In the final stages of the Year 3 project, students tested their apps and reflected on
the app development process. The apps were presented to other class members and
assessed by the teachers. Prior to finalising the Thunkable apps, the girls had sought
feedback from others who tested their apps. The feedback was used to identify bugs
and potential areas for improvement. The Pitch phase was the final phase of the
girls’ projects. The teams created two videos: one a pitch to promote the app and to
describe the problem and process and the other a demonstration aimed at poten-
tial users.
7.4.3.1 Computational Concepts
No new concepts were developed in this phase with the Year 3 students, but part of
the reflection process involved students describing to others how they had created
the apps, offering some opportunity for them to describe the sequences and articu-
late their understanding of the event concept. This provided useful evidence for
assessment and consolidated their understanding.
Some of the Techgirls’ teams underwent rigorous feedback processes, having
their apps tested by a number of users. This sometimes resulted in needing to learn
new concepts in order to include the suggested modifications. Since one of the judg-
ing criteria centred on the complexity of the coding, the girls highlighted some of
the computational concepts used by including annotated examples of their code and
technical explanation of how they had developed the solution.
7.4.3.2 Computational Practices
The Year 3 students applied incremental and iterative practices as they made final
adjustments to their apps, or as they noticed improvements that could be made to
their app after having seen the work of other groups. The sharing process was an
opportunity for testing, but due to the simple nature of the prototypes, extensive
debugging was not required.
For the girls, the final testing and debugging process was more intense. Teams
were keen to ensure apps were as functional as possible before submitting for judg-
ing. They applied abstraction practices to identify the key ideas to include in the
pitch and demo videos to adhere to time limits. Video creation was generally broken
down into smaller tasks with different team members taking responsibility for writ-
ing the script, seeking suitable visual representations of their project, filming and
editing. A requirement of the challenge was that all students needed to appear in the
pitch videos. During periods of lockdown, this sometimes necessitated creativity
and teamwork to ensure all girls were included. Modularising practices were essen-
tial for this component.
7 Enhancing Computational Thinking Through App Design in Primary Schools 109
7.4.3.3 Computational Perspectives
The reflection process included opportunities for the Year 3 students to consider the
project from the perspective identified as questioning by Brennan and Resnick
(2012). There were a number of ideas that the students had entertained in the early
stages of the project that were not implemented due to the limitations of Keynote or
time. The project was considered to be successful as an introduction to the idea of
creating apps, since a number of students went on to develop other apps using more
sophisticated platforms such as Tynker or Thunkable for their own extracurricular
projects. This is evidence that the students felt empowered by the Keynote project
to seek alternatives and to further develop their computational thinking skills to
solve their own problems using technology.
A number of teams had the opportunity to present their app concepts to women
in the tech industry through visits to local and international tech companies, either
online or in person. This opportunity to engage with others strengthened the girls’
perspective of the app project as a means of connecting with others. The judging
process provided the girls with valuable feedback that was used to make further
improvements to their original apps or when they participated in the challenge in
subsequent years. Each year that the program was implemented in the school, there
was greater interest in the program, from girls returning to the program and from
those who had been inspired by the success of other teams in previous years. The
app development project became viewed by the community as a valuable way for
the girls to connect with others within their team and beyond the school.
7.6 Conclusion
could develop the full range of computational concepts when compared to the open-
ended project-based approach of the extracurricular program and the affordances of
Thunkable. Both groups of students had opportunities to develop computational
practices and perspectives, although an identified weakness of the Thunkable plat-
form was the lack of collaboration. This was overcome in part by applying the
practices of abstracting and modularising, but an efficient and reliable means of
collaborating within the platform itself was desired by the students.
By implementing a project-based learning approach that incorporates design
thinking and computational thinking process, app development projects have poten-
tial to inspire and motivate primary school children.
References
ACARA Digital Technologies in focus project. (2020). Computational thinking poster Available at:
https://www.australiancurriculum.edu.au/resources/digital-technologies-in-focus/resources/
key-ideas-and-concepts/
Aho, A. (2011, January). Ubiquity symposium: Computation and computational thinking. Ubiqity.
https://doi.org/10.1145/1895419.1922682
Australian Curriculum Assessment and Reporting Authority. (2014). Australian curriculum:
Digital technologies Available at: https://www.australiancurriculum.edu.au/f-10-curriculum/
technologies/digital-technologies/
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.
https://doi.org/10.1145/1929887.1929905
Brennan, K., & Resnick, M. (2012) New frameworks for studying and assessing the develop-
ment of computational thinking. In Proceedings of the 2012 annual meeting of the American
educational research association, Vancouver. p. 25. Available at: https://web.media.mit.
edu/~kbrennan/files/Brennan_Resnick_AERA2012_CT.pdf
Chen, P., & Huang, R. (2017) Design thinking in app inventor game design and development: A
case study. In 2017 IEEE 17th international conference on advanced learning technologies
(ICALT). IEEE, pp. 139–141. https://doi.org/10.1109/ICALT.2017.161.
Chiu, C.-F. (2020). Facilitating k-12 teachers in creating apps by visual programming and project-
based learning. International Journal of Emerging Technologies in Learning (iJET), 15(1),
103–118. https://doi.org/10.3991/ijet.v15i01.11013
Coldwell-Neilson, J., Craig, A., Gorbacheva, E., & Beekhuyzen, J. (2014) The impact of IT inter-
vention programs for girls. In Gender and IT appropriation. Forum. European Society for
Socially Embedded Technologies, pp. 10–20. https://doi.org/10.5555/2670296.2670299
Ehsan, H., Beebe, C., & Cardella, M. E. (2017). Promoting computational thinking in children
using apps. 2017 ASEE Annual Conference & Exposition. https://doi.org/10.18260/1-2-28772
Ehsan, H., Rehmat, A. P., & Cardella, M. E. (2021). Computational thinking embedded in engi-
neering design: Capturing computational thinking of children in an informal engineering
design activity. International Journal of Technology and Design Education, 31(3), 441–464.
https://doi.org/10.1007/s10798-020-09562-5
Fronza, I., El Ioini, N., & Corral, L.(2015). Students want to create apps. In Proceedings of
the 16th annual conference on information technology education-SIGITE. https://doi.
org/10.1145/2808006.2808033
Fronza, I., Corral, L., & Pahl, C. (2019) Combining block-based programming and hardware pro-
totyping to foster computational thinking. In Proceedings of the 20th annual SIG conference on
information technology education. pp. 55–60. https://doi.org/10.1145/3349266.3351410
7 Enhancing Computational Thinking Through App Design in Primary Schools 111
Grover, S., & Pea, R. (2013). Computational thinking in K—12: A review of the state of the field.
Educational Researcher, 42(1), 38–43. https://doi.org/10.3102/0013189X12463051
Khaddage, F., & Margaritis, M. (2020) Teaching computational thinking to primary school chil-
dren during a pandemic “Jayden made an app, so can you”. In EdMedia+ innovate learning
pp. 237–243. Association for the Advancement of Computing in Education (AACE).
Khaddage, F., Magenheim, J., & Margaritis, M. (2015) Tools for Mobile apps development
in primary schools “A fourth grader case study”. In Society for Information Technology
& teacher education international conference (pp. 2425–2428). Association for the
Advancement of Computing in Education (AACE).. Available at: https://www.learntechlib.
org/primary/p/150333/
Luterbach, K. (2013) Promoting computational thinking by developing apps for Mobile devices. In
EdMedia+ innovate learning (pp. 1817–1822). Association for the Advancement of Computing
in Education (AACE).. Available at: https://www.learntechlib.org/primary/p/112216/
Morelli, R., Lake, P., Limardo, N., Tamotsu, E., & Uche, C. (2011). Can android app inventor
bring computational thinking to K-12? Available at: http://www.hfoss.org/uploads/docs/appin-
ventor_manuscript.pdf
Papadakis, S. (2021). The impact of coding apps to support young children in computational think-
ing and computational fluency. A literature review. Frontiers in Education, 6, 657895. https://
doi.org/10.3389/feduc.2021.657895
Repenning, A., Basawapatna, A., & Escherle, N. (2016).Computational thinking tools. In 2016
IEEE symposium on visual languages and human-centric computing (VL/HCC) (pp. 218–222).
IEEE. https://doi.org/10.1109/VLHCC.2016.7739688
Siegle, D. (2020). There’s an app for that, and I made it. Gifted Child Today, 43(1), 64–71. https://
doi.org/10.1177/1076217519880587
Siko, J., & Barbour, M. (2013). Game design and homemade PowerPoint games: An examina-
tion of the justifications and a review of the research. Journal of Educational Multimedia and
Hypermedia, 22(1), 81–108. https://learntechlib.org/p/40658/
Tedre, M., & Denning, P. J. (2016). The long quest for computational thinking. In Proceedings of
the 16th Koli calling international conference on computing education research (pp. 120–129).
https://doi.org/10.1145/2999541.2999542
Thompson, C. (2013)Why every student should become a mobile app/game creator. In Society
for information technology & teacher education international conference (pp. 107–111).
Association for the Advancement of Computing in Education (AACE). Available at: https://
www.learntechlib.org/primary/p/48077/
Van Brummelen, J., Shen, J. H., & Patton, E. W. (2019). The popstar, the poet, and the grinch:
Relating artificial intelligence to the computational thinking framework with block-based cod-
ing. Proceedings of International Conference on Computational Thinking Education, 160–161.
https://appinventor.mit.edu/papers/JessVBPublications/Popstar_Poet_Grinch_CTE2019.pdf
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://
doi.org/10.1145/1118178.1118215
Wing, J. M. (2011). Research notebook: Computational thinking–What and why? The Link. Available
at: https://www.cs.cmu.edu/link/research-notebook-computational-thinking-what-and-why
Zhang, L., & Nouri, J. (2019). A systematic review of learning computational thinking
through scratch in K-9. Computers & Education, 141, 103607. https://doi.org/10.1016/j.
compedu.2019.103607
Chapter 8
Program, Learn and Play: A Course
of Extracurricular Activities in Scratch
Programming for Students in Grades 3–6
Ludmila Bosova
8.1 Introduction
Modern society makes new demands on school education (Frumin et al., 2018),
focusing, first of all, on universal competencies necessary for a successful life in a
changing world, i.e. thinking competence, competence of interaction with others
and competence of interaction with oneself. At the same time, understanding of
traditional literacy has expanded to include reading literacy, the ability to perceive
and create information in various textual and visual formats in natural languages,
including in the digital environment (literacy + digital literacy); quantitative liter-
acy, the ability to apply mathematical tools, argumentation and modelling in every-
day life, including in the digital environment (numeracy + data literacy + digital
literacy); and computational and algorithmic literacy, the ability to perceive and
create information in formal languages and programming languages (computational
literacy) (Frumin et al., 2018). This expanded approach to understanding literacy
makes the formation of digital skills (DigComp) among students extremely relevant
(Carretero Gomez et al., 2017). The structure of these digital skills includes the fol-
lowing areas: information processing, communication and cooperation, digital con-
tent creation, security and problem-solving.
The structure of general education (the composition of subjects studied at school)
is determined by the structure of the surrounding reality, reflected in scientific
knowledge. Informatics is the science of the patterns of information processes in
systems of various nature, as well as the methods and means of their automation.
Along with mathematics, physics, chemistry and biology, the informatics course
lays the foundations of the modern natural science worldview based on the matter,
energy and information triad. Informatics hosts a very large and growing number of
L. Bosova (*)
Moscow Pedagogical State University, Moscow, Russia
e-mail: math@mpgu.su
Objectives of the Program, Learn and Play course of extracurricular activities are
the following:
• Development of student’s algorithmic, logical and systematic thinking, the for-
mation of her/his creative approach to solving problems.
• Formation of a culture of using information and communication technologies,
skills and abilities of project and research activities.
• Fostering interest in programming as a key technology of the twenty-first cen-
tury, the desire to use the acquired expertise, knowledge and skills in educational
activities and in everyday life.
The main objectives of the Program, Learn and Play course of extracurricular
activities are to form students’:
• Understanding of the principles of the structure and functioning of objects of the
digital environment during the digital transformation of modern society.
116 L. Bosova
In the final module, the Parallel Algorithms topic attracts our attention. Parallel
processes, parallel algorithms, parallel computing, parallel programs and parallel
programming, supercomputers and distributed computing systems—these concepts
today largely determine one of the strategic directions of digital technology devel-
opment, allowing the leading countries of the world to solve the so-called grand
challenges, such as climate and environmental forecasting, human genome research,
design integrated circuits, creation of medicines, speech recognition, computer
vision, etc. Ideas about the problems that arise during parallel data processing are
necessary for the full use of modern personal computers, laptops, tablets, smart-
phones and other devices based on multiprocessor, multi-core and other technolo-
gies involving the simultaneous execution of many instructions. The foundations of
parallel thinking should be laid at school, including through mastering mechanisms
of joint activity (cooperation) that are constantly and widely used in life. You can
visualize the corresponding processes in the Scratch programming environment.
One of the examples of parallel algorithm visualization is available at https://scratch.
mit.edu/projects/141334682/.
8 Program, Learn and Play: A Course of Extracurricular Activities in Scratch… 121
Fig. 8.1 The composition of the students of the advanced training program in Scratch programming
Since September 1, 2021, extracurricular classes have been held in each of the 1,430
secondary schools of the Moscow region under the Program, Learn and Play pro-
gram. In total, more than 15,000 students were involved in extracurricular classes.
The methodology of extracurricular classes with junior schoolchildren on the
Program, Learn and Play course is based on the idea of creating a situation of suc-
cess. This stems from the way that in almost every lesson the student has the oppor-
tunity, with the support of a teacher, or independently, to create a complete software
product (animation, game, interactive poster, etc.) of varying degrees of complexity.
At the same time, the performance of work of any degree of complexity allows the
student to advance further in mastering the course, each time independently deter-
mining the level of immersion in the studied material.
The main method we use is called “use before development” or the “example/
task” pair method. It implies, at the first step of programming training, familiarity
with a completed (or almost completed) software product or its elements. After this,
the student receives a similar task from the class of tasks under consideration, solv-
ing which he/she solidifies and develops his/her skills (procedural knowledge). The
effectiveness of such a technique in obtaining primary programming skills has been
proven in the studies of foreign and domestic researchers (Butarev, 2021; Trafton &
Reiser, 1993).
Within each topic of the course, students:
1. Acquaint themselves with a specially designed example and reproduce it
2. Analyse the example according to a given scheme
3. Create a similar product
124 L. Bosova
8.9 Conclusion
References
Scratch Foundation. (n.d.) The official website of the scratch project. Manuals. https://scratch.mit.
edu/ideas
Sorokina, T. E. & Bosova, A. Y.. (2019). Informatika. 5–6 klass: Praktikum po programmirovaniyu
v srede scratch (L.L Bosova, ed.) [Informatics. Grade 5–6: Workshop on programming in
scratch environment] (144 p.). Moscow, BINOM. Knowledge Laboratory Publication.
Tarapata, V. V., & Prokofiev, B. V. (2019). Learning with Scratch: Programming, games, robotics
(p. 228). Laboratory of Knowledge Publication. ill. (Young Programmer School).
Trafton J. & Reiser B. (1993). Studying examples and solving problems: Contributions to skill
acquisition. In Proceedings of the fifteenth annual conference of the cognitive science society
(pp. 1017–1022).
Chapter 9
Integrating Programming in Other
Subjects at Primary Level: Tool, Glue
or Ideation
Linda Mannila
9.1 Introduction
In the 1980s, programming was part of the K-12 national curricula in many coun-
tries. This changed as computers became more common and easy to use, all the
while the amount of ready-made software grew rapidly. Instead of learning to
understand how the technology worked and how to create new solutions, it was
deemed more important to learn how to use digital devices and existing software.
For many years, computers and digital technology were therefore mainly consid-
ered a tool, and programming was removed from curricula.
As a result of the increased digitalisation and its transformational effect on soci-
ety, focus has again turned towards aspects of understanding technology and the
role of programming and computing for everyone. In 2013, Informatics Europe and
ACM Europe published a report (Gander et al., 2013) emphasising the importance
of helping all children (1) develop the skills to use the technology, (2) understand
the science behind the technology and (3) get insight in the possibilities and chal-
lenges it brings. Starting around the same time, these areas have been reintroduced
at the K-12 level in an increasing number of countries. For instance, in 2015,
European Schoolnet (2015) published a report showing that 16 out of 21 surveyed
European countries had introduced programming in their curriculum. The ways in
which the introduction is carried out in practice vary (see, e.g. Heintz et al., 2016):
some countries have introduced a new subject (e.g. Computing in England), while
others integrate the content in other subjects (e.g. Finland and Sweden).
Regardless of how the introduction is carried out in practice, it places teachers in
a new position as they are expected to teach a topic new to most of them. The focus
of this chapter is on teaching programming in an integrated manner. The discussion
L. Mannila (*)
Linköping University, Linköping, Sweden
e-mail: linda.mannila@liu.se
In this section, I briefly present the way in which programming has been introduced
in the Finnish curriculum.
While previous Finnish curricula focused on using IT as a tool, the current curricu-
lum highlights the need for also learning about the technology and its underlying
principles (Mannila, 2018). In the Finnish curriculum, programming is introduced
as part of digital competence, which is described in terms of four areas: (1) practical
skills and own production, (2) responsible and safe ways of working, (3) informa-
tion management as well as exploratory and creative work and (4) communication
and networking.
Digital competence is in turn one of seven dimensions of the so-called transver-
sal competence, which plays a central role in the curriculum: (1) thinking and learn-
ing to learn, (2) cultural competence, interaction and self-expression, (3) self-care
and managing everyday life, (4) multi-literacy, (5) digital competence, (6) working
life skills and entrepreneurship and (7) social participation, influence and building a
sustainable future (Finnish National Agency for Education, 2016). These compe-
tences can be seen as a combination of knowledge, skills, values, attitudes and will
and are to be covered throughout the curriculum. They are closely related to the
twenty-first-century skills, involving competencies such as critical thinking, com-
munication, collaboration, problem-solving, creativity and digital competence.
These are not taught in isolation (Silva, 2009) and hence offer ways in which differ-
ent subjects, topics and content areas can be knit together. Consequently, digital
competence – and hence also programming – should be integrated into other sub-
jects. In addition to this implicit integration, programming is also mentioned explic-
itly in two subjects (mathematics and sloyd).
In mathematics, the focus is on logical thinking, problem-solving and algo-
rithms, starting with creating and testing step-by-step instructions in grades 1–2,
9 Integrating Programming in Other Subjects at Primary Level: Tool, Glue or Ideation 129
While all schools in Finland follow the national core curriculum, each municipality
creates its own local curriculum specifying how teaching is to be conducted in order
to meet the objectives of the national one. Most municipalities have also created
their own ‘digital learning path’, mapping out the knowledge and skills related to
digital competence that students should acquire at different grade levels. This has
proven challenging, mainly due to the descriptions in the curriculum being quite
non-specific as they are supposed to hold over time. Teachers and school leaders
have called for additional detail on what students are expected to learn – and hence
teachers are supposed to teach – at different grade levels. This is important in order
to help guarantee equal learning opportunities for all children, regardless of, for
instance, what school they attend.
As a response, the Finnish Ministry of Education and Culture (2021) initiated the
‘New Literacies Programme’ in 2020 aimed at developing more detailed and con-
crete descriptions of the curriculum objectives in three related areas: digital compe-
tence, media literacy and programming. The programme covers not only grades
1–9, but also early childhood education and pre-primary education. The goal is to
make it easier for schools to know what they are expected to teach and thus guaran-
tee equal learning opportunities to all students. A revised version of the descriptions
was published in June 2022.
Programming is described in terms of three main areas: (1) computational think-
ing, (2) exploratory work and production and (3) programmed environments. These,
130 L. Mannila
in turn, include several sub-areas, for which learning outcomes are specified for
each grade level (early childhood, pre-primary, grades 1–2, grades 3–6, grades 7–9).
Table 9.1 gives a brief description of what is considered a good level of competence
for each sub-competence at the grade levels considered in this chapter (1–6).
Table 9.1 The learning outcomes for grades 1–6 for the three main programming-related areas
according to the New Literacies Programme
The student
can… Grades 1–2 Grades 3–6
Computational Logical thinking Organise and compare things Organise, compare and
thinking and data based on different conditions, present information
processing such as similar form using technology-
related concepts and
symbols
Identify logical operations, such Perceive connections
as “and”, “or” and “not” between different
entities
Present the choices and Find and describe
observations made using causal relationships
concepts and concrete tools between different
phenomena
Solving and Decompose familiar everyday Use different methods
modeling problems into smaller parts, and and strategies for
problems try to solve them in different solving problems and
ways also try to create such
themselves
Can tell others about the ways in Evaluate solutions
which they have solved a using given criteria,
problem such as functionality,
readability or
effectiveness
Basic Create step-by-step instructions Create exact and
programming using simple instructions and detailed instructions
concepts and loops using repetition and
constructs selection
Identify error situations caused Look for and correct
by the instructions and try to errors in the
correct them in different ways instructions and the
program code
(continued)
9 Integrating Programming in Other Subjects at Primary Level: Tool, Glue or Ideation 131
When reviewing the areas, it is clear that they have distinct goals. The first one,
computational thinking, focuses on the basics of programming: problem-solving,
logical thinking, algorithms, concepts and constructs. This is closely related to the
learning objectives for programming in mathematics. The second area, exploratory
work and production, focuses more on the creative, productive and collaborative
aspects. The third, programming environments, does not focus on the students’ own
programming practice at all, but rather the implications of programming and tech-
nology for our society and everyday life.
2011). Third, integrating the content in other subjects highlights the relevance and
importance of it in all subject areas. While programming was traditionally placed in
the context of mathematics or science, it is currently seen as an asset in any subject
not only for problem-solving but also for, e.g. practical production and creative
expression in areas such as social sciences, humanities, literacy and arts. This is also
emphasised in the New Literacies Programme. The primary goal of having pro-
gramming in the curriculum is not to prepare students for a career in computing, but
rather to give them basic understanding of what programming is to help them be
informed, responsible and active participants in an increasingly digitalised society.
Yet another driver for integrating programming in other subjects is the general
call for instruction to combine skills and know-how from many disciplines. While
curricula are still divided into subjects, our experience of the world is interdisciplin-
ary (Barnes, 2015). The problems we face as individuals and as a society are not
bounded by disciplines, and neither are their potential solutions. Rather, we are fac-
ing ill-structured and so-called wicked problems, which call for interdisciplinary
perspectives, problem-solving skills and strategies (Lonka, 2018, p. 174–175). This
is also highlighted in the Finnish curriculum: all students in grades 1–9 are to annu-
ally take part in at least one interdisciplinary learning area promoting their:
• Understanding for the relationship and interdependencies between different top-
ics and content areas.
• Ability to combine knowledge and skills provided in different subjects to form
meaningful wholes.
• Skills in adopting and using these for collaborative learning.
It is worth pointing out that this is not the norm in the curriculum as a whole,
although such claims have been made in international contexts and articles.
The ways in which programming is integrated in the classroom naturally reflect the
progression put forward in the curriculum. A study of the current state of digital
competence in Swedish-speaking schools in Finland (Mannila, 2021) showed that
teachers in grades 1–6 (n = 210) mainly use analogue (also called unplugged) pro-
gramming and apps, block-based programming, robotics and basic making. In this
section, I give examples of how these are used in the classroom according to three
models – tool, glue or ideation – based on experiences from development projects
carried out in grades 1–6.
134 L. Mannila
9.4.1 Programming as a Tool
Fig. 9.1 Student designing his own instructions for solving a given set of problems
9 Integrating Programming in Other Subjects at Primary Level: Tool, Glue or Ideation 135
Fig. 9.2 Student examples of using block-based programming to create animations and
geometric art
Fig. 9.3 Part of a pencil maze created by a student and the student’s representation of the instruc-
tions needed for the Blue-Bot to get through the maze
system in ScratchJr, and the second image shows the result of a student’s Scratch
program, which draws geometric art.
While block-based environments can be used to create programs starting with a
blank editor, the level of open-endedness is commonly increased gradually, starting
with tutorials, modifying existing programs and starting from a program skeleton.
The third type of programming used is robotics. Even simple robots, such as the
floor robot Bee-Bot, can be used for training basic mathematics and directions, the
alphabet and storytelling, while more advanced robots such as the Sphero or LEGO
Mindstorms can be used for implementing complex projects in different disciplines.
Figure 9.3 shows an example of the Blue-Bot in a pencil maze and a student’s pro-
gram/instructions describing how to make the Blue-Bot move through the maze.
The fourth type of programming used in the Finnish classroom is basic making.
Microcontrollers, such as the Micro:bit, can be used for creating solutions to practi-
cal problems or implementing creative ideas. For instance, the candy alarm in
136 L. Mannila
Fig. 9.4 has been designed to solve a very concrete problem: somebody stealing the
student’s candy. To build such an alarm, students combine programming and sci-
ence (physics and electronics).
9.4.2 Programming as Glue
While the discussion above focuses on ‘fusing’ programming into another subject,
it can also be used in a more multidisciplinary manner forming a glue or bridge
between several subject areas. This can, naturally, be accomplished using different
programming environments. For instance, block-based programming can be used to
create animations of a phenomenon taking into account perspectives from several
subjects, or to design a presentation in a subject using a foreign language.
Another tool commonly used for this purpose is the Makey Makey, a simple
microcontroller that makes it possible to turn any conductive material into a key on
the keyboard. The Makey Makey is commonly not programmable, but, when com-
bined with programming in Scratch, it can be used to create interactive artefacts.
One popular use is to create posters or other artefacts (Fig. 9.5), which let viewers
interact with them by touching conductive elements and thereby activating some
pre-programmed behaviour, such as playing an audio file.
Figure 9.6 shows a larger project following the same principles, now creating an
interactive board game.
Such artefacts are designed and created collaboratively while combining knowl-
edge and skills from several subjects. An interactive poster lets the viewer learn
about a given topic by interacting with conductive materials (physics/science) pre-
sented in a nice format (arts). The board game in Fig. 9.6 is from a project where
9 Integrating Programming in Other Subjects at Primary Level: Tool, Glue or Ideation 137
Fig. 9.5 Interactive artefacts using Scratch and Makey Makey, combining languages, art, music
and sloyd
students have designed a game about Finland (history, social sciences, geography,
biology, language), built (sloyd) and decorated (arts) the board and finally added
interactive elements (physics/science).
9.4.3 Programming as Ideation
The examples above use programming as a tool or glue to increase students’ practical
programming skills as part of other subjects. These activities can, but do not necessar-
ily, cover the societal aspects of programming in the curriculum – understanding the
138 L. Mannila
impact of programs in our lives today and potential scenarios for the future. This can
be covered through discussions on relevant topics (e.g. data, algorithms, AI, robots,
privacy), current news and events, as well as students’ own experiences.
This area of the curriculum can also be integrated in a more hands-on way, by
turning students into collaborative designers. For instance, Fig. 9.7 shows a design
for a smart shoe resulting from a 45-minute-long online workshop on smart things,
where students in grades 1–6 throughout the country (1) were introduced to the
basic idea of sensors and Internet of things and (2) designed a smart product together
with their peers. The session had over 800 participants from roughly 40 schools and
was facilitated online, with the local teachers helping their students on site. The
teacher divided the students into smaller groups, who got to design one of the fol-
lowing products: a smart lamp, book, desk or backpack. A similar process can natu-
rally be used when introducing other topics and themes.
9.5 Implementation Challenges
While programming at lower levels of education has a long history starting with
Papert and Logo developed in the 1980s, many educational programming tools have
been developed since. With the variety of tools and environments available, one
could be led to believe that integrating programming into the classroom would be an
easy process. This is, however, not the case. Most Finnish teachers had no previous
experience of programming when the curriculum was introduced and thus faced a
situation where they had to learn both the basics of programming and suitable peda-
gogies for teaching their students. This is a challenge they share with teachers in the
international community, and consequently, the curricula reform in most countries
comes at the expense of putting extra workload on teachers.
9 Integrating Programming in Other Subjects at Primary Level: Tool, Glue or Ideation 139
Both international (Mannila et al., 2018; Royal Society, 2017; Vinnervik, 2022)
and Finnish studies (e.g. Mannila, 2021; Tanhua-Piiroinen et al., 2020) have shown
that teachers struggle with integrating programming in their classroom due to lack-
ing skills. The diagram in Fig. 9.8 indicates that the majority of teachers (n = 210)
in the study of the Swedish-speaking schools in Finland felt that they know how to
teach analogue programming sufficiently well to fulfil the curriculum requirements.
The same is true for block-based programming in grades 3–6, while less than half
of the teachers know robotics and making well enough to meet the requirements.
Lacking skills are naturally directly reflected in the classroom, as teachers who
do not know programming rarely or never include it in their teaching. Still, when
reviewing the diagram in Fig. 9.9, it should be noted that programming is only a
small part of digital competence, and the answer ‘sometimes’ can therefore be con-
sidered meeting the requirements set in the curriculum. Correspondingly, the
answers ‘quite often’ and ‘often’ can be interpreted as doing more than the curricu-
lum requires. As such, roughly half of the teachers teach analogue programming, at
least 20% teaches block-based programming and over a third of the teachers include
programmable robots in their teaching to a sufficient degree.
Making, i.e. maker culture activities, seems to be the biggest challenge, which is
not surprising as it does not only require that the teacher knows programming and
how to teach it, but also has some skills in, for instance, electronics in order to work
with a microcontroller. Also, even simple making projects commonly take more
time and can become quite large compared to, for instance, working with block-
based programming only. There is quite a difference between using Lightbot and
140 L. Mannila
Fig. 9.9 Teachers’ estimation of how often they teach different types of programming
creating an interactive board game. While making activities are not required in
grades 1–2, they can be used to implement programming particularly in sloyd for
grades 3–6.
As long as teachers find teaching programming challenging and lack the skills
needed, there is a need for professional development initiatives and training efforts.
This brings to foreground the second main challenge: time. Learning a new content
area and how to teach it requires time, which is a scarcity in most teachers’ work-
day. When programming is to be integrated in other subjects, it often also takes
planning and collaborative effort, which may not be easy due to, for instance, sched-
uling issues or what Drake and Reid (2020) call ‘territorial battles’.
The larger the project, the more planning and time is required. The programming
needed is not necessarily particularly advanced or extensive, but the effort required
in the included subjects may be large. This can be challenging, for instance, in terms
of scheduling. We have identified three main strategies for how such projects can be
carried out: ‘1–2-3’, ‘spiral’ and ‘together’. The first one, 1–2-3, refers to a situation
where the project is planned so that the work is clearly divided into subject-specific
parts which are completed one at a time. The spiral strategy is quite similar but in a
cyclic manner, where students re-encounter the project in the same subject many
times. Finally, the together strategy describes a situation where students work con-
tinuously and seamlessly with the project in different subjects.
What then can we learn from those teachers and municipalities, who feel that
they have managed to stay on top of the development? In the study among
9 Integrating Programming in Other Subjects at Primary Level: Tool, Glue or Ideation 141
Swedish-speaking schools (Mannila, 2021), six success factors were found for
implementing digital competence: (1) sufficient and appropriate infrastructure, (2)
pedagogical value, (3) collegial support, (4) professional development, (5) organisa-
tional support and (6) a joint vision. This list is also applicable when considering
programming.
• Sufficient and appropriate infrastructure: While programming in grades 1–2 can
be done completely unplugged, teachers and students need appropriate tools and
devices in order to cover the curricular requirements for grades 3–6. For the tools
to be suitable for the classroom, teachers’ voices need to be heard when making
purchasing decisions.
• Pedagogical value: In order to find good ways to integrate programming in other
subjects, it needs to be considered together with the content, not as an add-on or
subordinate. There needs to be clear learning objectives for both programming
and the subject(s) at hand. It is also important to recognise when programming is
a good fit for solving a problem and when it is not.
• Collegial support: Support from colleagues is crucial in order to share ideas,
learn together, develop joint pedagogical models and implement change.
Teachers have, for instance, trained their colleagues and visited colleagues’
classrooms in order to give concrete examples of how programming can be intro-
duced. The national tutor teacher model has also proven very popular. It was
introduced by the Finnish Ministry of Education and Culture, with the goal being
to have tutor teachers in all 2500 comprehensive schools in the country. Tutor
teachers were trained to help colleagues adopt new pedagogical approaches and
support them in teaching digital competence (including programming).
• Professional development: Ever since the curriculum was presented, the Finnish
government, private actors and universities have funded development pro-
grammes and projects providing teachers with training, material and other sup-
port. As teachers have different needs and ambition levels, professional
development needs to come in different forms, ranging from short inspirational
workshops to longer courses where the competence is developed over time.
• Organisational support: In order for change to be possible, school leaders need
to provide teachers with the time and resources needed to develop their program-
ming know-how and suitable pedagogies, both on their own and together with
colleagues.
• Joint vision: In order to decide on how and when programming is to be intro-
duced and by whom, the expected learning outcomes need to be clear. This joint
vision can then be specified in, for instance, a learning path describing what
students are supposed to learn at different grade levels. The clearer and more
concrete the objectives, the easier it will be to implement them.
142 L. Mannila
Fig. 9.10 A summary of the process of designing lesson plans and activities integrating program-
ming in one or several subjects
9 Integrating Programming in Other Subjects at Primary Level: Tool, Glue or Ideation 143
9.6 Final Words
References
Mannila, L. (2018). Digitally competent schools: Teacher expectations when introducing digital
competence in Finnish basic education. Seminar.net, 14(2), 201–215. https://doi.org/10.7577/
seminar.2980
Mannila, L. (2021). Digital kompetens i Svenskfinland – nulägesanalys och goda modeller
(Digital competence in the Swedish-speaking parts of Finland – Analysis of the current
status and good models). Report, the Swedish Cultural Foundation. Retrieved February
20, 2022 from https://www.kulturfonden.fi/wp-content/uploads/2021/01/Kulturfonden_
DigitalKompetensiSvenskfinland_Mannila_2021.pdf
Mannila, L., Nordén, L-Å. & Pears, A. (2018). Digital competence, teacher self-efficacy and train-
ing needs. ICER 2018. In Proceedings of the 2018 ACM conference on international computing
education research (ICER ‘18) (pp. 78–85). Association for Computing Machinery. https://doi.
org/10.1145/3230977.3230993
Master, A., Cheryan, S., Moscatelli, A., & Meltzoff, A. N. (2017). Programming experience
promotes higher STEM motivation among first-grade girls. Journal of Experimental Child
Psychology, 160, 92–106. https://doi.org/10.1016/j.jecp.2017.03.013
Royal Society. (2017). After the reboot: Computing education in UK schools Retrieved February
20, 2022 from https://royalsociety.org/~/media/events/2018/11/computing-education-1-
year-on/after-the-reboot-report.pdf
Silva, E. (2009). Measuring skills for 21st century learning. Phi Delta Kappan, 90(9), 630–634.
https://doi.org/10.1177/003172170909000905
Stout, J. G., Dasgupta, N., Hunsinger, M., & McManus, M. A. (2011). STEMing the tide: Using
ingroup experts to inoculate women’s self-concept in science, technology, engineering, and
mathematics (STEM). Journal of Personality and Social Psychology, 100(2), 255–270. https://
doi.org/10.1037/a0021385
Tanhua-Piiroinen, E., Kaarakainen, S-S., Kaarakainen, M-t. & Viteli, J. (2020). Digiajan perusk-
oulu II (primary school in the digital age II). Final report, Finnish Ministry of Education and
Culture Retrieved February 20, 2022 from http://urn.fi/URN:ISBN:978-952-263-823-6
Vinnervik, P. (2022). Implementing programming in school mathematics and technology:
Teachers’ intrinsic and extrinsic challenges. International Journal of Technology and Design
Education, 32, 213–242. https://doi.org/10.1007/s10798-020-09602-0
Chapter 10
Introducing Programming Concepts
Through the Bebras Tasks in the Primary
Education
10.1 Introduction
The Bebras challenge (www.bebras.org) presents a wide variety of formal and non-
formal education activities throughout the year. The rapidly growing global net-
work, which now unites the community of computer science (CS) educators
including scientists, teachers and practitioners from over 70 countries, has been
established in order to create and develop Bebras activities and explore new topics
based on the concepts of CS and computational thinking (CT).
The Bebras challenge aims at encouraging and motivating students to learn CS,
developing CT skills and contributing to digital literacy competency development,
at the same time, it provides students and teachers with an attractive introduction to
the basic foundations of CS, motivates students to explore modern approaches of
CS and computer engineering, involves schools in gamification activities in CS and
broadens Bebras school community network. The Bebras challenge promotes CS
Unplugged (or CS without computers), educational activities which can be con-
ducted in STEAM labs, classroom activities and workshops targeted at game devel-
opment, creation of textbooks for schools, and training teachers as curriculum
designers (Combéfis & Stupurienė, 2020; Dagienė, 2018; Dagienė et al., 2021; Sun
et al., 2022b). The Bebras tasks are also proposed to be used as an assessment tool
for CT skills evaluation (Araujo et al., 2017; Román-González et al., 2019).
The educators’ community, involved in Bebras challenge design tasks, tries not
only to cover different areas of CS, but at the same time engage students and inspire
their creativity (more about creativity read the paper Dagienė et al., 2019a). Since
2004, the Bebras educators’ community has created thousands of tasks. Most of
them are designed as interactive tasks with open-ended questions (Dagienė &
Stupurienė, 2016). The tasks have to be solved within 3 min and be suitably aligned
to the age of the students.
As the aim of the challenge is to support schools, where CS is taught at different
levels (or is not taught at all), the tasks should not depend on specific technical
knowledge. In 2021, over three million students from 58 countries were involved in
solving tasks. The Bebras tasks focus on the part of CS education, which should be
understood by everyone who tries to learn the basics of computing as a science,
becomes a creative user of modern methods to solve real-life problems and in future
may become a developer of new technologies. The newly developed and designed
tasks therefore have to comply with the following requirements: each task should
include at least one CS concept, which is unique and attracts students’ attention. It
is a story, picture or interactivity, which requires no prior knowledge, and its solving
time and difficulty level correspond to learners’ age. The task is easy to understand
and challenging to solve. We have analysed the Bebras tasks, which have been
designed within the period of 10 years and have noticed that the largest number of
tasks fall under the area of algorithms and programming. This is understandable, for
CS, as well as digital literacy curricula, focuses heavily on programming.
This paper is structured as follows. First, the paper overviews the literature of the
last 3 years, which is focused on the analysis and research of Bebras tasks used to
improve CT and programming skills at the primary level of education. Second, there
are the programming concepts presented in short Bebras tasks for primary school
are discussed. Third, the paper provides some examples of the Bebras tasks designed
for the development of programming skills in primary schools. The conclusion sec-
tion presents the results of processing a number of short tasks and discusses
future work.
The main goal of the related research review was to find out how the Bebras tasks
are used for the improvement of programming skills at primary education. The most
recent data, i.e. for the last 3 years (2019–2021), were reviewed.
Moschella (2019), who has explored the CT skills education, notes that despite
the growing efforts to develop CT skills in primary education, there are only a few
research on CT skills that could be learned at a certain age. She distinguishes the
essential elements of CT in primary education such as algorithmic thinking, abstrac-
tion and decomposition. The author’s review shows that there are no common tools
to improve algorithmic thinking in kindergarten and early primary schools. The
Bebras tasks are mentioned as the suitable tool for promotion of programming skills
in primary schools, considering all mentioned elements of CT.
Dagienė et al. (2019a) provides the report, which focuses on the creation and
usage of the Bebras tasks for learning and teaching CT in the primary education.
10 Introducing Programming Concepts Through the Bebras Tasks in the Primary… 147
The research of Moschella (2019) is supported by Vaníček et al. (2021), who present
different views on abstraction as a concept and a process. The relation between
students’ success to solve tasks and their difficulty level is analysed by Vaníček and
Šimandl (2020). Van der Vegt and Schrijvers (2019) analysed the relation between
answers types and difficulty of the Bebras tasks. Kalelioğlu et al., (2021) analysed
the Bebras tasks taking into consideration the age level, the task category and CT
skills. Hubwieser and Mühling (2015) investigated the psychometric factors which
influence the success in the Bebras challenge.
The limited number of studies on CS and CT in primary education is closely
related to the reform of CS curricula (Dagienė et al., 2019b; Hsu et al., 2019;
Moschella, 2019; Vaníček et al., 2021; Tsarava et al., 2022). Dagienė et al. (2019b)
have analysed CS education content areas at the primary stage of 52 countries. They
have drawn the conclusion that CS education improves CT skills and digital compe-
tences, that is why it is the main reason to teach CS from an early age to students.
The curricular reform targeting the integration of the CT education and educa-
tion policy initiatives is analysed by Hsu et al. (2019). Mannila et al. (2020) anal-
ysed the process of the development of a scientifically grounded instrument for
assessing students’ programming skills and attitudes according to the Swedish cur-
riculum, which is being updated by inclusion of programming in primary schools in
order to develop the digital competence. Dagienė et al. (2021) discuss the main
aspects and topics of CS curricula development and note the importance of con-
structionism and critical thinking and highlight that CT is promoted through the
K-12 curriculum as a part of the CS subject or in a cross-curricular way.
Lonati wrote in her paper (Lonati, 2020, p. 687): “Bebras tasks do nicely [to]
introduce teachers to new computing concepts…” and provide the evidence of how
Bebras tasks are used by teachers in Italy. In the paper by Combéfis and Stupurienė
(2020), authors discussed some examples of teacher training: in South Korea,
teacher training focuses on problem-solving and problem-building in Bebras tasks.
Lithuania started with in-service teacher workshops and is now working on pre-
service ones, in particular for Bebras task creation. Switzerland also organizes simi-
lar workshops, to prepare teachers to create Bebras tasks for their pupils.
Dagienė et al. (2020) suggest that the classification of the Bebras tasks would
help to design sequences of tasks compatible with the school curriculum. The pro-
posed two-dimensional classification model of the Bebras tasks is based on the
competency of CS and employs Bloom’s taxonomy. The model includes the follow-
ing subfields of CS: data, algorithms, technology, programming, robotics and net-
works. Learners need to think about information and discrete structures, and they
will learn computation, data processing and data visualization and use program-
ming concepts by solving the Bebras tasks.
Contrary to Moschella (2019), Sun et al. (2022a) note that most of the research
on teaching interventions for primary school students has been carried out in the
case of teaching programming, including CT. There is the lack of a clear definition
of programming abilities. Sun et al. (2022a) present the K-12 programming ability
teaching model, which includes educational levels, teaching methods and tools, and
assessment approaches. It has been noted that programming teaching “mainly
148 L. Vinikienė et al.
develops students’ cognitive ability and operational ability, while the research on
metacognition and communication is accounted for less” (Sun et al. 2022a, 7077).
Problem-based learning and project-based learning are mentioned as the essential
ways to improve primary education students’ programming ability. In addition, the
fourth grade of primary school is distinguished as a critical period for the develop-
ment of students’ CT skills. Tsarava et al. (2022) analysed the association between
CT and relevant cognitive abilities in primary school as well.
Many researchers (Araujo et al., 2019; Chiazzese et al., 2019; Sun et al., 2022a;
Vaníček & Šimandl, 2020; Tsarava et al., 2022; Wang et al., 2021), as one of the
tools to measure students’ programming abilities or CT skills, mention the Bebras
tasks. According to Araujo et al. (2019), these tasks can be solved using more than
one skill and depend on the conceptual definition of the skills. Parker et al. (2021)
have described the developed Assessment of Computing for Elementary Students
that consist of both problems using block-based instructions and problems inspired
by the Bebras tasks. This tool aims to measure programming concepts such as loops
and sequences.
The lack of tools to measure programming learning outcomes at an early age is
pointed out by Wang et al. (2021). The authors have defined the programming abil-
ity of young students as the “ability in using programming-related concepts and
procedures to solve problems by manipulating real objects” (para. 2). This is based
on the difficulty that young students face, when they have to manipulate abstract
codes on the computer screen. To support this statement, authors conducted the
experiment by using a set of card-based games corresponding to particular pro-
gramming skills and the Bebras tasks to measure CT skills. Wang et al. (2021) and
Sun et al. (2022b) observed the significant relationship between programming abil-
ity and CT. Furthermore, according to Wang et al. (2021), the most important role
in the development of programming skills is the context where students use skills to
solve problems. In addition, as stated by Sun et al. (2022b), students who start learn-
ing programming from an early age achieve the higher CT level. Gender differences
in programming and CT at an early education stage are also analysed by Sun et al.
(2022b).
Chiazzese et al. (2019) present results of the study, which analyses how the
Bebras tasks have been used to promote students’ acquisition of coding and CT and
the performance of tasks as the measurement of CT skills. For the experiment the
tasks selected cover logic, data analysis and representation through formal encod-
ing, algorithmic thinking and implementing algorithmic procedures. The main find-
ings of this study support ideas that educational robotics kits positively influence the
development of CT skills used to solve problematic real-life problems.
One way to engage young students with CT education is through gamification.
Kahila et al. (2020) presents the example of gamification – an escape room game for
practicing CT. The game’s puzzles are based on the modified Bebras tasks.
Participants have to program in order to solve a particular puzzle or a part of it. The
examples of the games used in Bebras challenge are provided by Dlab et al., (2019).
10 Introducing Programming Concepts Through the Bebras Tasks in the Primary… 149
The authors provide more examples of games for teaching programming in the
primary school. According to the authors (Dlab et al., 2019; Kahila et al., 2020),
educational games engage students to actively participate in learning activities and
improve CT, as well as programming skills.
The Bebras tasks are created by Bebras communities in each country. The tasks are
collected, reviewed and discussed during annually organized international work-
shops. They are well-balanced according to cognitive skill domains (Bloom’s tax-
onomy): most tasks fall under the categories of comprehension, application,
analysis, and assessment (Dagienė & Stupurienė, 2015).
Every year the Bebras international workshop finalizes a set of newly created
tasks and questions. All developed tasks should be related to information compre-
hension, algorithmic thinking and usage of computer systems, combinatorics, dis-
crete structures, puzzles and society. They are categorized according to three
difficulty levels: hard, medium and easy (Dagienė & Futschek, 2008). A group of
international experts in pedagogy and CS follow the process, which inspires creativ-
ity in finding new tasks and ensures high-quality results. It is not easy to create tasks
which meet all criteria. Even the mandatory criteria are often difficult to meet. It is
often a process of several versions from an imperfect task formulation to an accept-
able formulation.
The idea of a short task on CS concepts was embodied in the Bebras challenge
many years ago. The short tasks and small problem-solving activities serve well to
motivate students’ interest in various CS topics and promote CS among students and
teachers. One of the main requirements is that these short tasks should not require
any prior CS knowledge. This means that students should construct their CS knowl-
edge and mental structures by actively solving these tasks. When solving short
tasks, students need to think about information, data, algorithms, computations,
data structures, data processing, programming constructs, etc. In more than 20 years
of experience of working with the Bebras challenge, thousands of short tasks have
been created on various CS concepts.
Dagienė et al. (2021) have proposed a detailed design of informatics curriculum
and discussion programming concepts. The main programming concepts for pre-
primary and primary school students are described in Fig. 10.1.
To solve the short tasks, students have to explore the stated problem domain and
work with data, structures, activities and problems, which are typical for CS. There
are usually many different ways to find a solution. The Bebras challenge tries to
support students who prefer different types of solution strategies.
150 L. Vinikienė et al.
Fig. 10.1 The programming concepts for primary schools. (Source: Authors’ elaboration)
Interestingly, attractive CS concept tasks are crucial to the Bebras challenge. There
are about 300 new short tasks created each year. During local workshops, teachers
learn how to explain what is behind a particular Bebras task and what to read next.
Teachers also learn how to develop the Bebras tasks.
The new Bebras Tasks are developed in cooperation between all countries par-
ticipating in the annual international Bebras task workshop (www.bebras.org/work-
shops.html). Each country develops and submits a set of tasks and all proposed
tasks are reviewed by the Bebras community, corrected and then discussed at a
workshop meeting. There, the proposals can be rejected, refined or simply accepted
for use in that year’s Bebras challenge. The result of this workshop is a task pool.
The national organizers form their national task set from this pool. However, at the
workshop, a subset of the task pool that grows over the years is defined as “manda-
tory” and is therefore used in all national Bebras challenges. All Bebras tasks
(including graphics and other materials) are licensed under a Creative Commons
Attribution-ShareAlike 4.0 International License. Furthermore, most countries pub-
lish the used tasks on their websites after finishing the Bebras challenge each year
(e.g. Australia: https://digitalcareers.csiro.au/).
Each year, at the end of the Bebras challenge, the organizing body of each coun-
try collects data: the number of participating students and how they solved tasks
during the contest. For example, in 2020, 39 countries provided data on which tasks
were used in the competition. 207 various tasks were used in the contest by different
10 Introducing Programming Concepts Through the Bebras Tasks in the Primary… 151
Table 10.1 The most commonly used Bebras tasks in the 2020 challenge
No of Recommended age group and difficulty
Task ID Name countries 1st and 2nd grades 3rd and 4th grades
2020-BE-03 Stars and moons 30 Hard Medium
2020-SK-01 Theatre 25 Medium
performance
2020-MK-01 Marco’s drawings 24 Hard
2020-PT-06 Train tracks 23 Medium
2020-IS-02 Teddy bear hunt 21 Medium
age groups. Therefore, in this section we give five examples of the tasks that were
most popular for primary school students in year challenge – these tasks were used
by majority of the Bebras countries. In addition, these tasks were proposed to pre-
primary (grade 1 and 2) and primary (grade 3 and 4) age groups according to the
Bebras community. Table 10.1 shows the distribution of these tasks regarding the
number of countries that have included the particular task into the challenge in their
own country.
The tasks and their programming concepts are described below (see Examples
10.1, 10.2, 10.3, 10.4, and 10.5).
below could be the result of John’s work.Which bracelet can NOT be obtained by following Mary’s
152 L. Vinikienė et al.
to their home. Along the way, they take pictures of the teddy
bears they see. They saw 4 teddy bears and below are the
All tasks used in the Bebras challenge should be clearly related to CS concepts
and require thinking in and about information, discrete structures, algorithmic and
programming concepts. The key idea behind each task presented to participants is
to provide problems that allow students to learn something about CS concepts that
may be new to them.
10.5 Conclusions
The aim of this study was to present the Bebras tasks as short problem-solving
activities to introduce students to CS topics. Briefly, this can be positioned as the
interplay of interdisciplinary concepts that shape coherent mindset through person-
ally meaningful educational settings. Computational thinking can create an inter-
conceptual cognitive relationship, providing a set of heuristics for problem and
cognitive design-based reasoning. The set of concepts of introductory programming
for primary education includes such concepts as command, instruction, sequence,
repetition, loop, condition, program, error (bug) and debugging.
The wide variety of tools for teaching programming and improving computa-
tional thinking skills are readily available. The digitalization process taking place in
many countries is driving the updating and improvement of school curricula to inte-
grate computer science and computational thinking into primary school education.
Development of programming and algorithmic skills and engaging students in cre-
ative, inspiring, game-based learning to solve problems are the key objectives of the
curricula. Continuously developed Bebras tasks play an important role in CS
education.
The goal of educational design of the Bebras tasks is to develop a coherent set of
concepts for constructing the conceptual model. Bebras tasks implemented in vari-
ous challenge-based environments provide an emotionally coloured context and
support the convolution of interdisciplinary concepts into a coherent mindset.
Bebras tasks can be used as a tool for teaching and learning CS concepts and in
some cases as an assessment tool. With examples of five different tasks from 2020,
we explored the Beaver tasks as an opportunity to introduce programming concepts
to primary school students.
Only some pre-primary and primary school teachers are familiar with CS and
computational thinking, in this case solving and creating Bebras task can help them
to develop CT skills and digital competence. We need to continue research in this
direction showing how Bebras tasks can influence both students’ and teachers’
understanding of computational thinking and increase the interest in CS topics.
10 Introducing Programming Concepts Through the Bebras Tasks in the Primary… 155
Acknowledgements The authors would like to thank the international Bebras community for
annually producing a series of short tasks about CS concepts. The Bebras tasks including pictures
are licensed under a Creative Commons Attribution-ShareAlike 4.0.
References
Araujo, A. L. S. O., Santos, J. S., Andrade, W. L., Guerrero, D. D. S., & Dagienė, V. (2017).
Exploring computational thinking assessment in introductory programming courses. In:
2017 IEEE frontiers in education conference (FIE) (pp. 1–9). https://doi.org/10.1109/
FIE.2017.8190652.
Araujo, A. L. S. O., Andrade, W. L., Guerrero, D. D. S., & Melo, M. R. A. (2019). How many abili-
ties can we measure in computational thinking? A study on Bebras challenge. In: Proceedings
of the 50th ACM technical symposium on computer science education (pp. 545–551). https://
doi.org/10.1145/3287324.3287405.
Chiazzese, G., Arrigo, M., Chifari, A., Lonati, V., & Tosto, C. (2019). Educational robotics in
primary school: Measuring the development of computational thinking skills with the Bebras
tasks. Informatics, 6(4), 1–12. https://doi.org/10.3390/informatics6040043
Combéfis, S., & Stupurienė, G. (2020). Bebras based activities for computer science education:
Review and perspectives. Lecture Notes in Computer Science, 12518, 15–29. https://doi.
org/10.1007/978-3-030-63212-0_2
Dagienė, V. (2018). Resurgence of informatics education in schools: A way to a deeper under-
standing of informatics concepts. Lecture Notes in Computer Science, 11011, 522–537. https://
doi.org/10.1007/978-3-319-98355-4_30
Dagienė, V., & Futschek, G. (2008). Bebras international contest on informatics and computer
literacy: Criteria for good tasks. Lecture Notes in Computer Science, 5090, 19–30. https://doi.
org/10.1007/978-3-540-69924-8_2
Dagienė, V., & Stupurienė, G. (2015). Informatics education based on solving attractive tasks
through a contest. In Key Competencies in Informatics and ICT, KEYCIT 2014, 97–115.
Dagienė, V., & Stupurienė, G. (2016). Bebras - A sustainable community building model for the
concept based learning of informatics and computational thinking. Informatics in Education,
15(1), 25–44. https://doi.org/10.15388/infedu.2016.02
Dagienė, V., Jevsikova, T., & Stupurienė, G. (2019a). Introducing informatics in primary edu-
cation: Curriculum and teachers’ perspectives. Lecture Notes in Computer Science, 11913,
83–94. https://doi.org/10.1007/978-3-030-33759-9_7
Dagienė, V., Futschek, G., & Stupurienė, G. (2019b). Creativity in solving short tasks for learn-
ing computational thinking. Constructivist Foundations, 14, 382–396. https: //constructivist.
info/14/3/382
Dagienė, V., Hromkovic, J., & Lacher, R. (2020). A two-dimensional classification model for
the bebras tasks on informatics based simultaneously on subfields and competencies. Lecture
Notes in Computer Science, 12518, 42–54. https://doi.org/10.1007/978-3-030-63212-0_4
Dagienė, V., Hromkovic, J., & Lacher, R. (2021). Designing informatics curriculum for K-12 edu-
cation: From concepts to implementations. Informatics in Education, 20(3), 333–360. https://
doi.org/10.15388/infedu.2021.22
Dlab, M. H., Hoić-Božić, N., Anđelić, M., & Botički, I. (2019). Thinking in primary school. In
Proceedings of the international conference on management, economics & social science-
ICMESS (pp. 1–7).
Hsu, Y., Irie, N. R., & Ching, Y. (2019). Computational thinking educational policy ini-
tiatives (CTEPI) across the globe. TechTrends, 63, 260–270. https://doi.org/10.1007/
s11528-019-00384-4
156 L. Vinikienė et al.
Hubwieser, P., & Mühling, A.M. (2015). Investigating the psychometric structure of Bebras con-
test: Towards measuring computational thinking skills. In: 2015 international conference on
learning and teaching in computing and engineering (pp. 62–69). https://doi.org/10.1109/
LaTiCE.2015.19.
Kahila, J., Parkki, T., Gröhn, A., Karvinen, A., Telimaa, E., Riikonen, P.V., Tiitta, R., Haantio,
P., Keinänen, A., Kerkkänen, T., Jormanainen, I., Penttinen, S., & Tedre, M. (2020). Escape
room game for ct learning activities in the primary school. In: Proceedings of the 20th Koli
calling international conference on computing education research (pp. 1–5). https://doi.
org/10.1145/3428029.3428063.
Kalelioğlu, F., Doğan, D., & Gülbahar, Y. (2021). Snapshot of computational thinking in Turkey:
A critique of 2019 Bebras challenge. Informatics in Education. https://doi.org/10.15388/
infedu.2022.19
Lonati, V. (2020). Getting inspired by Bebras tasks. How Italian teachers elaborate on computing
topics. Informatics in Education, 19(4), 669–699. https://doi.org/10.15388/infedu.2020.29
Mannila, L., Heintz, F., Kjällander, S., & Åkerfeldt, A. (2020). Programming in primary edu-
cation: Towards a research based assessment framework. In: Proceedings of the 15th
workshop on primary and secondary computing education (pp. 1–10). https://doi.
org/10.1145/3421590.3421598.
Moschella, M. (2019). Observable computational thinking skills in primary school children:
How and when teachers can discern abstraction, decomposition and use of algorithms. In:
INTED2019 proceedings (pp. 6259–6267). https://doi.org/10.21125/inted.2019.1523.
Parker, M.C., Kao, Y.S., Saito-Stehberger, D., Franklin, D., Krause, S., Richardson, D.J., &
Warschauer, M. (2021). Development and preliminary validation of the assessment of comput-
ing for elementary students (ACES). In: Proceedings of the 52nd ACM technical symposium on
computer science education (10–16). https://doi.org/10.1145/3408877.3432376.
Román-González, M., Moreno-León, J., & Robles, G. (2019). Combining assessment tools
for a comprehensive evaluation of computational thinking interventions. In S.-C. Kong &
H. Abelson (Eds.), Computational thinking education (pp. 79–98). Springer Open. https://doi.
org/10.1007/978-981-13-6528-7_6
Sun, L., Guo, Z., & Zhou, D. (2022a). Developing K-12 students’ programming ability: A system-
atic literature review. Education and Information Technologies, 1–39. https://doi.org/10.1007/
s10639-022-10891-2
Sun, L., Hu, L., & Zhou, D. (2022b). Programming attitudes predict computational thinking:
Analysis of differences in gender and programming experience. Computers & Education,
181(104457), 1–20. https://doi.org/10.1016/j.compedu.2022.104457
Tsarava, K., Moeller, K., Román-González, M., Golle, J., Leifheit, L., Butz, M. V., & Ninaus,
M. (2022). A cognitive definition of computational thinking in primary education. Computers
& Education, 179, 104425. https://doi.org/10.1016/j.compedu.2021.104425
van der Vegt, W., & Schrijvers, E. (2019). Analyzing task difficulty in a Bebras contest using cuttle.
Olympiads in Informatics, 13, 145–156. https://doi.org/10.15388/ioi.2019.09
Vaníček, J., & Šimandl, V. (2020). Participants’ perception of tasks in an informatics contest. Lecture
Notes in Computer Science, 12518, 55–65. https://doi.org/10.1007/978-3-030-63212-0_5
Vaníček, J., Šimandl, V., & Klofáč, P. (2021). A comparison of abstraction and algorithmic tasks
used in Bebras challenge. Informatics in Education, 20(4), 717–736. https://doi.org/10.15388/
infedu.2021.30
Wang, L., Geng, F., Hao, X., Shi, D., Wang, T., & Li, Y. (2021). Measuring coding ability in young
children: Relations to computational thinking, creative thinking, and working memory. Current
Psychology, 1–12. https://doi.org/10.1007/s12144-021-02085-9
Chapter 11
Supporting Primary Students
with Disabilities and Neurological
Differences in Developing Digital Thinking
Skills Through an Inclusive Game-Making
Club
Matthew Harrison
11.1 Introduction
Over the past two decades there has been a growing global recognition and commit-
ment to creating more inclusive school systems for students with disabilities and
neurological differences. Australia committed to the vision of removing barriers of
school access and participation when it became a signatory to the UN Convention
on the Rights of Persons with Disabilities (CRPD) (United Nations, 2006). Joining
82 countries in the initial signing of this landmark convention, the nation’s leaders
at the time committed to ensuring “Persons with disabilities can access an inclusive,
quality and free primary education and secondary education on an equal basis with
others in the communities in which they live” (Article 24). Through signing this
convention, Australian educators are committed to ensuring that every child can be
active participants in their class regardless of disability or difference.
While the vision of CRPD is commendable, the reality faced by many Australians
with disabilities or neurological differences highlights that significant work is
required to translate and transform our education system to make inclusive educa-
tion a reality for all students (Lassig et al., 2022). It is understandable that teachers
can be confused by the medical-laden terminology frequently used to explain the
challenges experienced by students. Disabilities or neurological differences is an
umbrella term that encompasses a wide plethora of conditions. Very few initial
teacher education programs provide more than a single unit of study in the implica-
tions of these conditions, with little evidence that these subjects develop under-
standings of how educators can support learners in inclusive environments
M. Harrison (*)
Melbourne Graduate School of Education, The University of Melbourne,
Melbourne, Australia
e-mail: matthew.harrison@unimelb.edu.au
Munoz et al. (2018) identified the need for scaffolds when supporting neurodiverse
learners to code using Scratch. When appropriately supported, both Hughes-Roberts
et al. (2020) and Munoz et al. (2018) highlighted perceived benefits with improve-
ments in task engagement and computational thinking skills.
While there is limited literature focus on game making as a space for including
students with disability in learning to code, there has been important research in
including other historically marginalised populations. Jenson et al. (2018) explored
the relationship between gender and programming knowledge developed in Year 6
game-making clubs. They found that gender was very much secondary to prior cod-
ing experience in participants demonstrating a higher level of programming knowl-
edge. What is particularly interesting is that early results in Jenson et al.’s study
seemed to indicate that instruction by a teacher of the same gender was associated
with increased outcomes in terms of understanding computational concepts and
knowledge of coding. Furthermore, Jenson et al. (2018) also observed that female
participants were more engaged when not in mixed-gender groups. There are impli-
cations to consider here in relation to positive representation leading to engagement,
challenging established notions of who can be a game designer.
Designing and coding games not only provide an ideal context through which to
address core Australian Curriculum concepts found in the Digital Technologies
learning area but also provide fertile ground for supporting learning of the Personal
and Social general capabilities. The guiding documentation accompanying the
Australian Curriculum makes explicit mention that this is a single curriculum
designed for all students (ACARA, n.d.a). While ACARA acknowledges that some
students with disabilities and differences will require substantive accommodations
and adjustments to learn the targeted concepts and skills, the Australian Curriculum
is designed to be used in inclusive classrooms.
Drawing on the core concepts found in the Digital Technologies learning area,
this project created the conditions for students to develop the thinking skills required
to become effective digital creators. Three specific types of thinking underpin the
content and skills of the Australian Digital Technologies curriculum: design think-
ing, systems thinking and computational thinking (Education Services Australia,
n.d.). Design thinking involves the use of strategies for conceptualising and inter-
rogating design problems and considering possible solutions and implications for
solving these problems (Education Services Australia, n.d.). This involves learning
how to represent problems and to draw on knowledge and skills to identify realistic
solutions and developing the methodology to critically analyse and evaluate whether
possible solutions are fit for purpose and sustainable.
It is also essential that students understand that nothing in the digital world oper-
ates in isolation. Systems thinking focuses on the interconnected relationships
between components of digital solutions or artefacts, such as games, and the broader
systems in which these solutions or artefacts operate (Education Services Australia,
n.d.). By understanding how each component of a system interacts and impacts on
other components, students can understand how seemingly minute alterations can
have widespread implications. As illustrated in the example presented later in this
chapter, systems thinking has a vital role in coding.
Computational thinking are methods and skills for solving problems involving
decomposition, abstraction, pattern recognition and algorithm design and is the
most common of the three types of thinking identified with coding (ISTE, 2020).
While central to programming, it is also applicable to non-digital contexts. Like
design thinking and systems thinking, the emphasis in computational thinking is on
the cognitive processes that students can develop for application in a wide range of
contexts. These processes include the logical organisation of data, decomposing and
reframing problems and creating and testing algorithms, patterns and models to
represent problems and solutions (Education Services Australia, n.d.; Shute
et al., 2017).
Game making also provided a rich context for focus on the development of inter-
personal skills. Within the Australian Curriculum, the Personal and social capabil-
ity involves students developing the underlying skills and strategies to regulate their
emotions, to develop cognitive and emotional empathy and to be able to work
11 Supporting Primary Students with Disabilities and Neurological Differences… 161
collaboratively within a team working towards a common goal. This project focused
particularly on the five sub-elements of the Social Management element within the
general capability. These five strands are essential for effective teamwork for all
students: communicating effectively, working collaboratively, making decisions,
negotiating and resolving conflicts and developing leadership skills (ACARA,
n.d.b; Harrison, 2022).
of this club. We aspired to conclude this project with a games festival where stu-
dents and staff from across the school could play the games, provide feedback on
their experiences of these games, learn about the design processes and celebrate the
achievements of the collective group.
Fig. 11.1 A screenshot of one team’s first level during early testing
Many teams wanted to adopt the convention of providing the player with an initial
number of lives, with the player receiving a “Game over” message when these lives
were depleted. For some of the games being designed, it was planned that collecting
a certain number of one item, such as collecting 100 coins, would award the player
with an additional life. While this involved simple mathematical equations, some
teams wanted to include modifiers, such as a hat power-up that would double the
value of the items being picked up, or an enemy that would slowly drain the number
of items held by the player by using their vacuum gun. Using these modifiers added
to the complexity of the underlying algorithms determining when the player is still
in the game.
For some students with challenges retaining multiple pieces of information in
their working memory, this complexity created confusion when writing the rules.
Using the lens of the cognitive load theory, learning occurs when information is
processed from a student’s limited capacity working memory into long-term mem-
ory, where information is stored in schema. While on average people can retain 5–7
pieces of information in their working memory, a child or young adult with an intel-
lectual disability can often only retain one or two pieces of information (DENSW,
2018). In order to support students with disabilities in working out the calculations
required to set up their in-game coin counter, concrete materials were provided.
These included familiar Unifix cubes and MAB blocks. Not only were all students
encouraged to use them to normalise their use, but the teaching staff modelled their
thinking using these materials when explicitly teaching how to insert calculations
into the counter item in Clickteam Fusion. It was following this modelling that stu-
dents began to use concrete counting materials to represent their ideas to their peers,
disability or not.
This project also included numerous opportunities for supporting students with dis-
abilities and neurological differences to work on collaborative skills, as found
within the Social management element within the Personal and social capability of
the Australian curriculum. Educators can support students to become effective
decision-makers within their game design team. While students working towards
Level 4 of the Personal and social capability will be identifying factors that influ-
ence decision-making and evaluating the utility of these factors in accomplishing
the team goal (ACARA, n.d.a, b), not all students are ready to do this at a group
level. Some of the students in this project were practising individual and group
decision-making with just one partner. To support students with social emotional
challenges due to neurological differences, we employed peer-mediated instruction
and intervention by positioning and training peers within the group with the
166 M. Harrison
language to support students who required processing time and assistance with the
use of verbal or non-verbal communication. It was also important to normalise these
supports so that students did not feel signalled out. One way of doing this was teach-
ing all students to “think-pair-share” when making decisions, a strategy that pro-
vides everyone with processing time and an opportunity for the rehearsal of
language. Allowing everyone 1 min to gather their thoughts, conversation partners
then exchange their initial ideas with one peer who can provide feedback and sug-
gest how best to communicate this idea to a group, and then the entire group meets
to share their ideas.
It can be difficult to assess students with complex needs manifesting from disabili-
ties or neurological differences, as there are a very limited number of assessment
instruments designed for this population in relation to coding and other concepts
found in the Digital Technologies curriculum. The Students with Additional Needs
(SWANs) are one such tool that can assist teachers in assessing the knowledge and
skills that are important in developing competencies in coding (DETV, 2022).
Teachers may have heard of SWANS as a component of Abilities Based Learning
and Education Support (ABLES), a Victorian suite of assessment and reporting
tools. The SWANs learning continuum for Digital Literacy is broad enough to pro-
vide insights for educators teaching coding to students living with complex disabili-
ties and neurological differences in any jurisdiction (White et al., 2020). SWANs,
and the subsequent ABLES assessment suite, also provide instruments for assessing
the interpersonal competencies required in collaboration (Coles-Janess & Griffin,
2020). Assessing and teaching collaborative social skills provide another avenue for
innovative educators to demonstrate the multi-faceted academic and social benefits
of game making.
Developed to provide a systematic and fine-grained approach to the assessment
of children with specialised learning needs, the SWANs’ assessment instruments
have a particular emphasis on supporting students who are performing below
expected levels of progress (Woods et al., 2010). The creators of these instruments
were seeking a systematic way to profile the capabilities of these students and to
provide educators with a hierarchical learning continuum for the development of
these skills (Coles-Janess & Griffin, 2020; White et al., 2020). The collection of
learning continuums was constructed through a collation of observations from 700
educators, from 77 mainstream and specialist schools, describing their students’
proficiencies in a range of areas (Griffin & Woods, 2020). This includes Digital
Literacy which incorporates key concepts from the Australian Digital Technologies
curriculum (White et al., 2020). Not only does the SWANs for Digital Literacy suite
allow teachers to use their observations to identify the next step in a student’s learn-
ing journey, but they also provide a list of strategies for supporting learners in devel-
oping an understanding of the foundational concepts of design thinking, systems
11 Supporting Primary Students with Disabilities and Neurological Differences… 167
thinking and computational thinking. Most useful for educators teaching, White
et al. (2020) provide a comprehensive deep dive into the creation of both SWANs
and ABLEs for Digital Literacy. Understanding this process will help educators to
further appreciate their utility to both assess their students and to guide their teach-
ing to support their learners in developing the foundational knowledge and skills
required for coding.
11.6 Conclusions
Many educators and researchers are now recognising the importance of strength and
interest-based learning experiences for creating inclusive learning experiences for
students with disabilities and neurological differences (Harrison, 2022). Inclusive
game-making clubs can present a meaningful context through which all students
can be supported to develop essential design thinking, systems thinking and compu-
tational thinking skills. These thinking skills are at the very centre of the Digital
Technologies learning area of the Australian Curriculum. In addition to these foun-
dational skills for designing and developing software, team game development pro-
vides a fertile context for teaching and supporting the social dimensions of
collaborative problem-solving. Educators and researchers have important roles in
finding practical solutions to remove barriers for our students with a range of func-
tional needs. Through identifying the right supports, every student, regardless of
their level of disability or difference, can actively participate and contribute to the
collective project. It is through the normalisation of these supports that we can begin
to truly create inclusive schools and most importantly to help students with disabili-
ties and neurological differences feel like they belong.
11.7 Resources
References
Australian Curriculum Assessment and Reporting Authority [ACARA]. (n.d.-a). Meeting the
needs of students with a disability. Australian curriculum. https://www.australiancurriculum.
edu.au/resources/student-diversity/meeting-the-needs-of-students-with-a-disability/
Australian Curriculum Assessment and Reporting Authority [ACARA]. (n.d.-b). Personal and
social capability (version 8.4). Australian curriculum. https://www.australiancurriculum.edu.
au/f-10-curriculum/general-capabilities/personal-and-social-capability
Cannon, M., Potter, J., & Burn, A. (2018). Dynamic, playful and productive literacies. Changing
English, 25(2), 180–197. https://doi.org/10.1080/1358684X.2018.1452146
Clickteam. (2013). ClickTeam fusion (Version 2.5 Developer Edition) [Software]. https://www.
clickteam.com/clickteam-fusion-2-5-developer
Coles-Janess, B., & Griffin, P. (2020). Interpersonal competence for students with additional
needs. In P. Griffin & K. Woods (Eds.), Understanding students with additional needs as learn-
ers (pp. 59–70). Springer.
Cooc, N. (2019). Teaching students with special needs: International trends in school capacity and
the need for teacher professional development. Teaching and Teacher Education, 83, 27–41.
https://doi.org/10.1016/j.tate.2019.03.021
Department of Education and Training Victoria [DETV]. (2022). Abilities based learning and
education support. https://www.education.vic.gov.au/school/teachers/learningneeds/Pages/
ables.aspx
Department of Education New South Wales [DENSW]. (2018, November). Cognitive
load theory in practice: Examples for the classroom [Online document]. Centre for
Education Statistics and Evaluation. https://www.cese.nsw.gov.au/images/stories/PDF/
Cognitive_load_theory_practice_guide_AA.pdf
Education Services Australia. (n.d.). Core concepts. The digital technologies hub. https://www.
digitaltechnologieshub.edu.au/understanding-dt/the-dt-curriculum/core-concepts/
Grimsby, R. (2020). “Anything is better than nothing!” Inservice teacher preparation for teach-
ing students with disabilities. Journal of Music Teacher Education, 29(3), 77–90. https://doi.
org/10.1177/1057083719893116
Griffin, P., & Woods, K. (2020). Learning progressions for students with additional needs.
Understanding Students with Additional Needs as Learners, 217.
Harrison, M. (2022). Using video games to level up collaboration for students: A fun, practical
way to support social-emotional skills development. Taylor & Francis.
Hughes-Roberts, T., Brown, D., Boulton, H., Burton, A., Shopland, N., & Martinovs, D. (2020).
Examining the potential impact of digital game making in curricula based teaching: Initial
observations. Computers & Education, 158, 103988.
International Society for Technology in Education [ISTE]. (2020, September). How to develop
computational thinkers. https://www.iste.org/explore/how-develop-computational-thinkers
Jenson, J., Black, K., & de Castell, S. (2018, October). Digital game-design: Effects of single sex
groups on student success. In ECGBL 2018 12th European conference on game-based learning
(p. 258). Academic Conferences and publishing limited.
11 Supporting Primary Students with Disabilities and Neurological Differences… 169
Lassig, C., Poed, S., Mann, G., Saggers, B., Carrington, S., & Mavropoulou, S. (2022). The
future of special schools in Australia: Complying with the convention on the rights of persons
with disabilities. International Journal of Inclusive Education, 1–19. https://doi.org/10.108
0/13603116.2021.2020344
Matthews, N. (2009). Teaching the ‘invisible’ disabled students in the classroom: Disclosure,
inclusion and the social model of disability. Teaching in Higher Education, 14(3), 229–239.
https://doi.org/10.1080/13562510902898809
Munoz, R., Villarroel, R., Barcelos, T. S., Riquelme, F., Quezada, A., & Bustos-Valenzuela,
P. (2018). Developing computational thinking skills in adolescents with autism spectrum disor-
der through digital game programming. IEEE Access, 6, 63880–63889.
Oliver, M. (2013). The social model of disability: Thirty years on. Disability & society, 28(7),
1024–1026. https://doi.org/10.1080/09687599.2013.818773
Pelletier, C., Burn, A., & Buckingham, D. (2010). Game design as textual poaching: Media lit-
eracy, creativity and game-making. E-learning and Digital Media, 7(1), 90–107. https://doi.
org/10.2304/elea.2010.7.1.90
Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational
Research Review, 22, 142–158. https://doi.org/10.1016/j.edurev.2017.09.003
Symeonidou, S. (2017). Initial teacher education for inclusion: A review of the literature. Disability
& society, 32(3), 401–422. https://doi.org/10.1080/09687599.2017.1298992
United Nations. (2006). Convention on the rights of persons with disabilities. Treaty Series,
2515, 3.
White, E. H., Pavlovic, M., & Poed, S. (2020). Understanding and mapping digital literacy
for students with disability. In Understanding students with additional needs as learners
(pp. 131–156). Springer.
Woods, K., Coles-Janess, B., & Roberts, E. (2010). Mining the gold: Assessing students by ability,
not disability. Teacher, 4, 34–37.
Chapter 12
Game Making and Coding Fluency
in a Primary Computing Context
Mick Chesterman
12.1 Introduction
The potential of digital game making is explored in depth in a review by Kafai and
Burke (2015). The most prominent learning objective of making games in educa-
tional setting is to develop coding and computing skills. There are extensive studies
on game making to learn other subjects including maths, biology and chemistry, but
diverse examples exist. Game making can also develop social skills, self-reflection,
cultural awareness and a range of technical abilities that allow participation in infor-
mation society. Finally, because game making involves a systems-based under-
standing of the world and as games are themselves interactive systems, they are a
powerful vehicle for exploring complex problems involving race, sex and social
issues (Tekinbaş et al., 2010).
While there has been a large body of research on the value and practice of game
making for educational purposes, it is a dynamic landscape which has many areas
which merit additional research. New software tools which make games offering
new pedagogical possibilities emerge regularly. Game-playing practices and the
opportunities provided by participation in wider communities also continue to
evolve. For example, casual and retro games played by both adults and children are
increasingly available via smart phones and home consoles. The nostalgia around
such games and the associated aesthetics of cuteness creates a potential for connec-
tion between younger and older players (Boyle & Kao, 2017). The sustained popu-
larity of retro games together with easy-to-use game-making tools and code
M. Chesterman (*)
Manchester Metropolitan University, Manchester, UK
e-mail: m.chesterman@mmu.ac.uk
frameworks provides an entry point for game players into game-making cultures
which is reflected in the success of amateur games publishing websites like itch.io
(Garda, 2014). My study, in part, asks how the motivational and navigational affor-
dances of enthusiast game-making communities can be brought into more struc-
tured educational environments.
In this chapter, I explore the potential of digital game making as an inclusive way
of developing coding concepts and coding fluency in the later stages of primary
education. This chapter begins with a short summary of the United Kingdom (UK)
context of coding and inclusion. This is followed by a section on game making as
an inclusive, project-based teaching approach. I then describe two game-making
tools used in my study before outlining the process of the development of a learning
design in partnership with participants. I end with an overview of what I provision-
ally call the 3 M game-making learning design and offer links to the resulting
resources suitable for learners and fellow practitioners.
12.2 Context
The influential report “Next Gen: Transforming the UK into the world’s leading
talent hub for the video games and visual effects industries” was focused on provid-
ing the UK games and animation industry with the talent needed to succeed
(Livingstone & Hope, 2011). The top recommendations were to include computer
science in core curriculum, introduce a new Computing GCSE exam (a general
exam for 16-year-olds before they progress to more specialised study), offer bursa-
ries for computing teachers and implement well-supported use of games and visual
animation in the school curriculum as a way to attract more young people to the
subject. The After the Reboot report (Waite, 2017) returned to the subject of game
making as a way of increasing engagement in the process of coding. The review
highlighted several areas of promise which needed more research: using games for
engagement, use of design patterns (a term explored later in this chapter) and the
involvement of girls in coding and social and cultural aspects of coding. The “After
the Reboot” report also contained observations which cause concern. The report
found that girls, ethnic minorities and students of low socio-economic status were
all less likely to take up computing as a subject at the GCSE level. Game making
aligns well with the principles of inclusive practices and project-based learning
(PBL). Specifically, game making facilitates the following: learner choice in proj-
ects which increases motivation, authentic and shareable project outcomes to
encourage peer feedback and reflection, iterative project works supporting student
mastery and challenging goals and guidance in goal setting aiding self-regulation in
learners.
Computing at School Include is a key grassroots group addressing issues of
inclusion in UK computing. It is a working group of teachers and researchers in the
12 Game Making and Coding Fluency in a Primary Computing Context 173
1
https://gamesforchange.org/studentchallenge/g4c-resources-hub/
2
https://www.casinclude.org/inclusive-resources/programming
174 M. Chesterman
matter or the style and aesthetics of audio and visual elements of the game. Teachers
can also draw out attitudes and knowledge of game cultures and bring them into the
learning environment in an inclusive way. In addition, knowledge of game design
conventions can be used by teachers to exemplify coding concepts. For example,
consider conditional coding constructs. If Pac-Man touches a ghost, then a player
life is lost. Such structures are described as game design patterns. Denner and col-
leagues (2014) found that the use of design patterns and game mechanics when
teaching novice coders can increase accessibility for learners due the concrete and
relatable approach.
Game Making as an Authentic Activity Another important concept in both
project-based and inclusive approaches to education is to make projects as authentic
as possible in order to increase learner motivation (Barron & Darling-Hammond,
2008). With respect to game making, this authenticity or realness can be seen in
both the tangible, shareable nature of the resulting game created and clear links to
the domains of professional and amateur game production. When learners are
designing with someone else in mind, this guides them to shape their game design
effectively. The process of imagining the end user’s experience is a vital design skill
to develop when making games. As teachers, it is helpful to redirect the attention of
learners back to the imagined player of the game they are creating to augment moti-
vation and prioritisation. The high profile of the games industry helps learners rec-
ognise that their own game-making skills can be applied outside of the classroom.
Young people may not be able to create a technically commercial advanced game,
but other genuine audiences exist. For example, so-called Indie Games are made by
enthusiasts and often released at a low cost or for free on the Internet. They often
appeal to a retro-game aesthetic and are thus easier and quicker to make. Highlighting
these communities and outlets may reduce student dissatisfaction at not being able
to code more advanced games. Entering online competitions or other creative com-
petitions may also increase the perceived authenticity of game-making activities.
Coding and Computational Fluency Resnick and Rusk (2020) draw on the moti-
vations of the literacy-for-all movement when using a concept of computational
fluency to describe students’ creative expression through coding projects. Fluency
in coding can be compared to fluency in spoken languages. The focus is less on
accuracy and complexity of language use but rather on how fluid and comfortable
speech is. Game making has a great potential to develop coding fluency if students
are given flexibility over how they add in and adjust new features based on the moti-
vation of designing for other players. Game making encourages small, repeated
changes to project variables and structures to make the game mechanics during play
“feel” just right. The process of adding different graphics and audio assets into
games returns a high reward for students for the effort put in. These factors contrib-
ute to games being a good vehicle to encourage confidence in coding and computa-
tional fluency.
12 Game Making and Coding Fluency in a Primary Computing Context 175
The field of game making is dynamic. New tools frequently emerge with novel
approaches and features. In this sect. I outline the key features of selected game-
making tools used for my study. This section is necessarily short. A fuller explora-
tion of the pros and cons of game-making tools is available as a blog post.3
Phaser.js in a Code Playground Phaser is a JavaScript game-making library. It is
my own tool of choice when it comes to game making using text code. To teach it I
ask learners to code games in a web coding environment called a code playground.
Code playgrounds are a tool used by both expert and novice coders to share exam-
ples of code that can be edited and previewed online. A key feature is the ability to
make changes in code and then quickly to see the new results appear in the live
game. The concept is particularly useful for novice coders. Many text-based code
playgrounds exist online. I chose Glitch.com although the process also works well
in Trinket which is also popular with UK educators. Phaser is used by professional
game makers and Glitch is the test bed of choice of many code developers. If learn-
ers do take to this way of working, they can easily progress to creating genuine Indie
Games, dynamic websites and flexible web applications (Fig. 12.1).
The drawback of this approach is the potential complexity of using real web
technology. While it is possible to hide certain elements of html and CSS away from
the user, many mistakes are possible which break the game completely. Luckily
Glitch has the ability rewind and undo your changes via an easy-to-use timeline of
your project.
Fig. 12.1 Phaser in Glitch.com playground with code and game side by side. (Screenshot
by author)
3
https://network23.org/3 m-gamemaking/an-overview-of-game-coding-tools/
176 M. Chesterman
Fig. 12.2 MakeCode Arcade with code and game side by side. (Screenshot by author)
4
https://matthewbarr.co.uk/bartle/
12 Game Making and Coding Fluency in a Primary Computing Context 177
activities with a wider potential application. To facilitate this goal, I have taken a
design-based approach which acknowledges the importance of context in educa-
tional research (Brown, 1992). Design-based research is a varied discipline which
can take a multitude of forms (McKenney & Reeves, 2021). The core elements
include research as an intervention, iteration, involvement of participants in the evo-
lution of designs and a flexibility of research outcome based on how events unfold
(Easterday et al., 2014). One of the key motivations of this approach is to produce
educational research that has a high utility for practitioners through developing
theory that is rooted in contextual practice and which can produce new pedagogies
and resources (Cobb et al., 2003).
Barab and Squire (2004) describe the messiness of design-based research and
how this creates a challenge to the researcher of how to present results in a coherent
way which is of use to other practitioners. There is a tension between sticking
closely to the context and specifics of the research and a more general, abstracted
view. Here, I try to strike a balance, which stays concrete, but which also pulls from
my observations a framework which can apply to other game-making and creative
project-based approaches. Another guiding principle of design-based research –
which is present in the techniques of design experiments, mutual appropriation and
participatory action research – is that research participants also influence the ongo-
ing design of the research (Barab et al., 2004; Cobb et al., 2003; Downing-Wilson
et al., 2011). The design of my research experiment started from a very open posi-
tion and evolved from several iterations of collaborative work with participants.
One experimental team consisted of Home Educating families. A second pro-
gramme involved local primary school children in Year 6 (10- to 11-year-old)
classes. Given space constraints, in this chapter I focus on the pedagogical results
rather than the observational data that has guided them. However, I include a short
summary of data collection methods here. I have drawn on multiple methods includ-
ing ethnographic journaling as a participant observer, participant interviews and
analysis of artefacts used and created. I have also undertaken analysis of participant
actions via the videoing of the workshop area with a 360-degree video camera and
capture of screen data and audio of the laptops used by participants. While the rich
set of data has allowed the cross-referencing of the many sources, it also presented
a challenge of how to deal effectively with the large amounts of data being gathered.
The use of a 360-degree camera reduced the amount of live video footage of interac-
tions needed. Instead of multiple cameras pointed in different directions to capture
participant interaction, participants were arranged in a square, pointing inwards
towards a central 360-degree camera. When triangulating data from various sources,
I prioritised critical moments in depth which illuminated key themes. Analysis of
interviews, observation journal notes and screen captures allowed me to identify
tensions arising from facilitators and participants in the game-making process.
Analysis of these tensions allowed me to examine and revise teaching approaches
and supporting resources. My approach involved not to remove all tensions – as
some may be productive in the learning process – but rather to identify and avoid
unproductive blockages. For example, in my journal notes I observed in pair work
significant confusion and disputes regarding setting short-term project goals and
178 M. Chesterman
frustration over lost work and time. As a response, I introduced a variety of tools and
processes to aid the self-motivation and navigation of learners. Other examples of
tensions include the following: difficulties in getting games ready for play testing
due to being lost in the detail of coding, an ability gap between features that partici-
pants wanted to add to the game and their technical abilities, the difficulty of sup-
porting learners’ different approaches to coding and a lack of reflection on progress
and appreciation of the complex learning dimensions involved in game making.
When analysing journal notes I drew on observations of strategies and responses
that participants and facilitators used to resolve tensions. If effective, I would
attempt to incorporate them into future teaching resources. For example, I noticed
that many participants would deviate from accepted game-making practice and try
to create impossible or prank-filled games. This desire from participants to cause
frustration in game play sometimes had a productive impact on their level of engage-
ment and the complexity of the game design in the coding structures they created.
Responses to recognise and encourage this behaviour are outlined below. At the end
of the game-making process I analysed journal notes and the changes to teaching
resources in order to collate and code the responses to tensions and find common
themes. I synthesised and refined the presentation of the responses using these
themes as a way to help both learners and other facilitators to navigate and address
similar issues when game making. The final part of this chapter gives an overview
of the learning design that has emerged from this participatory design-based
approach.
The result of this analysis and responses is the 3 M model which is designed to be
of use to both teachers and learners. The section outlines the main features of the
3 M model,5 namely, missions, maps and motivational methods. I will also explain
how the methods involved in the model are informed by inclusive pedagogy prin-
ciples contained in Universal Design for Learning (UDL) and project-based learn-
ing (PBL). This learning design can be applied using a variety of game-making
software. The resources I have created for MakeCode Arcade6 and Phaser7 are free
and open source and available online. I invite other educators to adopt the 3 M
approach and share resources for Scratch, Pygame, p5.play and other suitable plat-
forms. In the course of game making, some elements of the 3 M model are more
visible to participants than others. The 3 M model is presented below in order of this
visibility. Missions are used regularly by learners. Maps are used more occasionally
5
https://mickfuzz.github.io/makecode-platformer-101
6
https://mickfuzz.github.io/makecode-platformer-101/
7
https://glitch-game-makers-manual.glitch.me/
12 Game Making and Coding Fluency in a Primary Computing Context 179
12.7 Missions
Many commercial open world games offer a central challenge consisting of small
incremental missions and then optional side missions. Open world games increase
user choice and thus give players a greater feeling of agency. To mirror this approach,
the main challenge of the 3 M model is to create a playable game around a theme
for a real or imagined audience with learners given the choice to add many optional
features to the game. This approach steers students towards developing their use and
understanding of coding structures, debugging practices and systems concepts. In
addition, side missions encourage social and playful coding approaches which help
develop a community of coders.
Side Missions Bartle proposed that online gamers play games for different reasons
and proposed an initial typology of gamers as socialiser, griefers, achievers and
explorers (Hamari & Tuunanen, 2014). You can find out what kind of game player
you are with an online test.8 I propose there are also different styles of game makers.
Some like to develop a full knowledge of the tools and what is possible before they
build up their game step-by-step. Some are happy to borrow code, images and sound
from anywhere for quick results. More sociable makers like to find out about the
games of others or tell stories within games while others mess around with the code
to break it in interesting ways. To encourage these valuable social coding practices,
I created extra missions which are available online.9 I avoid any claims of fixed
learner types here and offer these interpretations primarily as a way to encourage
meta-cognitive reflections and choice of activity in line with UDL principles.
Game Design Patterns as Main Missions Design patterns are most commonly
used for computing students at higher education to teach object-oriented computing
but they are also useful for all levels of learners. Design patterns are rooted in real-
life incidences of problems that are often solved in a particular way. They are con-
crete examples of coding principles in context. Design patterns can help the
development of coding communities if more experienced coders take the time to
document the patterns they use in an accessible way for novice coders. For educa-
tors, the use of design patterns can help support learners develop coding proficiency
by providing scaffolding and modelling good design decisions. However, one of the
challenges for teachers of using worked examples and design patterns is how to
integrate them into student-led design challenges. In the 3 M model, rather than fol-
8
https://matthewbarr.co.uk/bartle/
9
https://mickfuzz.github.io/makecode-platformer-101/missions
180 M. Chesterman
lowing a step-by-step tutorial, learners start with an incomplete game template and
add new features as they choose. Each feature is described as a mission. This
approach follows the use-modify-create model to limit learner anxiety for novice
coders and to scaffold the acquisition of coding and computational thinking con-
cepts (Lee et al., 2011). I worked with learners to create a wish list of game features
to create a 2D platform game. These features included moving hazards, jumping on
enemies or finding a door or flag to progress to the next level. We can describe these
features as game design patterns. Driven by the requests of learners, I developed
tutorials to support students implement these patterns. This approach aligns with
inclusive education principles in that it increases the choices of students, scaffolds
the way they can access resources and allows them to keep track of their own
progress.
In my final implementation of the 3 M model, students picked missions from a
choice of printed cards. There were four colour-themed categories of missions.
Game mechanics are features to do with the actions of the game. Game space pat-
terns address the layout of the game. Game polish patterns involve adding music,
backgrounds, graphics and story elements. Finally, system and challenge patterns
look at how different elements interact to create challenge in the game. An example
of a game mechanic design pattern follows.
Your mission is to apply the following pattern to your game. There are sup-
porting step-by-step resources available if you need them. When you finish,
be sure to reflect on how adding this pattern helps your understanding of the
computing concepts and similar patterns listed. This concludes your mission.
Name of game design pattern: Jumping on enemies to zap them.
Type pattern: Game mechanic.
Description: If the player is descending from a jump when they touch the
enemy, the player is zapped and in this case disappears.
Need for pattern: Enemies create challenge and being able to jump on an
enemy is a good way of clearing the area you want to explore.
Coding concepts involved: Arrays,10 change listener.11
Links to other computing patterns: System dynamics.12
Related game patterns: You will need to have added the Add Enemies pattern
to your game before you can add this one.
10
https://mickfuzz.github.io/makecode-platformer-101/learningDimensions#arrays
11
https://mickfuzz.github.io/makecode-platformer-101/learningDimensions#change-listener
12
https://mickfuzz.github.io/makecode-platformer-101/learningDimensions#systems-dynamics
12 Game Making and Coding Fluency in a Primary Computing Context 181
12.8 Maps
This process of mapping such frameworks may be overly time-consuming for many
full-time teachers. However, teachers may also use and adapt existing maps and
frameworks based on their own classroom experience to help their observation of
students. Because these frameworks can also help students to navigate their own
learning journey, the effort serves a double purpose.
Physical Maps of Missions To support younger coders unsure what to do next or
who struggle to stay on task, I sought to create another kind of map to help them
navigate their game-making journey. I printed out a large-scale colour map of a
coastal landscape stylised in a way that mirrored a map used for navigation in a
quest-themed computer game. The game pattern missions were represented as dif-
ferent islands. Learners took time to create and personalise a movable marker rep-
resenting themselves. When learners selected their next mission, they moved their
counter to the relevant island. Thus, learners had to be intentional about their next
goal and were implicitly encouraged to stick to it. They also kept a track of the mis-
sions that they had completed by tracing a trail as they progressed. In addition, the
colourful, physical and visual representation served to encourage a sense of com-
munity and peer learning. When moving the counter on the map, I prompted them
to reflect on the coding concepts or other learning dimensions that they had been
working with. As learners traced a trail between the different island/missions they
had visited, the map provoked learners to reflect on their journey and progress.
However, this approach may be too labour- and time-intensive for many class envi-
ronments. I am currently investigating replicating this process using online tools to
reduce complexity and preparation time.
12.9 Motivational Methods
The final M of the 3 M framework stands for motivational methods. These methods
are inspired by other projects involving a community approach to teaching technol-
ogy. Here, I share two methods that emerged from feedback and partnership work
that proved valuable in the context of game making.
Physical Computing and Game Making The use of physical computing to create
concrete and tangible activities can increase the engagement and motivation of
learners (Kaloti-Hallak et al., 2015). Making the digital concepts physical, and thus
allowing exploration via diverse means, also aligns with inclusive learning princi-
ples. To support my game-making projects, I created simple arcade cabinets out of
wood with retro arcade buttons. Connecting arcade buttons to the computer via
simple electronics is a project which can be completed quickly. The process of stu-
dents building their own arcade cabinets for a game showcase increased their per-
ception of the authenticity of their end goal. Some families created low-tech,
customised arcade cabinets using cardboard. Although my studies have been of
small scale, the self-reported effects on learner engagement and motivation of this
part of the program were significant.
12 Game Making and Coding Fluency in a Primary Computing Context 183
• Asking learners to step into a role can increase identification with participation
in the project. For example, you may say, “As game designers, we will make this
game for a particular audience”.
• Fictional situations can help create a sense of imagined jeopardy which can help
learners stay on track with their creative timescale and may increase their com-
mitment to the process.
• When learners share their games with their real or imagined audience, they can
talk through their design decisions and challenges, thus creating an opportunity
for reflection.
• Drama processes can help explore identification with or hostility to gaming
cultures.
This section contains links and descriptions of supporting resources that have
emerged from the research process. The resources have been created under an open
licence (CC-BY-SA) which allows them to be freely used and adapted. A full
description of resources created for MakeCode is presented below and a summary
of those created for Glitch and Phaser (Fig. 12.3), Table (12.2).
The following resources exist for text-based coding using the Phaser JavaScript
framework. While other programming environments can be used, these resources
are based on learners using the glitch.com code playground website:
• A splash page for Phaser/Glitch.com resources. This contains links to printouts,
tutorials and activities – https://glitch-game-makers-manual.glitch.me/.
• An interactive starting template and grid of game design patterns that learners
can add to the incomplete template – https://ggc-examples.glitch.me/
184 M. Chesterman
The application of the 3 M model applied using the MakeCode Arcade software is
available online as part of a collaborative online documentation repository. The
resource includes a template of a broken game to fix, printable cards offering quick
changes to core design patterns, printable documents which describe game design
patterns and steps of how to implement them, a map of learning dimensions that
learners are likely to encounter when making games and an adaptable five-week
course of activities. All of these resources are available at https://mickfuzz.github.
io/makecode-platformer-101.
12 Game Making and Coding Fluency in a Primary Computing Context 185
While the above iteration of the 3 M model applies to a platformer game, many
other genres of games can be made using the MakeCode Arcade software. Many
resources and tutorials are available at https://arcade.makecode.com/.
12.11 Conclusion
In this chap. I have examined how game making fits an inclusive and project-based
approach to computing. I outlined some of the potential that game making provides
as an authentic activity and how it allows students to incorporate their own interests
and home experience into projects. I described the emergence, through design-
based research, of a 3 M game-making model where each of the three methods align
game-making project work with inclusive pedagogical approaches. For example,
the use of game design patterns as missions helps scaffold the process of goal
186 M. Chesterman
setting and project navigation. The use of maps helps learners to navigate their
progress and can help teachers to facilitate learner-led processes thus increasing
student autonomy. Finally, the motivational methods of using a fictional frame and
the incorporation on physical computing techniques can help engage learners and to
sustain their continued investment in the project work.
One of the purposes of sharing my resources freely is to invite collaboration with
educators and researchers in future work. The next stages of my research will
involve a deeper look at how participants use the resources and provided to navigate
their learning experience. I am also interested in widening the scope of the research
beyond an exploratory, developmental stage to include comparative and quantitative
studies that explore how this pedagogy compares to game making via an instruction-
based approach.
References
Barab, S., & Squire, K. (2004). Design-based research: Putting a stake in the ground. Journal of
the Learning Sciences, 13(1), 1–14. https://doi.org/10.1207/s15327809jls1301_1
Barab, S., Thomas, M. K., Dodge, T., Squire, K., & Newell, M. (2004). Critical design ethnogra-
phy: Designing for change. Anthropology & Education Quarterly, 35(2), 254–268. https://doi.
org/10.1525/aeq.2004.35.2.254
Barron, B., & Darling-Hammond, L. (2008). Teaching for meaningful learning: A review of
research on inquiry-based and cooperative learning. In Powerful learning: What we know about
teaching for understanding. Jossey-Bass. https://files.eric.ed.gov/fulltext/ED539399.pdf
Basham, J. D., & Marino, M. T. (2013). Understanding stem education and supporting students
through universal design for learning. Teaching Exceptional Children, 45(4), 8–15. https://doi.
org/10.1177/004005991304500401
Boyle, J., & Kao, W.-C. (Eds.). (2017). The retro-futurism of cuteness. Punctum Books. https://doi.
org/10.21983/P3.0188.1.00
Brown, A. L. (1992). Design experiments: Theoretical and methodological challenges in creating
complex interventions in classroom settings. Journal of the Learning Sciences, 2(2), 141–178.
https://doi.org/10.1207/s15327809jls0202_2
Cobb, P., Confrey, J., diSessa, A., Lehrer, R., & Schauble, L. (2003). Design experiments
in educational research. Educational Researcher, 32(1), 9–13. https://doi.org/10.310
2/0013189X032001009
Denner, J., Werner, L., Campe, S., & Ortiz, E. (2014). Using game mechanics to measure what
students learn from programming games. International Journal of Game-Based Learning
(IJGBL), 4(3), 13–22. https://doi.org/10.4018/ijgbl.2014070102
Downing-Wilson, D., Lecusay, R., & Cole, M. (2011). Design experimentation and mutual appro-
priation: Two strategies for university/community collaborative after-school interventions.
Theory & Psychology, 21(5), 656–680. https://doi.org/10.1177/0959354311414456
Easterday, M. W., Lewis, D. R., & Gerber, E. M. (2014, January). Design-based research process:
Problems, phases, and applications. Proceedings of International Conference of the Learning
Sciences, ICLS, 1, 317–324.
Garda, M. B. (2014, August). Nostalgia in retro game design. DiGRA – Proceedings of the 2013
DiGRA International Conference: DeFragging Game Studies. http://www.digra.org/wp-
content/uploads/digital-library/paper_310.pdf
Hamari, J., & Tuunanen, J. (2014). Player types: A meta-synthesis. Transactions of the Digital
Games Research Association, 1(2). https://doi.org/10.26503/todigra.v1i2.13
12 Game Making and Coding Fluency in a Primary Computing Context 187
Kafai, Y., & Burke, Q. (2014). Beyond game design for broadening participation: Building new
clubhouses of computing for girls. Proceedings of Gender and IT Appropriation. Science and
Practice on Dialogue – Forum for Interdisciplinary Exchange, 21:21–21:28. http://dl.acm.org/
citation.cfm?id=2670296.2670301
Kafai, Y., & Burke, Q. (2015). Constructionist gaming: Understanding the benefits of mak-
ing games for learning. Educational Psychologist, 50(4), 313–334. https://doi.org/10.108
0/00461520.2015.1124022
Kafai, Y., Richard, G. T., & Tynes, B. M. (2017). Diversifying barbie and mortal kom-
bat: Intersectional perspectives and inclusive designs in gaming. ETC Press. https://doi.
org/10.1184/R1/6686738
Kaloti-Hallak, F., Armoni, M., & Ben-Ari, M. (2015). Students’ attitudes and motivation dur-
ing robotics activities. Proceedings of the Workshop in Primary and Secondary Computing
Education, 102–110. https://doi.org/10.1145/2818314.2818317
Lee, I., Martin, F., Denner, J., Coulter, B., Allan, W., Erickson, J., Malyn-Smith, J., & Werner,
L. (2011). Computational thinking for youth in practice. ACM Inroads, 2(1), 32–37. https://doi.
org/10.1145/1929887.1929902
Livingstone, I., & Hope, A. (2011). Next gen: Transforming the UK into the world’s lead-
ing talent hub for the video games and visual effects industries. National Endowment for
Science,Technology and the Arts (NESTA). Retrieved from https://media.nesta.org.uk/
documents/next_gen_wv.pdf
McKenney, S., & Reeves, T. C. (2021). Educational design research: Portraying, conducting, and
enhancing productive scholarship. Medical Education, 55(1), 82–92. https://doi.org/10.1111/
medu.14280
Moll, L. C., Amanti, C., Neff, D., & Gonzalez, N. (1992). Funds of knowledge for teaching: Using
a qualitative approach to connect homes and classrooms. Theory Into Practice, 31(2), 132–141.
Petrich, M., Wilkinson, K., & Bevan, B. (2013). It looks like fun, but are they learning? In Design,
make, play. Routledge. 68–88.
Picton, I., Clark, C., & Judge, T. (2020). Video game playing and literacy: A survey of young
people aged 11 to 16 (p. 31). National Literacy Trust. Retrieved from https://cdn.literacytrust.
org.uk/media/documents/Video_game_playing_and_literacy_report_final_updated.pdf
Resnick, M., & Rusk, N. (2020). Coding at a crossroads. Communications of the ACM, 63(11),
120–127. https://doi.org/10.1145/3375546
Tekinbaş, K. S., Torres, R., Wolozin, L., Rufo-Tepper, R., & Shapiro, A. (2010). Quest to
learn: Developing the school for digital kids. The MIT Press. https://doi.org/10.7551/
mitpress/8909.001.0001
Waite, J. (2017). Pedagogy in teaching computer science in schools: A literature review (p. 90).
Royal Society. Retrieved from https://royalsociety.org/%7E/media/policy/projects/computing-
education/literature-review-pedagogy-in-teaching.pdf
Part III
Secondary/High School
Chapter 13
The Problem with Programming:
An Overview
Christina Chalmers
13.1 Introduction
C. Chalmers (*)
Queensland University of Technology, Brisbane, QLD, Australia
e-mail: c.chalmers@qut.edu.au
13.1.1 Computational Thinking
Teaching students computational thinking skills from an early age is important for
developing computational practices and perspectives. These are required for under-
standing how to create an algorithm to solve a problem and for developing the per-
sistence to engage with an iterative process to find the best way to create a solution.
This process offers a way to scaffold students’ problem-solving with programming.
The development of computational thinking skills is essential when learning to pro-
gram; understanding the underlying concepts, including variables, conditions,
loops, and functions, and knowing when, how and where to use them are necessary
as students develop their understanding (Kandemir et al., 2020).
Computational thinking skills and concepts of computer science have been
included in curriculums internationally, with many starting in the early grades
(Papadakis et al., 2016). Computational thinking was defined by Wing (2006) as a
fundamental problem-solving skill that draws on concepts from computer science,
and many research studies since this seminal paper by Wing have emphasized that
computational thinking should be taught to students from an early age (e.g. Bakala
et al., 2021). Computational thinking and developing computational thinking skills
are considered to be essential for learning in the twenty-first century and for prepar-
ing students for a future in a world that is becoming increasingly more complex.
The skills are mainly taught through unplugged and coding activities (Huang &
Looi, 2021). Unplugged refers to activities, pedagogical practices, and strategies that
focus on computational thinking skills or concepts from computer science, without the
use of a computer or another digital device. Unplugged activities can help students
learn computational thinking skills and computer science concepts, and these activities
have been used to introduce programming with various age groups.
13.1.2 Programming
13.2 Method
In the context of this study, an overview was selected to examine, synthesize, and
evaluate secondary data on programming and computational thinking. Overviews of
review studies have been used typically in research to combine large numbers of
systematic and meta-analysis reviews into a single synthesis (Gates et al., 2020).
This method allows for identifying potential gaps and determining future research
directions. This overview study combines systematic reviews and meta-analyses
into a single review, following a similar methodology structure as a system-
atic review.
194 C. Chalmers
Fig. 13.1 Study search and selection process based on PRISMA flow diagram. (Page et al., 2021)
13 The Problem with Programming: An Overview 195
thinking. The number of relevant articles found is presented in Fig. 13.1. The year
2006 was chosen as a time constraint as this was when Wing’s seminal paper on
computational thinking was published. Review articles were excluded from this
study if they were not published in this time frame (2006–2021), did not relate to
computational thinking or learning to program or were not a systematic review or a
meta-analysis published in a peer-reviewed academic journal.
A total of 2949 studies were generated using the following search terms and
combinations of terms: (systematic review OR meta-analysis) AND (programming
OR coding) AND (computational thinking). An examination of the titles and
abstracts of these review studies, to identify duplicates and to match against the
inclusion and exclusion criteria, resulted in 49 review articles considered to be rel-
evant for this overview. The reviews included in this study were peer-reviewed sys-
tematic reviews or meta-analyses, published in the ACM Digital Library (1), DOAJ
(3), EBSCO (2), IEE Explore (3), ProQuest (14), SAGE (4), ScienceDirect (12),
Springer (1), Taylor & Francis (6), or Wiley (3) databases, from 1 January 2006 to
1 January 2022, focusing on computational thinking and programming in an educa-
tional setting. While the focus of this overview is on K-12 education, additional
systematic reviews and meta-analyses that examined issues with programming in
university courses were also included. This was to ensure that relevant challenges
students face with text-based programming were not missed.
Each remaining review study was analysed and an Excel spreadsheet was used to
aid with data extraction and synthesis. The Excel spreadsheet included bibliography
information: author/s, title and topic of the review, year of publication and where
published; details about the methods used in the review, such as the type of review
(systematic or meta-analysis), the research questions asked, the search strategies
and databases examined, and the inclusion and exclusion criteria used to review the
studies; the computational thinking concepts, practices, and perspectives discussed;
and the gaps in the research identified. A brief summary of the findings of each
review was also included.
13.3 Results
This section describes the results of the analysis of the systematic reviews and meta-
analysis studies reviewed for this chapter. Many of the reviews in this overview of
studies on computational thinking and programming have been conducted in the last
2 years (32 reviews, 64%). As shown in Fig. 13.2, among the reviewed systematic
and meta-analysis studies, 24 were published in 2021 and 8 in 2020. The majority
of the first authors of the reviews were from Europe (Cyprus = 1, Finland = 2,
Greece = 3, Italy = 1, Norway = 3, Portugal = 2, Spain = 1, Turkey = 4, UK = 1),
then Asia (China = 3, Hong Kong = 3, Pakistan = 2, Taiwan = 2, Singapore = 2, Sri
Lanka = 1), North America (Canada = 1, Mexico = 1, US = 7), South America
(Brazil = 4, Columbia = 1, Uruguay = 1), South Africa (n = 1), Saudi Arabia (n = 1),
and New Zealand (n = 1). No reviews were published from an Australian researcher.
196 C. Chalmers
ϮϬ
EƵŵďĞƌ
ϭϱ
ϭϬ
Ϭ
ϮϬϬϴ
ϮϬϬϵ
ϮϬϭϬ
ϮϬϭϭ
ϮϬϭϮ
ϮϬϭϯ
ϮϬϭϰ
ϮϬϭϱ
ϮϬϭϲ
ϮϬϭϳ
ϮϬϭϴ
ϮϬϭϵ
ϮϬϮϬ
ϮϬϮϭ
zĞĂƌ
The majority of reviewers reported on studies with students in K-12 school set-
tings (n = 16), with one of these studies also focusing on their teachers. Two studies
focused specifically on primary school and on year levels K-6, and three reviews
focussed on early childhood settings, with children as young as 3 years. Other
reviewers focused on studies from university settings (n = 11), with two of the
reviews reported also including studies conducted in secondary school. There were
no reviews found that specifically focussed on students learning text-based pro-
gramming in secondary schools. Several reviews either did not state their education
setting or stated it as a mixed study, from primary to university (n = 15), although
five of these reviews focused mainly on studies from university settings.
The majority of the reviews in this overview study were systematic reviews (37
reviews, 75%) and focussed on computational thinking (10), or programming (18),
or computational thinking and programming (9) in education settings. The 12 meta-
analysis reviews (25%) reported on effect sizes and also focussed on computational
thinking (2), or programming (8), or computational thinking and programming (2).
While not the major focus of the reviews, 16 systematic reviews and four meta-
analysis studies also reported on the difficulties students experience with learning to
program.
The areas of programming and computational thinking have attracted the attention
of many researchers, mainly due to the learning and teaching difficulties experi-
enced. Medeiros et al. (2019), in a systematic literature review on teaching and
learning introductory programming in higher education, reported that novice
13 The Problem with Programming: An Overview 197
13.3.2 Thinking Skills
pedagogical strategy, and the studies in the review referred to the following activi-
ties as unplugged: ‘paper–pencil activities, problem solving, storytelling, games,
tangible programming, and even robotics’ (p. 24).
There are also many tools and teaching approaches that help children learn com-
putational thinking skills as well as programming. Working with tangible and visual
block-based programming tools and creating algorithms to solve problems can help
motivate students and support their understandings and application of computa-
tional thinking concepts and perspectives.
13.3.3 Programming Tools
A systematic review on the teaching of programming with young students, 3–8 years
old, examined 34 research studies and reported on the programming tools used
(Macrides et al., 2021). These tools were categorized as screen-based, tangible, and
hybrid tools. Screen-based tools included robot-programming environments, such
as LEGO WeDo; web-based and digital apps, such as Daisy the Dinosaur, and
LEGO Bits and Bricks; and Animation and Game creation apps, such as ScratchJr.
Tangible tools included programmable toys such as Code-A-Pillar, Robot Mouse
and TurtleBot, board games and the use of unplugged tools including the use of cod-
ing cards and augmented reality kits. Hybrid tools combine screen-based coding
with tangible blocks or robots, such as KIBO, LEGO WeDo and LEGO Mindstorms.
Tangible programming tools and the use of appropriate visual programming envi-
ronments can support young students learning to program.
The interest in K-12 programming tools is increasing, as seen by the increased
number of review studies on computational thinking and programming just in the
last 2 years (see Fig. 13.1). For example, a recent meta-analysis selected and anal-
ysed 41 research studies to evaluate the effectiveness of programming interventions
for developing computational thinking in K-12 educational settings (Merino-
Armero et al., 2021). This review showed a large effect size in the comparison
between the pre- and post-tests and reported that visual block-based programming
tools are the most efficient for developing computational thinking, for students in
both primary and secondary school. Scratch was the most commonly reported visual
programming tool used in the reviewed studies. Web-based and digital game cre-
ation apps, such as Scratch, ScratchJr, and Alice, are seen as appropriate tools to
introduce programming for all educational settings (Bakala et al., 2021; Costa &
Miranda, 2017; Kakavas & Ugolini, 2019; Macrides et al., 2021). For example,
Costa and Miranda (2017) stated that block-based programming tools, such as
Alice, are effective for students learning to program as they help address the diffi-
culties that students can face.
While block-based programming tools help young students become familiar
with programming logic, they are often seen as too limiting for older students want-
ing to solve more complex problems (Noone & Mooney, 2018). The transition from
block-based to text-based programming, however, can be problematic, and when
200 C. Chalmers
students first learn to program with text-based programming, they often can feel
frustrated (Bau et al., 2015). Programming requires knowledge of the syntax and
semantics of the programming language. Learning new commands, text-based cod-
ing conventions and programming syntax can be difficult for some students.
Students learning with block-based programming tools, such as Scratch, may also
not have sufficient programming understanding to transfer to a text-based program-
ming environment.
Hybrid programming tools have been suggested as a way for students to transi-
tion from block-based coding to text-based programming (Perera et al., 2021).
Programming tools, such as Pencil Code, combine aspects of block-based program-
ming with text-based commands and can be used to help avoid some of the frustra-
tions that can occur when learning solely text-based programming languages.
Challenges teachers face also include a lack of time and space to design successful
programs and to learn about successful teaching practices that could help address
the programming difficulties students face (Huang & Looi, 2021).
13.4 Discussion
1. What are the difficulties identified in the reviews, related to learning to program?
The reviewed studies identify a variety of difficulties that students can face when
learning to program. Some of these difficulties include being unable to apply
problem-solving strategies and skills and not grasping concepts important to pro-
gramming, including abstraction, variables, arrays, and control structures. Young
children may have difficulties with reading and writing code and therefore have
issues with debugging their programs. Students learning text-based programming
can also experience difficulties, due to having to learn the syntax and semantics of
a new programming language. The transition from block-based visual programming
tools to text-based programming can be problematic and students can often feel
frustrated. Teachers also face challenges addressing these difficulties that stu-
dents face.
Pedagogical approaches for teaching text-based programming, to address these
difficulties, have been suggested by Kandemir et al. (2020). These approaches con-
sist of implementation strategies and instructional methods, ‘through the lens of
computational thinking’ (p. 32). The computational thinking concepts used to teach
text-based programming included sequences, loops, events, parallelism, condi
tionals, and data. Specific text-based programming tools also allow students to ‘tog-
gle between text and block-based coding’ and can help students in transitioning
smoothly from coding blocks to text-based programming (Bau et al., 2015, p. 445).
These dual-modality programming environments can help minimize the transition
problems students face.
2. Which computational thinking skills and programming tools have been identi-
fied to address the challenges students face when learning to program?
13 The Problem with Programming: An Overview 201
The limitations of this overview study are related to selection bias and data extrac-
tion. Selection bias occurs when a researcher selects and cites studies that support
their own conclusion (Drucker et al., 2016). Researchers may also select and extract
data from the review studies differently, and usually more than one researcher is
desirable for a review study (Gates et al., 2020). These risks have been addressed in
several ways. First, the PRISMA flow diagram was used to help identify, review and
select relevant studies. Various relevant databases were utilized and the identifica-
tion of review papers was based on a search using a combination of keywords.
Second, the papers resulting from this search were reviewed using the inclusion and
exclusion criteria defined in this chapter. This ensured that all included papers were
systematic reviews or meta-analysis studies, published in peer-reviewed academic
journals. Third, two independent reviewers assessed the study and assertions made
by the researcher.
13.5 Conclusion
This overview has highlighted the areas of difficulties in learning to program and
discussed relevant programming tools and computational thinking frameworks
identified in the reviewed studies, to help address these difficulties. The review of
the 37 systematic and 12 meta-analyses, published from 2006 to 2021, highlighted
a number of areas that are of interest to researchers. Including the introduction of
programming tools in early childhood and the transition from learning with block-
based programming tools to text-based programming in secondary school. This
overview also highlighted areas for future research identified in the reviewed stud-
ies, including effective teaching and learning strategies and the types of program-
ming environments for facilitating learning to program. Learning to program
presents challenges for students at every level of education. Therefore, further
reviews, and overviews, are needed to fully investigate the difficulties students
experience when they first learn to program and when they transfer to text-based
programming.
13 The Problem with Programming: An Overview 203
References
Alammary, A. (2019). Blended learning models for introductory programming courses: A sys-
tematic review. PloS One, 14(9), e0221765–e0221765. https://doi.org/10.1371/journal.
pone.0221765
Angeli, C., Voogt, J., Fluck, A., Webb, M., Cox, M., Malyn-Smith, J., & Zagami, J. (2016). A
K-6 computational thinking curriculum framework: Implications for teacher knowledge.
Journal of Educational Technology & Society, 19(3), 47–57. http://www.jstor.org/stable/
jeductechsoci.19.3.47
Bakala, E., Gerosa, A., Hourcade, J. P., & Tejera, G. (2021). Preschool children, robots, and com-
putational thinking: A systematic review. International Journal of Child-Computer Interaction,
29, 10037. https://doi.org/10.1016/j.ijcci.2021.100337
Battal, A., Afacan Adanır, G., & Gülbahar, Y. (2021). Computer science unplugged: A system-
atic literature review. Journal of Educational Technology Systems, 50(1), 24–47. https://doi.
org/10.1177/00472395211018801
Batista, A. L., Connolly, T., & Angotti, J. A. (2016). A framework for games-based construc-
tion learning: A text-based programming languages approach. 10th European Conference on
Games Based Learning. https://search.proquest.com/openview/8a1755d985b3545571f3101a9
fe45b24/1.pdf?pq-origsite=gscholar&cbl=396495
Bau, D., Bau, D., Dawson, M., & Pickens, C. (2015). Pencil code: Block code for a text world.
In Proceedings of the 14th international conference on interaction design and children,
(pp. 445–448). ACM. https://doi.org/10.1145/2771839.2771875.
Bers, M. U. (2019). Coding as another language: A pedagogical approach for teaching com-
puter science in early childhood. Journal of Computers in Education, 6, 499–528. https://doi.
org/10.1007/s40692-019-00147-3
Berssanette, J. H., & de Francisco, A. C. (2021). Active learning in the context of the teaching/
learning of computer programming: A systematic review. Journal of Information Technology
Education: Research, 20, 201–220. https://doi.org/10.28945/4767
Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the develop-
ment of computational thinking. In Proceedings of the 2012 annual meeting of the American
educational research association (pp. 1–25). https://web.media.mit.edu/~kbrennan/files/
Brennan_Resnick_AERA2012_CT.pdf
Boyle, J., Connolly, M., & MacKay, T. (2016). Systematic review and meta analysis. Educational
and Child Psychology, 33(3), 76–91. https://pureportal.strath.ac.uk/en/publications/
systematic-review-and-meta-analysis
Costa, J. M., & Miranda, G. L. (2017). Relation between Alice software and programming learn-
ing: A systematic review of the literature and meta-analysis. British Journal of Educational
Technology, 48(6), 1464–1474. https://doi.org/10.1111/bjet.12496
Costa, J. M., Moro, S., Miranda, G., & Arnold, T. (2020). Empowered learning through micro-
worlds and teaching methods: A text mining and meta-analysis-based systematic review.
Research in Learning Technology, 28, 2396–2412. https://doi.org/10.25304/rlt.v28.2396
Coto, M., Mora, S., Grass, B., & Murillo-Morera, J. (2021). Emotions and programming learn-
ing: Systematic mapping. Computer Science Education, 32(1), 30–65. https://doi.org/10.108
0/08993408.2021.1920816
Cruz Pinheiro, F., Wangenheim, R., & Missfeldt Filho, R. (2017). Teaching software engineering
in K-12 education: A systematic mapping study. Informatics in Education, 17(2), 167–206.
https://doi.org/10.15388/infedu.2018.10
Drucker, A. M., Fleming, P., & Chan, A. (2016). Research techniques made simple: Assessing risk
of bias in systematic reviews. Journal of Investigative Dermatology, 136(11), 109–114. https://
doi.org/10.1016/j.jid.2016.08.021
Ezeamuzie, N. O., & Leung, J. S. (2021). Computational thinking through an empirical lens: A
systematic review of literature. Journal of Educational Computing Research, 60(2), 481–511.
https://doi.org/10.1177/07356331211033158
204 C. Chalmers
Ezeamuzie, N. O., Leung, J. S., & Ting, F. S. (2021). Unleashing the potential of abstraction from
cloud of computational thinking: A systematic review of literature. Journal of Educational
Computing Research. https://doi.org/10.1177/07356331211055379.
Fagerlund, J., Häkkinen, P., Vesisenaho, M., & Viiri, J. (2020). Computational thinking in pro-
gramming with scratch in primary schools: A systematic review. Computational thinking:
Enhancing STEAM and engineering education from theory to practice. Computer Applications
in Engineering Education, 29(1), 12–28. https://doi.org/10.1002/cae.22255
Gates, M., Gates, A., Guitard, S., Pollock, M., & Hartling, L. (2020). Guidance for overviews
of reviews continues to accumulate, but important challenges remain: A scoping review.
Systematic Reviews, 9, 245. https://doi.org/10.1186/s13643-020-01509-0
Hu, Y., Chen, C. H., & Su, C. Y. (2020). Exploring the effectiveness and moderators of block-
based visual programming on student learning: A meta-analysis. Journal of Educational
Computing Research, 58(8), 1467–1493. https://doi.org/10.1177/0735633120945935
Huang, W., & Looi, C. (2021). A critical review of literature on “unplugged” pedagogies in K-12
computer science and computational thinking education. Computer Science Education, 31(1),
83–111. https://doi.org/10.1080/08993408.2020.1789411
Kakavas, P., & Ugolini, F. C. (2019). Computational thinking in primary education: A systematic
literature review. Research on Education and Media, 11(2), 64–94. https://doi.org/10.2478/
rem-2019-0023
Kandemir, C. M., Kalelioğlu, F., & Gülbahar, Y. (2020). Pedagogy of teaching introductory text-
based programming in terms of computational thinking concepts and practices. Computer
Applications in Engineering Education, 29(1), 29–45. https://doi.org/10.1002/cae.22374
Macrides, E., Miliou, O., & Angeli, C. (2021). Programming in early childhood education: A
systematic review. International Journal of Child-Computer Interaction., 100396. https://doi.
org/10.1016/j.ijcci.2021.100396
McCormick, K.I., & Hall, J.A. (2021). Computational thinking learning experiences, outcomes,
and research in preschool settings: A scoping review of literature. Education and Information
Technologies. https://doi.org/10.1007/s10639-021-10765-z.
Medeiros, R. P., Ramalho, G. L., & Falcao, T. P. (2019). A systematic literature review on teaching
and learning introductory programming in higher education. IEEE Transactions on Education,
62(2), 77–90. https://doi.org/10.1109/TE.2018.2864133
Merino-Armero, J. M., González-Calero, J. A., & Cózar-Gutiérrez, R. (2021). Computational
thinking in K-12 education. An insight through meta-analysis. Journal of Research on
Technology in Education. https://doi.org/10.1080/15391523.2020.1870250.
Montiel, H., & Gomez-Zermeño, M. G. (2021). Educational challenges for computational thinking
in K–12 education: A systematic literature review of “scratch” as an innovative programming
tool. Computers, 10(6), 69. https://doi.org/10.3390/computers10060069
Noone, M., & Mooney, A. (2018). Visual and textual programming languages: A systematic review
of the literature. Journal of Computers in Education, 5(2), 149–174. https://doi.org/10.1007/
s40692-018-0101-5
Ogegbo, A. A., & Ramnarain, U. (2021). A systematic review of computational thinking in science
classrooms. Studies in Science Education, 1-28, 203–230. https://doi.org/10.1080/0305726
7.2021.1963580
Page, M. J., McKenzie, J. E., Bossuyt, P. M., Boutron, I., Hoffmann, T. C., Mulrow, C. D.,
Shamseer, L., et al. (2021). The PRISMA 2020 statement: An updated guideline for reporting
systematic reviews. BMJ (Online), 372, 71. https://doi.org/10.1136/bmj.n71
Papadakis, S. J., Kalogiannakis, M., & Zaranis, N. (2016). Developing fundamental program-
ming concepts and computational thinking with ScratchJr in preschool education: A case
study. International Journal of Mobile Learning and Organisation, 10(3), 187–202. https://
doi.org/10.1504/IJMLO.2016.077867
Perera, P., Tennakoon, G., Ahangama, S., Panditharathna, R., & Chathuranga, B. (2021). A sys-
tematic mapping of introductory programming languages for novice learners. IEEE Access, 9,
88121–88136. https://doi.org/10.1109/ACCESS.2021.3089560
13 The Problem with Programming: An Overview 205
Tikva, C., & Tambouris, E. (2021). Mapping computational thinking through programming in
K-12 education: A conceptual model based on a systematic literature review. Computers in
Education, 163(104083), 1–23. https://doi.org/10.1016/j.compedu.2020.104083
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.
Xu, Z., Ritzhaupt, A. D., Tian, F., & Umapathy, K. (2019). Block-based versus text-based program-
ming environments on novice student learning outcomes: A meta-analysis study. Computer
Science Education, 29(2–3), 177–204. https://doi.org/10.1080/08993408.2019.1565233
Yusoff, K. M., Sahari, N., Siti, T., & Mohd, N. (2020). Analysis on the requirements of compu-
tational thinking skills to overcome the difficulties in learning programming. International
Journal of Advanced Computer Science and Applications, 11(3), 244–253. https://doi.
org/10.14569/IJACSA.2020.0110329
Chapter 14
Expanding Teacher Capacity and Student
Engagement in Digital Literacies
in the Primary Classroom: An Informal
Explorative Reflection
14.1 Introduction
In this chapter, we posit that there is a potential relationship between three elements
necessary for integrating digital literacies into primary school education. These pil-
lars include developing teacher capacity through professional learning, innovative
teaching pedagogy to use technologies in the classroom and the careful integration
of digital literacies.
The exploration of these elements is framed by examining literature on the topics
and aligning it with the mandates of the New South Wales (NSW) curriculum in
Australia. We present arguments for the importance of including, and the necessity
for developing, quality learning experiences for students. Further, we explore the
issues of teacher confidence in knowing the curriculum and technologies teachers
will use in these activities, the complexity of professional learning for teachers and
how developing teacher literacy may improve student’s experiences. This is under-
pinned by the need for teaching digital literacies in schools in Australia and the
necessity for teachers to develop their own digital literacies and capabilities.
In this chapter, we present a need to develop technologically focused, socially
constructed, immersive and collaborative learning activities in Year 1 and Year 4
classrooms. This underpins the objectives and outcomes for students, which are to
develop tangible skills, such as coding and interactivity, and consequently adapt to
and learning and utilizing digital literacies. For teachers, the intended outcomes are
to develop teacher capacity in their own digital literacies, technological skills and
J. Mascorella (*)
University of Technology, Sydney, Australia
e-mail: jonathon.mascorella@uts.edu.au
M. Emmi
Loreto Kirribilli, Sydney, Australia
e-mail: memmi@loreto.nsw.edu.au
innovative pedagogies. The learning activities developed as part of the program are
presented to explore the connections between professional learning and the teacher
experience.
Our reflection is based on an informal analysis of a professional learning experi-
ence that developed these innovative activities. The intention is to develop a posi-
tion and situation for further, formal, analysis and consideration.
14.1.1 The Case
14.2 Literature Review
In New South Wales, the digital technologies (DT) curriculum was introduced to
bridge the gap between student capabilities in understanding modern technologies
and applying the skills of these in exploring solutions to problems (Falkner &
Vivian, 2015). Furthermore, it was to ensure Australia remained competitive on the
technological world stage. The introduction was the result of implementation at the
14 Expanding Teacher Capacity and Student Engagement in Digital Literacies… 209
defined between computational thinking and critical thinking and creativity, which
can translate into problem-solving, precision, lateral thinking and even resilience
(Fluck et al., 2016). Most of this explicit experience, and the literacies of computa-
tional thinking, may be beyond the reach of a ten-year-old child, but immersion has
the potential to produce knowledge (Cope & Kalantzis, 2009).
Leu et al. (2017) posit that in the post-industrial age, the Internet has changed the
nature of literacy. In their argument, they consider the term ‘literacy’ to have taken
on a deictic status – a constant transformation in line with the constantly evolving
world to which it defines words we use. Just as importantly, they indicate the neces-
sity of literacies within a context, which defines the ‘stage’ on which we understand
and use literacies in our social interactions. Developing these literacies provides a
capital on which we can base our knowledge of the social context and experience.
Further, it provides a maxim within which employees across organisations can
respond to challenges and problems in their work. As this relates to digital literacies,
people use the Internet and associated technologies to solve these problems, and
thus, these literacies are critical to the success of problem-solving, critical thinking
and defining modern, technical solutions (Spires, 2019).
Reynolds (2016) attempts to clearly explicate learning objectives and outcomes
for digital literacy. Social constructivist theory is applied as a research framework,
where learners are engaged in ‘conscious construction’ (Vygotskij & Cole, 1981).
This social engagement amongst learners encourages a more effective environment
and builds autonomy and agency. Yoo and Loch (2016) provide interesting ideas for
how students learn through ‘embodied practice’, where collaborative and immersive
experiences build capacity, feelings of connection and motivation to learn. In
Reynolds’ (2016) work, learners build knowledge through creation of a digital arte-
fact (an educational interactive computer game) with six practice dimensions being
create, manage, publish, socialise, research and surf. Thus, the collaborative nature
of a learning experience reinforces the notion of capital exchange (Bourdieu, 1986)
between students and has the potential to deepen student knowledge of digital
literacies.
Fluck et al. (2016) provide a perspective for computer science as a critical skill
for students and discuss inclusion of computer science as a subject in the K-12 cur-
riculum. In their analysis of evidence for inclusion, they compare the positioning of
computer science and curriculum design in three countries: Cyprus, the United
Kingdom and Australia. They argue for the economic, social and cultural benefits of
students understanding computer science, as well as the benefits to the individual
learner. However, Fluck et al. (2016) suggest caution with integration of computer
science into school curricula, leading to vague outcomes, and note the need to
develop curricula with an eye to the future. The authors highlight the innovation and
thinking skills offered by areas such as data science and coding, a point considered
by the authorship of the Australian Curriculum that now includes Thinking Skills in
the K-6 syllabus.
14 Expanding Teacher Capacity and Student Engagement in Digital Literacies… 211
14.2.3 Approaches to Learning
Contextually innovative and new initiatives that bring out the capabilities, passions
and skills of all students are in the interest of school leadership (Falloon et al.,
2021). Teachers can utilise these to explore new ways of developing student capa-
bilities and tease out new student interests. These practices also have the potential
to bring out the necessary twenty-first-century skills in students, argue Holmes et al.
(2013). A prime example of innovative approaches to learning is the integration of
STEM (Science, Technology, Engineering and Mathematics)-based curricula, con-
sidered as an interdisciplinary and innovative approach to learning (Falkner &
Vivian, 2015). Additionally, it is often the case that digital technologies are associ-
ated with, and taught within, STEM-aligned teaching programs (Finger, 2018;
Setyowati et al., 2021).
Whilst it is the debate of many on how STEM is taught in schools, there is a
developing consensus for interdisciplinary approaches as more effective than siloed
alternatives (Holmlund et al., 2018). Furthermore, long-term learning activities,
such as projects that extended for more than one week, can support interdisciplinary
and STEM-style approaches to learning, considered part of innovative teaching
practice. Problematically, interdisciplinary learning and longer-term projects are
often at odds with the structures that define secondary schools, such as timetables
and discrete subject blocks, compliance for reporting on specific subject-related
outcomes and historical influences on schooling expectations by parents and com-
munity. Holmlund et al. (2018) argue ‘without some shared understandings across a
system, it is difficult to design and implement curriculum and instruction to promote
successful STEM learning for all students’ (p. 2).
For many current and pre-service teachers, there are considerable demands on
their knowledge and application of innovative approaches. Wu and Albion (2019)
address the demands of the Australian Curriculum: Technologies makes on teach-
ers, who may feel anxious because of the limited exposure to STEM in their own
education. With limited opportunity for learning within this paradigm, teachers may
lack appreciation for the full potential of the experience. The research explores
potential for the effectiveness of online software platforms like Remote Access
Laboratories (RALfie) in supporting pre-service teachers’ professional learning
with face-to-face maker events and online user activities, showing the benefits of
hands-on learning and scaffolding.
14.2.4 Professional Learning
Capacity to use the technology, complexity of task and use in the classroom may
impact uptake and continuation of use of instructional technologies amongst teach-
ers, such that their use needs to continually evolve and be redefined (Grimalt-Álvaro
et al., 2019). For researchers de Koster et al. (2017), an analysis of integrating
212 J. Mascorella and M. Emmi
instructional technology into teaching and learning arrangements of what are con-
sidered ‘traditional’ and ‘innovative’ schools revealed two core ideas. First, that
traditional schools produced simpler learning experiences, and tasks experienced
greater success than the innovative comparatives. Whilst integrating more complex
tasks, innovative schools found technology use waned over time. Second, they high-
light the importance of the teachers’ perception and appreciation of technology as
an important factor in the success of its integration.
Integrating technologies, whether as a vehicle for learning or learning about dis-
crete technologies, can suffer challenges in implementation due to a lack of teacher
learning for implementation. Liu et al. (2017) explore previous studies which identi-
fied teacher experience with technology, level of education, teaching experience and
gender as important predictors of technology integration. Liu et al.’s (2017) model
proposes teacher comfort and capacity with technology as a mediating variable. The
finding revealed not only teacher use but also the number of computers and avail-
ability of quality support staff are acknowledged as key. Two variables, gender
(males) and length of teaching (the longer the teacher had been teaching), also nega-
tively influence classroom integration.
The distinct commonalities amongst researches are teacher capability, efficacy
and attitude, each of which have considerable influence on the outcome of student
learning of digital technologies and skills. To respond to these needs, conceptions
such as the TPACK model (Mishra et al., 2009) and Massive Open Online Courses,
commonly referred to as MOOCs (Vivian et al., 2014), have been suggested. To the
former, models such as TPACK provide a systemic approach to analysing the tech-
nical and pedagogical knowledge required to teach with digital technologies and in
doing so provide an infusion of digital literacies into the learning experience.
MOOCs offer an online, self-paced learning experience, known as just-in-time
learning, focusing on explicit skills and capabilities rather than self-analysis. Rich
et al. (2021) found that a more hands-on approach to professional learning had
improved outcomes when teaching skills such as coding and digital capabilities.
Teachers had a greater rate of uptake and enthusiasm for the technology as a result
of seeing it in action.
14.2.4.1 Summary
Consequently, the framework for ensuring quality professional learning; the inte-
gration of digital literacies in carefully designed projects underpinned by strong,
innovative pedagogy; and the importance of development within the local context
are presented. Our approach considers the importance of these elements through the
lens of student outcomes as they pertain to the development of digital literacies
through immersive, socially constructed learning experiences.
14 Expanding Teacher Capacity and Student Engagement in Digital Literacies… 213
Over the past six years, the Loreto Kirribilli has made a significant effort to increase
the subscription to courses that engage students in STEM-based learning activities
and increase exposure to digital technologies and associated literacies. They do this
by offering elective options in STEM and senior engineering and expanding the
integration of STEM-based principles in curriculum across the school. Additionally,
students have opportunities to engage in robotics competitions, technologically
focused competitions with a range of organisations and initiatives, and racing
drones. But a substantial aspect of this work is in the professional learning required
to ensure teachers are capable, skilled and confident in their work to teach
STEM skills.
Professional learning is central to Loreto Kirribilli’s approach to ensuring best
practice amongst teachers. In the context of e-learning, teachers are afforded with
close contact experiences with experienced technology integrators for bringing
innovative learning initiatives to the classroom. The technology integrator is a per-
son who has prior knowledge and skill, and underpinning background in the tech-
nologies we could utilise. A result of this process is the development of numerous
professional learning initiatives for teachers in our Junior School.
The professional learning experiences, classroom teaching activities and explo-
ration of digital literacies teaching in action detailed herein provide a sample of how
we apply these three conduits to integrating technology into classrooms at Loreto
Kirribilli. The expected outcomes of the professional learning and activities
designed were as follows:
• Respond to the introduction of the digital technologies curriculum.
• Improve student metalanguage and digital technologies capabilities in line with
the Australian Curriculum.
• Achieve outcomes associated with Loreto Kirribilli strategic priorities.
• Continually improve our 1:1 BYODD1 (Bring Your Own Designated Device)
program.
• Develop a greater appreciation amongst teaching staff for the difference between
e-learning and digital technologies.
• Provide students with the confidence to embark on STEM-based learning and
later careers in technology, engineering and science.
1
A Bring Your Own Designated Device programme was implemented at Loreto Kirribilli to ensure
students had access to quality technology at, and beyond, school. It also provided an opportunity
for teachers to diversify the learning experience whilst minimizing inequities of technology access.
Often, BYODD programmes are implemented in Australian schools to maximize access to tech-
nologies and broaden digital learning experiences.
214 J. Mascorella and M. Emmi
14.3.1 Curriculum Integration
14.3.2 Teacher Capacity
Teaching of the digital technologies (DT) curriculum always begins with collabora-
tive planning time to address outcomes, looking at the overall units of work. This is
done with the support of an expert technology integrator. We determine points of
integration and implementation within programs. Second, we decide on the digital
literacies to include and which technologies to leverage. Finally, the stages of the
task are planned out, including collaborative phases and independent assessment
tasks to demonstrate understanding.
The tasks created by teachers follow a ‘I Do; We Do; You Do’ framework, first
slated by Shaun Killian (through the evidence-based teaching model from 2015).
This, in conjunction with pre-planning sessions carried out beforehand, succeeds in
building teacher skills and capacity to address the DT curriculum. The teacher is
supported in the production of these phases using the same pattern, so they can wit-
ness the actions needed for implementation, practise them and finally implement
them (Fig. 14.1).
14 Expanding Teacher Capacity and Student Engagement in Digital Literacies… 215
ŽůůĂďŽƌĂƚŝǀĞ ͻWůĂŶŶŝŶŐĂĐƚŝǀŝƚŝĞƐĂŶĚƐŚŽǁŝŶŐƚŚĞ
ĨƵŶĐƚŝŽŶĂůŝƚLJŽĨĞƋƵŝƉŵĞŶƚƚŽƚŚĞ
WůĂŶŶŝŶŐ ƚĞĂĐŚĞƌ͘
ͻWƌĞƉĂƌŝŶŐĞƋƵŝƉŵĞŶƚĂŶĚ
/Ž ŝŶƚƌŽĚƵĐŝŶŐƐƚƵĚĞŶƚƐƚŽƚŚĞƚĂƐŬŽƌ
ĂĐƚŝǀŝƚLJ͘DŽĚĞůůŝŶŐdůĂŶŐƵĂŐĞ͘
ͻdŚĞĐůĂƐƐƚĞĂĐŚĞƌǁŝƚŚĞ>ĞĂƌŶŝŶŐ
tĞŽ ƐƵƉƉŽƌƚĚĞůŝǀĞƌƐƚŚĞĂĐƚŝǀŝƚLJ͘
ͻdŚĞĐůĂƐƐƚĞĂĐŚĞƌŵŽǀĞƐǁŝƚŚƚŚĞ
zŽƵŽ ŶĞdžƚƉŚĂƐĞŽĨƚŚĞĂĐƚŝǀŝƚLJ͘
Fig. 14.1 A framework based on the evidence-based teaching model for ensuring teachers and
students can get the most from planning and implementation of activities
The ‘I do’ sessions defined by teachers were often more technical. This involved
a demonstration for the students and the use of specific language relating to the task.
During these sessions, the class teacher was supporting the students. However, we
would often lean into a team-teaching situation with the integrator, pause to clarify
directions and problem-solve collaboratively. At the end of the ‘I do’ session, it was
important to clarify the next stage of the project. The ‘I do’ sessions modelled the
learning experience for students; the e-learning facilitator set up the devices, pre-
pared teaching materials and set up the space ready for the session.
During the ‘We do’ phase, the class teacher allows students to participate in the
experience, walking them through the tasks. Teachers would demonstrate greater
independent use of devices and show a growth in understanding of the language and
skills students needed. Due to limited time, teachers required greater levels of sup-
port at this time.
In the final ‘You do’ phase, teachers would need to provide students with time to
complete the project, revising the task and running the lesson with devices, but
without e-learning support. This occurred more often with Stage 2 teachers (Years
3 and 4).
216 J. Mascorella and M. Emmi
• ST1-2DP-T uses materials, tools and equipment to develop solutions for a need
or opportunity.
• ST1-3DP-T describes, follows and represents algorithms to solve problems.
• ST1-11DI-T identifies the components of digital systems and explores how data
is represented.
This unit focused on students investigating how they would use a sequence of
steps and decisions (algorithm) to solve problems with a small robot called a Blue-
Bot. Students developed their understanding of how a digital system (the Blue-Bot)
uses algorithms to move. By the end of the sessions, the class teacher developed a
deeper understanding of the pedagogical approach for this task. They could define
the skills and understandings that needed explicit teaching. There needed to be fur-
ther follow-up to generate ideas for future integration and how to build on what the
students have learnt, and the teacher could begin to explore visual- and text-based
coding to extend those students that could work with a block coding language.
In Geography students were exploring the names of their favourite places and
places in their neighbourhoods. Through the English curriculum, students had been
describing these places and in Visual Arts creating depictions of these places. For
Science and Technology, they were exploring digital systems, specifically how
these systems communicate and how they use algorithms or data for communica-
tion. Students were asked to identify digital systems that they could locate in their
homes or at school. They drew images and shared their ideas with the class. They
gave a brief description of how they thought these items worked (Fig. 14.2).
Then they were introduced to the Blue-Bot. A Blue-Bot is a simple robot that can
be operated via the buttons on its back as well as be controlled via Bluetooth. In
small groups, students explored the input of data and code to make the small bot
move. This required trial and error, problem-solving and compromise as they
decided how the Blue-Bot would navigate the mat.
Students were introduced to the idea that we needed to record the set of data. We
discussed how we communicate using languages, especially ‘if this, then that’ state-
ments for decisions. Students suggested how they would record the specific steps
for their Blue-Bot. A decision was made that a letter would be used to describe
Forward (F), Backward (B), Turn Right (TR) and Turn Left (TL). Then we
14 Expanding Teacher Capacity and Student Engagement in Digital Literacies… 217
Fig. 14.2 Students making decisions about the lay-out of the mat
%OXHERWV $ VVRFLDWLRQZLWKORFDWLRQDQG
3URJUDPORJLFLWHUDWLRQYLVXDO VSDFH
FRGLQJ 7UDYHODQGVWRU\WHOOLQJ
$ UWLVWLFLQWHJUDWLRQDQGH[SUHVVLRQ
Fig. 14.3 The technologies, digital literacies focus areas and activities utilised in this activity
discussed how we could make recording of the algorithms more efficient. The stu-
dents suggested that when the Blue-Bot made more than one step at a time, they
could write, for example, F3, instead of F1, F1 and F1, learning about iteration.
During Visual Arts lessons, students completed the designs for the ‘Favourite
Places’ mat. Each group of students had 16 designs to complete. Once these were
done, the mat was created and laminated so that it was ready for students to plan out
a journey for the Blue-Bot to visit all the favourite places.
Students recorded their algorithm. Over a series of lessons, they refined their
choices. Groups then swapped mats and algorithms to explore each other’s work to
see if the algorithm was correct and kept the Blue-Bot on the correct path (Figs. 14.3
and 14.4).
218 J. Mascorella and M. Emmi
Fig. 14.4 Students collaborating about where Blue-Bot should travel to and how many steps are
needed before recording their algorithms
The task involved students reflecting on what they had learnt and demonstrating
understanding in creating and communicating with ICT. They created a multimodal
product with a short recording to describe how this small bot as a digital system was
able to move and make observations on the effectiveness of their algorithm. This
allowed teachers to assess if students were using digital technologies terminology.
• ST2-2DP-T selects and uses materials, tools and equipment to develop solutions
for a need or opportunity.
• ST2-3DP-T defines problems, describes and follows algorithms to develop
solutions.
• ST2-11DI-T describes how digital systems represent and transmit data.
This project was designed for Year 4 students. They had already experienced
coding by completing a Micro:bit project in Year 3. The digital technologies focus
was developing student understanding of digital systems and how they transmit
data. Using Makey Makey and Scratch (a web-based visual coding program), stu-
dents had the opportunity to learn how to interpret patterns and develop skills in
visual programming, computational thinking and abstraction. The project involved
students producing an interactive star constellation to teach younger students the
14 Expanding Teacher Capacity and Student Engagement in Digital Literacies… 219
0DNH\0DNH\ 8VHU,QWHUIDFHGHVLJQ
3URJUDPORJLFYLVXDOFRGLQJ 5HFRJQLWLRQRIVFLHQWLILFFRQFHSWV
LQWHUDFWLYLW\KDUGZDUHVRIWZDUH )DQWDV\
LQWHUDFWLRQ $ UWLVWLFLQWHJUDWLRQDQGH[SUHVVLRQ
Fig. 14.5 The technologies, digital literacies focus areas and activities utilised in this activity
In the lead-up to completing online course with SCRATCH and collating research
to address their inquiry question, students were explicitly taught about the ethical
protocols of using online resources. They used collaborative online documents to
record their research and document their progress. Additionally, students learnt
about interactivity between hardware and software, linking computer systems
together, and the input-processing-output cycle (Fig. 14.7).
220 J. Mascorella and M. Emmi
Fig. 14.6 Completed Makey Makey project, set up inside a shoe box, with interactive touchpoints
on top of the box
Through anecdotal reflection sessions, teachers provided advice and feedback about
the sessions designed and delivered. Through this feedback, we were able to gather
recommendations on how teachers can be best supported and the structure of activi-
ties that would have the greatest impact.
When it came to social construction and collaboration, teachers commented that
working in smaller groups in design thinking and computational thinking activities
has enhanced outcomes and challenged students. This could be seen in the way they
explained their understanding to the peers or gave suggestions to problem-solve
when coding. These smaller groups maximised opportunities to test social cohesion
and decreased time negotiating through problems. Teachers also observed that with
each session there was an improvement in the way students spoke to one another
and the way they compromised whilst problem-solving, so increased time working
in groups improved the experience. Students made better connections with one
another and approached problems with greater understanding of the social implica-
tions of excluding others. This wasn’t without explicit assistance, but it shows
potential application of the expected behaviours.
Before the start of the Makey Makey project, one teacher was concerned for the
lack of knowledge of computational thinking and coding concepts amongst
14 Expanding Teacher Capacity and Student Engagement in Digital Literacies… 221
students. The Stage 2 teacher did state that even after the project was complete,
there were still some reservations when it came to coding and answering student
questions that related to problems where code did not work. Students were more
likely to approach the teacher for guidance. In some cases, students were prepared
to collaborate when problem-solving, with teacher assistance. There was also a sub-
stantial level of excitement after the initial session where students first used the
Makey Makey to create the alien, which demonstrated a high level of engagement
from students.
Teachers expressed that the integration of the digital technologies outcomes
across other curriculum areas helped to make deepen student understanding.
Teachers reported a higher level of student engagement and understanding. They
were impressed with the technical and digital technologies language that students
were using and refining over the course of the project.
In the context of professional learning, teachers reported they often lack the time
to explore the digital devices and resources available for the teaching of the ICT
capabilities, DT curriculum and especially computational thinking. However,
through the model of e-learning support, they felt confident to approach new con-
cepts and skills and develop knowledge in digital technologies. They felt the most
appropriate structure included preplanning, which developed the ideas and scope of
222 J. Mascorella and M. Emmi
which applications or devices that could be used, instructions on how to operate the
digital devices and scaffolding for skills and in class support. They also recognised
the benefits of the ‘I Do; We Do; You Do’ model. Additionally, team teaching ses-
sions increased teacher competency to explain digital technologies, as they were
supported through explanations and delivery of content. In some situations, the
class teachers were able to think of ideas where they could extend the use of the
technology in other lessons as they understood the overall function of each device
and had confidence the students could operate these devices independently.
14.6 Conclusion
This paper posited a nexus between professional learning and the capacities teach-
ers required to develop tasks for ensuring students could learn digital literacies as
they used technologies in learning activities. The activities presented showed that
through well-designed, immersive experiences, students can develop quality litera-
cies through quality activities. Whilst teachers felt uncomfortable at various stages
throughout the process, the support provided ensured they could achieve the out-
comes. Structured professional learning assisted in improving these outcomes.
The future of this research is in measuring more explicitly the nexus between
specific professional learning experiences and the activities run in classrooms to
maximise digital literacies. Student voice would be valuable in this context, as it
provides an opportunity to explore how students experience digital literacy develop-
ment. There is also an opportunity to examine the perspective of integrators who
provide the professional learning and help shape classroom activities.
The recommendations made provide a basis from which to conduct a formal
analysis into the relationship between professional learning and teacher capacity.
Moreover, there is more work to do in refining the conditions under which students
best learn digital literacies. In developing this understanding, we have the potential
to develop quality learning activities that integrate cross-disciplinary subject matter,
digital technologies and digital literacies, to maximise student outcomes.
References
Falkner, K., & Vivian, R. (2015). Coding across the curriculum: Resource review. https://doi.
org/10.13140/RG.2.1.2293.1929.
Falloon, G., Stevenson, M., Beswick, K., Fraser, S., & Geiger, V. (2021). Building STEM in
schools. Educational Technology & Society, 24(4), 110–122. JSTOR.
Finger, G. (2018). Digital technologies and junior secondary: Learning with and about digital
technologies. In R. Jorgensen & K. Larkin (Eds.), STEM Education in the Junior Secondary
(pp. 197–219). Springer Singapore. https://doi.org/10.1007/978-981-10-5448-8_10
Fluck, A., Webb, M., Cox, M., Angeli, C., Malyn-Smith, J., Voogt, J., & Zagami, J. (2016). Arguing
for computer science in the school curriculum. Journal of Educational Technology & Society,
19(3), 38–46. JSTOR.
Gallagher, T. L., Fisher, D., Lapp, D., Rowsell, J., Simpson, A., Scott, R. M., Walsh, M., Ciampa,
K., & Saudelli, M. G. (2015). International perspectives on literacy learning with iPads. The
Journal of Education, 195(3), 15–25. JSTOR.
Grimalt-Álvaro, C., Ametller, J., & Pintó, R. (2019). Factors shaping the uptake of ICT in science
classrooms. A study of a large-scale introduction of interactive whiteboards and computers.
International Journal of Innovation in Science and Mathematics Education, 27(1). https://doi.
org/10.30722/IJISME.27.01.002
Holmes, K., Bourke, S., Preston, G., Shaw, K., & Smith, M. (2013). Supporting innovation in
teaching: What are the key contextual factors? International Journal of Quantitative Research
in Education, 1(1), 85. https://doi.org/10.1504/IJQRE.2013.055644
Holmlund, T. D., Lesseig, K., & Slavit, D. (2018). Making sense of STEM education in K-12
contexts. International Journal of STEM Education, 5(1), 32. https://doi.org/10.1186/
s40594-018-0127-2
Hutchison, A., Nadolny, L., & Estapa, A. (2016). Using coding apps to support literacy instruction
and develop coding literacy. The Reading Teacher, 69(5), 493–503.
Leu, D. J., Kinzer, C. K., Coiro, J., Castek, J., & Henry, L. A. (2017). New literacies. The Journal
of Education, 197(2), 1–18. JSTOR.
Liu, F., Ritzhaupt, A. D., Dawson, K., & Barron, A. E. (2017). Explaining technology integration
in K-12 classrooms: A multilevel path analysis model. Educational Technology Research and
Development, 65(4), 795–813. JSTOR.
Mishra, R., Alseddiqi, M., & Pislaru, C. (2009). An improved employability skills model and
its compliance through vocational educational system in Bahrain. International Journal of
Learning, 16(9), 699–717.ehh. https://doi.org/10.18848/1447-9494/CGP/v16i09/46581
Pila, S., Aladé, F., Sheehan, K., Lauricella, A., & Wartella, E. (2018). Learning to code via tablet
applications: An evaluation of Daisy the Dinosaur and Kodable as learning tools for young
children. Computers & Education, 128. https://doi.org/10.1016/j.compedu.2018.09.006
Redmond, P., Smart, V., Powell, A., & Albion, P. (2021). Primary teachers’ self-assessment of
their confidence in implementing digital technologies curriculum. Educational Technology
Research and Development, 69(5), 2895–2915. https://doi.org/10.1007/s11423-021-10043-2
Reynolds, R. (2016). Defining, designing for, and measuring “social constructivist digital liter-
acy” development in learners: A proposed framework. Educational Technology Research and
Development, 64(4), 735–762.
Rich, P., Mason, S., & O’Leary, J. (2021). Measuring the effect of continuous professional devel-
opment on elementary teachers’ self-efficacy to teach coding and computational thinking.
Computers & Education, 168, 104196. https://doi.org/10.1016/j.compedu.2021.104196
Rowsell, J., & Wohlwend, K. (2016). Free play or tight spaces? Mapping participatory literacies in
apps. The Reading Teacher, 70(2), 197–205.
Setyowati, Y., Firda, R., & Kasmita, W. (2021). STEM education: Exploring practices across edu-
cation levels. Canadian Journal of Science, Mathematics and Technology Education, 21(3),
686–690. https://doi.org/10.1007/s42330-021-00172-4
Spires, H. A. (2019). Critical perspectives on digital literacies: Creating a path forward. Media and
Communication, 7(2), 1–3. https://doi.org/10.17645/mac.v7i2.2209
224 J. Mascorella and M. Emmi
Vivian, R., Falkner, K., & Falkner, N. (2014). Addressing the challenges of a new digital technolo-
gies curriculum: MOOCs as a scalable solution for teacher professional development. Research
in Learning Technology, 22. https://doi.org/10.3402/rlt.v22.24691
Vygotskij, L. S., & Cole, M. (1981). Mind in society: The development of higher psychological
processes (Nachdr.). Harvard Univ. Press.
Wu, T., & Albion, P. (2019). Investigating remote access laboratories for increasing pre-
service teachers’ STEM capabilities. Journal of Educational Technology & Society, 22(1),
82–93. JSTOR.
Yoo, J., & Loch, S. (2016). Learning bodies: What do teachers learn from embodied practice?
Issues in Educational Research, 26, 528–542.
Chapter 15
Why and How to Teach Physical
Computing: Research and Practice
in Computer Science Education
at Secondary Schools
Mareen Grillenberger
15.1 Introduction
Only few of the technical devices available today contain classic computers with a
display, keyboard and mouse. When we encounter computers in our everyday lives,
it is very often in the form of embedded systems that influence our everyday lives
almost unnoticed. This needs to be reflected in education, as new knowledge and
competencies become necessary to deal with everyday life’s challenges. Creative
solutions to problems are often required, which needs to be reflected in schools. One
way to meet these requirements in computer science education is physical computing.
In physical computing activities, students create interactive objects and smart
devices with physical computing platforms (e.g. Arduino,1 Raspberry Pi2 or BBC
micro:bit3).
Not so long ago, physical computing was a phenomenon that was only taught in
after-school activities and other extracurricular contexts (e.g. ‘maker spaces’).
Meanwhile, it has also grown in popularity for computer science education at
school. This approach is very promising for introducing students to methods and
concepts of hardware-software co-design. In physical computing activities, students
1
Arduino: https://www.arduino.cc
2
RaspberryPi: https://www.raspberrypi.org
3
BBC micro:bit: http://microbit.org
M. Grillenberger (*)
Schwyz University of Teacher Education, Goldau, Switzerland
Lucerne University of Teacher Education, Lucerne, Switzerland
Lucerne University of Applied Sciences and Arts, Rotkreuz, Switzerland
e-mail: mareen.grillenberger@phsz.ch
create concrete, tangible products of the real world that arise from their own imagi-
nation. They learn with and about interactive systems in creative, constructionist4
settings. In order for this approach to be successful and to achieve its goals, how-
ever, certain framework conditions must be met—the mere use of appropriate teach-
ing tools is not sufficient; a coherent concept is also required. For this reason, this
chapter is intended to provide an introduction to the subject area for secondary
school computer science classes. For this purpose, the term physical computing will
first be examined from different perspectives and clarified for computer science
education. Subsequently, results from earlier studies are summarized that help to
derive implications for successful teaching with physical computing. Technical- and
content-related considerations as well as methodological guidelines are presented
and illustrated with examples that should enable teachers to plan and implement
successful lessons.
15.3 Physical Computing
The term ‘physical computing’ was first mentioned in the context of arts and design
studies: interaction design students use programmable hardware to create interac-
tive objects and installations that communicate with the analogue world using
4
As Papert argues (Papert & Harel, 1991), the construction of knowledge is based on an active
construction process. This way, meaningful artifacts are created, which the learner can try out,
show around, discuss, analyze and receive praise for. It is the examination of such artifacts that
leads to the understanding of particular phenomena.
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 227
sensors and actuators to expand the range of expression they can sense and respond
to (Banzi, 2011; O’Sullivan & Igoe, 2004). This idea holds promise for computer
science education, especially since it includes numerous computer science topics at
its core. It also appeals to many people from various contexts and can thus help
break common stereotypes in which computer science is still seen as a rather nerdy
field. For these reasons, it is worth taking a closer look at the subject area in the fol-
lowing sections.
In typical physical computing projects, the focus is on ideas and intended actions,
rather than the question of what a tool can do. The question of the goal should
always be pursued first, before one thinks about the concrete implementation (cf.
O’Sullivan & Igoe, 2004, pp. xxii–xxii). While this ensures that ideas are clearly
outlined before decisions concerning tools and materials are made, it is always pos-
sible to revise and change project descriptions during the realization process.
However, the main idea should always remain present so that learners are not too
distracted by new ideas or the implementation of details. This is not much different
from other projects in computer science, but due to the affordances of physical com-
puting kits, it is definitely worth emphasizing and should be taken into account
when planning lessons.
228 M. Grillenberger
In physical computing projects, the initial idea needs to be specified in some way. It
could be represented by something as simple as a sketch of the object to be built,
supplemented by precise specifications of the intended functionality of the interac-
tive object, which explains what is supposed to happen under which conditions.
O’Sullivan and Igoe recommend taking the point of view of the ‘experiencer’ of the
project (e.g. animals, trees, air) to break down the project into inputs, outputs and
processing parts. Subsequently, it is analysed which of the environmental aspects to
be perceived are analogue or digital data. Only then suitable sensors and actuators
are selected, and the sequence of parallel or serial events is described and formal-
ized, for example, using pseudocode or schematics of the circuitry (O’Sullivan &
Igoe, 2004).
Imagination and creative learning can be promoted in the process of creating inter-
active objects in physical computing: In designing and realizing their interactive
objects, learners dive into the role of inventors (Stager, 2009). In addition, physical
computing also fits perfectly with the ideas of constructionism: through making
their objects, learners construct and constantly reconstruct knowledge and develop
competencies from their own initiative and for a personally relevant purpose, when
being consciously engaged in creating visible artefacts (cf. Papert, 1980; Papert &
Harel, 1991; Resnick, 1996). They create real interactive constructions like the
examples for physical computing projects shown in Fig. 15.1 and learn in authentic
contexts (Libow Martinez & Stager, 2013; Stager, 2014). Such learning is highly
interactive because learning success and problems are immediately reflected and
thus allow each learner to learn at his or her own pace based on individual learn-
ing goals.
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 229
Fig. 15.1 Physical computing in the classroom: students working with the ‘My Interactive Garden
Toolbox’ and example projects ‘CO2 measuring device’ and ‘Interactive Greenhouse’
• Project planning: clear planning steps can be a guideline for inexperienced learn-
ers and also serve as a scaffold for the students helping them to keep their focus.
In summary, it can be concluded that physical computing has different aims and
peculiarities in different contexts and is understood in varying degrees of breadth.
At its core, however, it is always about programmable hardware that interacts with
its environment via sensors and actuators. Physical computing is ultimately a pos-
sible manifestation of the creative design of simple embedded systems and/or
related technologies. Embedded systems and the associated hardware/software co-
design form the technical foundations and reference disciplines for physical
computing.
Definition Physical computing is the creative design and realization of interactive
objects or installations, which are programmed, tangible artefacts that communicate
with their environment using sensors and actuators. In physical computing, methods
and concepts of embedded systems and interaction design are used (Przybylla,
2018, p. 34).
Among the most suitable tools for secondary education, there are different catego-
ries of platforms that bring different degrees of complexity but also flexibility. Thus,
it is a matter of judgement which tool to use in the classroom and the question of the
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 231
‘right tool’ cannot be answered in a general way. Very well known in the field of
physical computing are, for example, the BBC micro:bit, Arduino and Raspberry Pi.
In the following sections, these three are each an example of one category of pos-
sible platforms.
15.4.1.1 Microcontroller Boards
BBC micro:bit and Calliope Mini have found great acceptance in recent years, prob-
ably because they are particularly well suited for introductory lessons into the sub-
ject. They already have sensors and actuators on board and can be programmed via
a block-based programming environment that runs in the browser and requires no
installation. This means that it is possible to make first projects without connecting
any additional components. They also have sockets to connect (few) additional
modules later. They are particularly suitable for initial teaching, offering an attrac-
tive opportunity to discuss the basics of embedded systems design in class.
Bare microcontroller boards such as Arduino are more flexible but require their
users to build the circuitry of their intended objects. Extension kits such as Seeed
Studios ‘Grove Modules’ simplify the handling of hardware (Fig. 15.2). There are
also boards like Seeeduino Lotus that combine microcontroller boards with sockets
that allow to easily plug in preassembled modules, which combines the advantages
of flexibility and ease of use. Such systems are particularly suitable in settings
where more flexibility is needed.
Fig. 15.2 Arduino Uno and Grove Starter Kit are an example for a microcontroller platform with
extension kit that can be used in class
232 M. Grillenberger
15.4.1.2 Mini Computers
Mini computers like Raspberry Pi are even more flexible as they add all the func-
tionalities of a general-purpose computer without taking much space and thus make
it a lot easier for their users to integrate cameras, displays, speakers and many other
advanced I/O devices into their projects. Also, for those platforms, extension tools
like GrovePi exist that make the handling of sensors and actuators easier.
15.4.2 Programming Environments
In addition to hardware and software, interactive objects are usually made with
materials and with tools that can be found in stores that sell art and craft supplies
such as balsa wood, cardboard, foil, cutters, scissors and glue (Fig. 15.3).
Fig. 15.3 Examples for art and craft supplies that can be used in class
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 233
After clarifying in the previous sections what is meant by physical computing from
the perspective of computer science education, now an insight into our earlier
research findings and the implications for teaching practice derived from this
research is given. First, the general research framework is briefly introduced, and
then several perspectives are looked at in more detail.
Fig. 15.4 Characteristics of physical computing: products, processes and tools. (Przybylla,
2018, p. 34)
234 M. Grillenberger
Fig. 15.5 Application of the model of educational reconstruction for CS education (MER-CSE).
(Przybylla, 2018, p. 39)
Fig. 15.6 Model of the key concepts of embedded systems and hardware/software co-design.
(Przybylla & Grillenberger, 2021)
236 M. Grillenberger
Based on the findings presented in the above sections, various learning scenarios
were developed, all of which were tested in the school context and optimized over
time. In the following sections, two of these are briefly presented.
‘My Interactive Garden’ (MyIG) is a physical computing lesson series that is suit-
able as an introduction to physical computing. MyIG fully implements the design
principles described above and has been widely tested and revised according to the
MER-CSE (see research framework). No prior knowledge is required, but it helps
when the students are already familiar with block-based programming. With MyIG,
learners work collaboratively on the exhibition of a futuristic interactive garden and
creatively design, craft, program and build interactive objects in constructionist set-
tings. The materials are tailored for use with Arduino and extension kits, for exam-
ple, Seeed Studios’ Grove components (Fig. 15.2) in conjunction with block-based
programming in Snap4Arduino, a programming environment that allows both expe-
rienced and inexperienced learners with regard to programming to work together
and thus enables both simple and technically demanding projects (Fig. 15.7). Lesson
plans and worksheets for learners structure the process of project work.
MyIG includes learning phases where students decidedly learn and acquire spe-
cific concepts and skills on a basic level. They are introduced to writing programs
that use sensors and actuators as means of analogue and digital inputs and outputs.
Tinkering and brainstorming activities are explicitly encouraged, before planning
and implementing the interactive objects. Prototypes are developed in short itera-
tions (usually a lesson or lesson block) and can be discussed with classmates and the
teacher to get feedback throughout the process, detect problems and possible mis-
understandings early and find solutions to occurring problems. The resulting lesson
series is structured as follows (cf. Przybylla, 2018, p. 68f):
1. Introduction and motivation: Learners are introduced to embedded systems
and physical computing with real-world examples and videos of other students’
projects. In a short tutorial session, the basics of programming Arduino with the
given tools and central concepts are explained (15 min).
2. Tinkering: In tinkering activities, learners get to know the construction kit and
learn how to program Arduino (70 min).
3. Brainstorming: The students brainstorm ideas for their projects (5 min).
4. Project planning: Learners plan their projects guided by worksheets (75 min).
5. Presentation and discussion: Learners present their project ideas and roughly
outlined plans and discuss them with their classmates and teacher (15 min).
238 M. Grillenberger
Fig. 15.7 Snap4Arduino is a block-based programming environment suitable for both beginners
and advanced learners
5
The conception of the project was a collaborative work with Andreas Grillenberger and Petra
Kastl at the Friedrich-Alexander-Universität Erlangen-Nürnberg.
240 M. Grillenberger
Fig. 15.10 Example code of a student project: The UFO landing platform was programmed in
Snap4Arduino with the dedicated WLAN library loaded that allows to make use of the REST
(representational state transfer) interface
express wishes and priorities, discuss them with students or attach them to the
project board and thus, from a pedagogic perspective, influence the course of the
project (3 hours to several days).
5. Exhibition: The students present the smart city in an exhibition, explain their
inventions and discuss with visitors (15 min to several hours: open-door day,
school party, etc.).
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 241
Content-wise, all students come into contact with certain basic concepts of hard-
ware/software co-design, such as the calibration and control of sensors and actua-
tors, or continuous-time and discrete signals. In addition, they learn about and deal
with typical problems of hardware/software co-design in a realistic setting.
Regarding development practices, the students first take the user perspective and
receive ‘letters to the mayor’ describing the people’s ideas and intentions. Later, the
students switch to the developer perspective and have to deal with typical design
principles for embedded systems that differ depending on the concrete project.
Timing behaviour is crucial: Typical problems always occur when delays are per-
ceivable by users of the systems, for example, in targeted user interactions or in
projects where failure to meet requirements results in damage to the interactive
objects. The students also have to deal with system quality, for example, with respect
to reliability. In the city, for example, a restricted railroad crossing had to be reliably
closed based on sensor data and opened again after trains passing through.
15.8 Supporting Resources
All teaching and learning materials used are available for free online. Please refer to
the author’s personal website with links to all teaching and learning materials or
contact the author with any questions: https://mareen.grillenberger.ch.
242 M. Grillenberger
References
Banzi, M. (2011). Getting started with Arduino (2nd ed.). O’Reilly Media.
Barendsen, E., Grgurina, N., & Tolboom, J. (2016). A new informatics curriculum for secondary
education in the Netherlands. In A. Brodnik & F. Tort (Eds.), Informatics in schools: improve-
ment of informatics knowledge and perception (Vol. 9973, pp. 105–117). Springer. http://link.
springer.com/10.1007/978-3-319-46747-4
Berland, M., Martin, T., & Benton, T. (2010). Programming standing up: Embodied comput-
ing with constructionist robotics. In J. E. Clayson & I. Kalas (Eds.), Constructionism 2010:
Constructionist approaches to creative learning, thinking and education: Lessons for the 21st
century. Library and Publishing Centre, Faculty of Mathematics, Physics and Informatics,
Comenius University.
Berliner Senatsverwaltung für Bildung, Jugend und Familie und Ministerium für Bildung,
Jugend und Sport des Landes Brandenburg [BSBJF & MBJSLB]. (2015). Teil C
Informatik Wahlpflichtfach. http://bildungsserver.berlin-brandenburg.de/fileadmin/
bbb/unterricht/rahmenlehrplaene/Rahmenlehrplanprojekt/amtliche_Fassung/Teil_C_
Informatik_2015_11_10_WEB.pdf
Blikstein, P. (2013). Gears of our childhood: Constructionist toolkits, robotics, and physical com-
puting, past and future. In Proceedings of the 12th International Conference on Interaction
Design and Children at New York, New York, USA (pp. 173–182) ACM.
Department for Education [DfE]. (2013). Computing programmes of study: Key stages 1 and 2.
National curriculum in England.
Deutschschweizer Erziehungsdirektoren-Konferenz [D-EDK]. (2016). Lehrplan für
die Volksschule – Broschüre Medien und Informatik. https://www.lehrplan21.ch/
medien-und-informatik
Doorley, R. (2012). What is tinkering? https://tinkerlab.com/what-is-tinkering/
Euler, D. (2017). Design principles as bridge between scientific knowledge production and prac-
tice design. Educational Design Research [EDeR], 1(1), 2:1–2:15.
Grillenberger, A., Przybylla, M., & Romeike, R. (2016, October 13–15). Bringing CS innovations
to the classroom using the model of educational reconstruction. In Proceedings of International
Conference on Informatics in Schools [ISSEP] (pp. 31–39). .
Grillenberger, A., & Romeike, R. (2017). Key concepts of data management: An empirical
approach. In Proceedings of the 17th Koli Calling International Conference on Computing
Education Research at Koli, Finland. ACM.
Herrington, J., McKenney, S., Reeves, T., & Oliver, R. (2007). Design-based research and doctoral
students: Guidelines for preparing a dissertation proposal. In World Conference on Educational
Multimedia, Hypermedia and Telecommunications at Vancouver, Canada (pp. 4089–4097).
Association for the Advancement of Computing in Education (AACE).
Katterfeldt, E.-S., & Schelhowe, H. (2014). Considering visual programming environments for
documenting physical computing Artifacts. Interaction Design and Children, 241–244.
Libow Martinez, S., & Stager, G. S. (2013). Invent to learn: Making, tinkering, and engineering in
the classroom. Constructing Modern Knowledge Press.
O’Sullivan, D., & Igoe, T. (2004). Physical computing: Sensing and controlling the physical world
with computers. Thomson Course Technology PTR.
Papert, S. (1980). Mindstorms – Children, computers, and powerful ideas. Basic Books.
Papert, S., & Harel, I. (1991). Constructionism: Situating constructionism. Ablex Publishing
Corporation.
Przybylla, M. (2018). From embedded systems to physical computing: Challenges of the “digital
world” in secondary computer science education. Doctoral thesis, Universität Potsdam. https://
publishup.uni-potsdam.de/frontdoor/index/index/docId/41833
Przybylla, M., & Grillenberger, A. (2021). Fundamentals of physical computing: Determining
key concepts in embedded systems and hardware/software co-design. The 16th Workshop in
Primary and Secondary Computing Education (WiPSCE ‘21). ACM.
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 243
Przybylla, M. (2021). Bringing physical computing to the classroom. In G. Coleman (Ed.), [Hello
World] The Big Book of Computing Pedagogy. Raspberry Pi Foundation.
Resnick, M. (1996). Distributed constructionism. In Proceedings of the 1996 International
Conference on Learning Sciences (pp. 280–284). International Society of the Learning
Sciences.
Romeike, R., & Reichert, D. (2011). PicoCrickets als Zugang zur Informatik in der Grundschule.
In M. Thomas (Ed.), Informatik in Bildung und Beruf (pp. 177–186). Köllen.
Rusk, N., Resnick, M., Berg, R., & Pezalla-Granlund, M. (2008). New pathways into robot-
ics: Strategies for broadening participation. Journal of Science Education and Technology,
17(1), 59–69.
Sentance, S., & Schwiderski-Grosche, S. (2012). Challenge and creativity: Using .NET Gadgeteer
in Schools. In Proceedings of the 7th Workshop in Primary and Secondary Computing
Education. ACM.
Stager, G. (2009). A constructionist approach to robotics. In E. R. Santos, E. M. Miletto, &
M. Turcsanyi-Szabo (Eds.), Education and technology for a better world (pp. 259.1–259.12).
World Conference on Computers in Education.
Stager, G. (2014). Outside the skinner box. Can education technology make a course correction?
Independent School Magazine, 74(2). Washington, DC.
Wyffels, F., Van de Steene, W., Roets, J., Ciocci, M.-C., & Carbajal, J.-P. (2016). Building ArtBots
to attract students into STEM learning. CoRR. abs/1608.03405.
Chapter 16
Coding Across the Curriculum: Challenges
for Non-specialist Teachers
16.1 Introduction
problem-solving and collaboration (e.g. Nouri et al., 2019). Considering history and
the rise and fall of Logo, it is likely the current hype around coding again runs the
risk of overpromising and under delivering in schools if care is not taken to under-
stand the challenges teachers face in regular classrooms.
Research over the past two decades has identified a range of intrinsic and extrin-
sic teacher-related challenges that can influence the way the intended curriculum is
implemented and received. In their extensive literature review, Finger and Houguet
(2009) determined that intrinsic challenges include professional knowledge and
understanding, professional adequacy, professional attitudes and values, teaching
approaches and the extent to which teachers ‘hold ownership’ of the intended cur-
riculum (Finger & Houguet, 2009). External challenges include a lack of resources,
practicality of implementation, time management, varying methods of student
assessment and a lack of history and tradition in the discipline (Finger & Houguet,
2009). Although Finger and Houguet’s (2009) original analysis focused on technol-
ogy education, this chapter suggests the same principles apply to non-specialist
teachers expected to integrate specialist coding knowledge into their regular class-
room curriculum.
As Finger and Houguet (2009) highlight, a major intrinsic challenge is teacher’s
knowledge, and in the area of computing, the global shortage of qualified comput-
ing teachers (e.g. Shein, 2019) means teachers from other specialisations can be
required to teach coding (Tuhkala et al., 2018). Empirical research to date has
mostly concentrated on investigating how coding activities can be integrated into
different subject areas or promoting multidisciplinary approaches as a solution to an
overloaded curriculum (e.g. von Wangenheim et al., 2017). However, there is a pau-
city of research that examines how components of digital technologies curricula
may be implemented differently when taught by non-specialist teachers.
The second intrinsic challenge teachers face when teaching ‘out of area’ may be
what Finger and Houguet (2009) describe as their lack of ‘ownership’ of the cur-
riculum. In this case, when compared to computing teachers, non-specialist teach-
ers’ main concerns may not be about teaching technical skills or computing
concepts. For example, Resnick (2017) suggested that instead of targeting compu-
tational thinking, teachers should adopt the role of a connector, consultant, catalyst
and collaborator to support creative learning, collaboration and independent
problem- solving through coding tasks. In Denmark where Technology
Comprehension is a mandatory subject, Tuhkala et al. (2018) determined that non-
specialist teachers often viewed curriculum requirements as a continuation of their
own subject rather than a discipline in its own right, bringing their personal beliefs,
experiences and interests into the learning objectives. As such, coding taught by
non-specialist teachers may emphasise and value very different outcomes from
those prioritised by computer science teachers, and as a result, units of learning may
be designed, taught and assessed quite differently.
The goal of the chapter is to examine the challenges non-specialist teachers
experienced when they implemented an interdisciplinary unit of learning integrat-
ing English and Digital Technologies outcomes in a coding animated narrative
(CAN) task. Data collection and analysis was guided by the following questions:
16 Coding Across the Curriculum: Challenges for Non-specialist Teachers 247
1. What intrinsic and extrinsic challenges arose for teachers during the coding ani-
mated narrative (CAN) units of learning?
2. How did these challenges and other factors influence CAN curriculum design
and teachers’ associated pedagogical practices?
The Australian Research Council (ARC) Coding Animated Narratives for Multi-
modal Authorship in Schools Discovery Project aims to generate knowledge of
cross-curricular teaching pedagogies and student learning of multimodal composi-
tion, coding and computational thinking in schools. Its goal is to develop a new
theoretical and practical basis for the integrative teaching of contemporary multi-
modal text creation and coding for students in the middle school.
In Australia, each state broadly references the Australian Curriculum (ACARA,
2022), but they ultimately determine their own school curricula or syllabi. In NSW,
the NSW Education Standards Authority (NESA) implemented its first mandatory
syllabi in Science and Technology for K-6 and Technology for years 7–8 (12–14 years
old), in 2019. In relation to coding, the syllabi indicate students are expected to
understand iteration, conditionals and branching by Stage 3 (Years 5–6) and by
Stage 4 (Years 7–8), students should begin to learn the basics of programming using
a general-purpose language. NESA also encourages integration of coding into all
key learning areas. For example, they suggest that students in Stage 3 could ‘write
a narrative then create games from the storyline in the narrative using Scratch, Kodu
Game Lab or Sploder’ (NESA, 2022a, para 2), while in Stage 4, they could ‘write
narratives using programs such as Alice’ or ‘model conversations in Scratch’
(NESA, 2022b, para 2). This positions computational thinking as a general thinking
skill that can be developed through coding embedded in different learning areas,
and such skills are needed in all careers as computing becomes increasingly ubiqui-
tous (NESA, 2022c).
As such, a coded animated narrative (CAN) task is designed to give students the
opportunity to integrate computational thinking into English. A CAN is a 1–2-min
animated ‘micro-narrative’, authored using a block-based programming language
such as Scratch. This chapter draws data from the first phase of the project to illus-
trate the challenges curriculum of this design presented for the non-specialist
teachers.
One primary and one secondary public co-educational school located in a major
Australian city participated in the first project round. Data were collected from two
teachers in each school who had minimal or no prior knowledge of coding. The
secondary teachers were specialist English teachers, and the primary teachers were
generalist classroom teachers. In preparation for the project, they participated in
3 × 1 h seminars on multimodal semiotics focusing on how meaning can be con-
veyed in animations through facial expressions, gestures and camera angles (Mills
& Unsworth, 2018; Unsworth, 2013). This was followed by 5 × 1.5 h workshops on
248 K. Woo and G. Falloon
16.3 Methods
This study applied a case study method to take into account the unique contextual
factors in the classrooms in producing concrete, context-specific knowledge
(Flyvbjerg, 2011). It was conducted as two parallel sets of nested case studies where
each class is considered a case, with student pairs as sub-cases nested within each
class environment (Thomas, 2011). Four student pairs from each school were cho-
sen for data collection, representing a range of Scratch ability levels, and taking
account of gender balance and year levels. By limiting the number of student pairs,
it was possible to collect data from multiple sources and analyse them in-depth.
Primary data were gathered from each pair using the inbuilt ChromeOS screen-
recorder on the Chromebooks used to create the CANs. Supplementary data were
gathered using post unit interviews, to obtain students’ self-evaluation of their CAN
and build understanding of their learning processes. A summary of the eight student
pairs and links to their Scratch projects is shown in Table 16.1. Students have been
anonymised for confidentiality as per ethical requirements, and each pair is identi-
fied by the first initial of their names.
16 Coding Across the Curriculum: Challenges for Non-specialist Teachers 249
16.4 Results
The resultant student projects and the learning outcomes were moderated by a num-
ber of teacher’s intrinsic and extrinsic challenges and influenced by other factors.
Data illustrative of second-level coding decisions against Finger and Houguet’s
framework have been included in Table 16.2. Results from the primary school will
be reported first, followed by the secondary school.
250 K. Woo and G. Falloon
Table 16.2 Illustrative data of second-level coding decisions against Finger and Houguet’s (2009)
framework
Finger and
First-level Houguet
categories Data (2009)
Feedback TA: What’s the problem that’s going to happen? (pause) Teachers’
(proactive) A: She can’t afford to… knowledge and
TA: Maybe she’s realized the price and she’s going to do understanding
something to try and get there. She’s going to raise funds? (high)
H: Sell lemonade?
TA: Make lemonade. Maybe make more people aware of their
position... so maybe think about what’s the barrier? Is it
the cost or something that… obviously it’s a camp for
people with disability….
H: She’s scared that she may not fit in.
TA: Yeah, there may be a fear that she needs to overcome as
well (HA 05-18)
Feedback TA: Have you used ‘make a block’ at all? … Teachers’
(reactive) N: I didn’t want to use make my own block. Because the knowledge and
waits are irregular and not the same. And there’s not really understanding
a point in making a block. (low)
TA: I just want you think about it to make it more efficient. If
it’s working, then it’s all good. (ND 05-24)
Assessment Year 7 graded assessment criteria: Teacher’s
Structure the animated narrative in a logical and coherent approaches
form. (closed)
Explore the concept of, and relationship between, identity
and media.
Use Scratch to compose and code an engaging narrative.
Assessment Primary mini-film festival Teacher’s
approaches
(open)
Extrinsic challenges for the primary teacher mostly related to the practicality of
implementation and included staffing issues. Intrinsic challenges arose from owner-
ship of the intended curriculum, as well as limitations to her knowledge and associ-
ated teaching strategies. However, at the primary school, these challenges were
somewhat balanced by the school’s strong collaborative culture and teachers’ skill-
focused approach, which supported peer-learning and collaboration within and
between teams.
16 Coding Across the Curriculum: Challenges for Non-specialist Teachers 251
16.4.1.1 Extrinsic Challenges
The teachers selected appropriate outcomes from relevant syllabi to guide planning
and teaching their CAN unit. In the primary school, the CAN unit was mapped to
both K-6 English and Science and Technology syllabus outcomes. For English, the
chosen outcome was as follows:
EN3-2A Composes, edits and presents well-structured and coherent texts
The flexibility inherent in this outcome enabled the students to develop their own
topic or theme for their CAN. The targeted K-6 Science and Technology syllabus
outcome was as follows:
ST3-3DP-T Defines problems, and designs, modifies and follows algorithms to develop
solutions
Of note is that while computing concepts such as iteration are included in the syl-
labus at this level and were well utilised in CAN tasks, the teacher did not identify
iteration as a targeted outcome. This was possibly because computing concepts
operationalised in CAN tasks do not always align with the syllabus outcomes. For
example, understanding and using conditionals and branching are syllabus out-
comes, but they are not essential to successful CAN authoring. On the other hand,
concepts such as concurrency (parallelism/ synchronisation) are not included as
syllabus outcomes but are essential to support multimodal elements like creating
close-ups which in turn are important to successful CANs. The misalignment
between the Science and Technology syllabus outcomes and the suggested integra-
tion activities for English via coding stories presented a point of confusion and ten-
sion for teachers.
In addition to implementation issues related to the syllabus, there were chal-
lenges presented by staffing arrangements at the primary school. Although two
teachers originally participated in the training programme, one was assigned to a
different grade due to a staff shortage and was therefore unable to participate by
teaching their CAN unit. Because the other Year 5/Year 6 teacher was the only one
in the school who had some existing coding knowledge, she took responsibility
upon herself to teach the combined class comprising 40 students. One of the effects
of the high student-teacher ratio was noticeably less teacher’s feedback to each pair
than was the case in the secondary school. However, this was somewhat balanced by
a strong collaborative culture existing in the classroom, as illustrated by teacher
TG’s quote below:
I think we try and facilitate group work and teamwork a lot. We do literacy groups and
maths groups and everything kind of group… and peer support and social support and
things. Yes, I would hope that it’s a part of our school culture. (TG, post-interview, 12-02)
The school’s strong collaborative culture meant that for many pairs, students were
ready and willing to teach each other new skills – sometimes even beyond the scope
252 K. Woo and G. Falloon
required to create a CAN. The excerpt below illustrates this, where student J explains
how to assign inputs to variables to his partner, A:
J: And then we’re going to change the name of my variable. Or you just make a new one,
call it dino name… and we’re going to say “set dino name to answer”. (AJ 05-18)
However, productive collaboration was not present in all cases and it did not
always lead to improved outcomes. TG recalled that one of her students said ‘the
biggest challenge for her was having access to the device… they both wanted to
have the [laptop]’ (post-interview). Screen recorder data also revealed that another
pair (AK) experienced difficulty working together throughout the project, such that
when one member of the pair was absent, the other would delete their code and start
again. Together these data suggest that while a school with a strong collaborative
culture could support ambitious curriculum like this in non-specialist classrooms,
the presence of collaborative skills amongst middle-school students cannot be
assumed. Data also highlights that such skills need to be consciously facilitated, as
TG did throughout the programme. This practice is detailed and discussed in the
next section.
16.4.1.2 Intrinsic Challenges
In the post-interview, TG commented that from her perspective, the most important
learning outcomes from this project were the development of students’ independent
and collaborative problem-solving skills:
I think, like, their thinking of how they were solving the problems themselves… I think
them being able to work out the problem and try and fix it as a group [was] good challenge
for them. (TG, post-interview, 12-02)
This aligned with the targeted Digital Technology syllabus outcome, and she
appeared to prioritise this over the indicated English syllabus outcomes. It was also
clear TG valued students’ problem-solving processes more than learning computing
concepts or even the most efficient way to solve a programming problem. Instead,
her skills and competences focus encouraged student independence.
By her own admission, TG was unfamiliar with Scratch, and this was well under-
stood by her students. However, TG appeared unconcerned about her lack of coding
knowledge, because her principal focus was to build a classroom environment for
students to collaboratively problem-solve. TG was very deliberate in facilitating a
collaborative culture from the outset:
16 Coding Across the Curriculum: Challenges for Non-specialist Teachers 253
I want you and your partner to work collaboratively. Together. I don’t want one person to
boss in a group. I want you to give ideas, because you’re going to learn from each other
throughout this. (Whole class video, 05-17)
A significant point of difference between the primary and secondary schools was
the presence of several examples of between-pair collaboration in the primary class-
room. TG modelled this in her own narrative where she involved students by using
their voices for the dialogue. Some students followed her example, including two
pairs (KP and DK) who voice-recorded for each other’s projects. In another exam-
ple, one pair viewed another pair’s project and asked to borrow their iPhone sprite
to use in their own project. Teacher TG facilitated the process, reminding students
how to use the backpack feature in Scratch to share the sprite.
At the end of the unit, TG shared the students’ projects on an interactive white-
board and sought comments on positive features and something that could be
‘tweaked’ in each. She did not offer an ‘expert opinion’, instead asking for students
to provide feedback to one another. She also asked each pair if there was something
they did not know how to do and invited other students to provide advice. In this
way, TG established a small team of ‘expert advisors’ other students could call on,
if problems were encountered in future. Towards the end of the project, TG asked
pairs who had almost finished to split up and go and help another pair that was
struggling. From our selected pairs, A, from pair AJ, helped pair AN to make signifi-
cant progress on their narrative. By connecting students in this way, TG lightened
her own teaching load and also encouraged students to be responsible, independent
and supportive of others. This was consistent with her goal of facilitating students
to develop independent and collaborative problem-solving skills.
Assessment of the primary unit focused on general work competencies rather
than evidence of coding or technical capabilities. Projects were assessed informally
through a ‘mini-film festival’ where students shared their completed narratives.
After each pair presented their CAN, TG asked them to communicate what they had
learnt, what they considered challenging and something they enjoyed. The self-
reflective emphasis underpinning this informal assessment is consistent with TG’s
skills focus of improving students’ learning independence and collaborative
problem-solving.
While the primary students displayed important learning skills during creation of
their CANs, far less emphasis was placed on computing concepts and narrative
quality. It was also observed that they spent much more time experimenting and
engaged in inefficient trial and error, which often involved replaying the project
many times for one action. While knowledge was readily exchanged between pairs,
this did not necessarily contribute to improved outcomes, as advice varied consider-
ably in accuracy and quality. These inefficient and at times ineffective practices led
to shorter and sometimes incomplete projects.
254 K. Woo and G. Falloon
16.4.2.1 Extrinsic Challenges
The CAN task comprised 20% of students’ summative assessment for the year.
Meeting state syllabus outcomes, students were assessed on how well they:
• Structure the animated narrative in a logical and coherent form.
• Explore the concept of, and relationship between, identity and media.
• Use Scratch to compose and code an engaging narrative.
16 Coding Across the Curriculum: Challenges for Non-specialist Teachers 255
Consistent with the expressive goals of the English syllabus, assessment empha-
sis was on a coherent narrative structure, exploration of the concept of identity and
the effectiveness of the resulting narrative. Assessment criteria did not include the
quality of the code ‘under-the-hood’ or the learning of any computing concepts.
Time management was a considerable challenge for the secondary teachers. After
the training workshops, the teachers requested extra teaching relief time to complete
their narratives. Despite their commitment and enthusiasm for the project, they were
constrained by how much time they could devote to learning coding, which was
deemed a small and optional part of their diverse teaching and administrative duties.
Class time allocated to the coding components of the CAN unit was also minimal,
with the majority of time being allocated to ensuring English outcomes were met.
Furthermore, a high-ability class was chosen because it was expected the students
could cover both the ‘regular’ English curriculum and the CAN unit, in the same
amount of time other classes took to complete the regular curriculum alone. When
asked if they would expand the programme to all the students in the future, the
teachers commented in the post-interview they felt it was more appropriate to keep
it for the high-ability students because of time constraints, as they needed to ensure
students also met regular curriculum outcomes.
16.4.2.2 Intrinsic Challenges
The non-specialist teachers’ limited knowledge of coding was most apparent in the
feedback they provided students. Screen recorder data revealed that teachers were
being very directive in the kind of feedback they gave in relation to narrative ele-
ments and much less so in guidance on coding or more technical elements.
Re-examining the dialogue in the first row of Table 16.2 (replicated below), teacher
TA was giving very strong guidance on the students’ narrative elements, namely, the
‘problem’ that the narrative will revolve around:
TA: What’s the problem that’s going to happen? (pause)
A: She can’t afford to…
TA: Maybe she’s realized the price and she’s going to do something to try and
get there. She’s going to raise funds?
H: Sell lemonade?
TA: Make lemonade. Maybe make more people aware of their position... so
maybe think about what’s the barrier? Is it the cost or something that…
obviously it’s a camp for people with disability…
H: She’s scared that she may not fit in.
TA: Yeah, there may be a fear that she needs to overcome as well (HA 05-18)
256 K. Woo and G. Falloon
Here, TA was not merely pointing out the elements required in a narrative; she was
facilitating the students to extend their narrative in breadth (more possible barriers)
and in depth (addressing the internal conflict of the character).
However, data indicated teachers were much less likely to feedback on coding-
related or technical elements, unless the students asked them a specific technical
question. In one of the few instances where the teacher initiated a conversation
about a technical component, the discussion was merely about the presence (or the
lack) of a certain block, rather than feeding back on its appropriateness or effi-
cient use:
TA: Have you used ‘make a block’ at all? …
N: I didn’t want to use make my own block. Because the waits are irregular
and not the same. And there’s not really a point in making a block.
TA: I just want you think about it to make it more efficient. If it’s working, then
it’s all good. (ND 05-24)
From a coding perspective, there was a missed opportunity in this short exchange to
correct a technical misunderstanding. Parameters could be used to abstract the ‘wait
times’ if the students chose to make their own block. It seemed that the teacher had
vague ideas that making their own block would help with efficiency; however, she
either did not have sufficient coding knowledge to advise on this or did not see it as
a priority in terms of achieving required English outcomes. In her own words, the
project was ‘working’, so ‘it’s all good’ (ND 05-24).
16.5 Discussion
suggest this approach is not always practical. First, Digital Technology syllabi are
often developed independently and are separated from other subject syllabi, so forc-
ing integration may in itself be a point of tension. Second, when non-specialist
teachers take responsibility for teaching the coding components of interdisciplinary
units, they may see coding merely as a means to achieve their primary subject goals.
In our study, these were English syllabus outcomes in the secondary school and
‘twenty-first century’ learning skills in the primary school. This result confirms con-
clusions reached by recent studies in other disciplines (e.g. Tukhala et al., 2018). In
our study, teacher ‘regression’ to known content and concepts aligned with their
subject expertise or other prioritised outcomes appeared related to the extrinsic
challenges of syllabus requirements and time constraints, as well as the intrinsic
challenges of limited coding knowledge and a lack of ownership or identification
with Digital Technology goals.
Related to this, in both schools, the CAN units were delivered by teachers who
had very limited or no coding experience. While the 7.5 h of Scratch training was
sufficient to teach students basic Scratch animation, it was not enough to teach the
more complex computing concepts needed to author CANs optimally or efficiently.
It should also be noted that 7.5 h was considered a significant professional learning
time commitment by the schools, and a lengthier duration would have put undue
pressure on teachers, possibly negatively impacting upon their capacity to partici-
pate. The limited training time reflected the time poor reality of school environ-
ments, especially for teachers whose main role was not to teach computer science.
Time constraints were also apparent during classroom CAN unit teaching. In the
secondary school, teachers were expected to compress the coding components into
regular English curriculum time – no extra time allowance was possible to accom-
modate the extra learning demands. While in the secondary school the unit was
made possible by choosing the highest-ability class, if other schools face similar
time pressures (which is highly likely), it brings into question the practicality of
running programmes of a similar design in secondary schools.
There were significant differences in the school culture and teaching emphases
between the secondary and primary schools. In the secondary school, teachers were
more proactive in providing guidance and feedback from a narrative quality point of
view, which reflected their knowledge and expertise in their main subject discipline.
The secondary school also had a strong assessment-driven culture, with the product
rather than the process being assessed against state syllabus outcomes. This resulted
in CANs that demonstrated limited coding sophistication but were generally well-
structured and coherent narratives.
The primary teacher shared the same challenge insofar as technical and coding
knowledge was concerned; however, what was different was the school’s strong col-
laborative culture. Through the teacher’s prioritisation of collaboration and
258 K. Woo and G. Falloon
problem-solving skill outcomes, her students were able to form a learning commu-
nity where they mutually supported each other in solving coding problems and
overcoming other difficulties. In this respect, she was acting as a collaborator and
connector in the classroom (Resnick, 2017). While she acknowledged that her stu-
dents may not be using optimal coding solutions, she was willing for them to experi-
ment and learn from less structured approaches. This pedagogy was reflective of her
priorities and interest in furthering the processes of student’s problem-solving and
collaboration, rather than a more summative emphasis on the attributes of the final
CAN product. This resulted in CANs that were generally shorter and lacking in nar-
rative coherence.
Common to both cases was the impact teachers’ areas of strength or primary
discipline had on their pedagogical practices. The mismatch in syllabus require-
ments, combined with limitations in the teachers’ computer science knowledge,
effectively side-lined important concepts of relevance to authoring quality CANs.
As a result, students appeared to ‘cycle around’ within their base of existing coding
knowledge and were reluctant to explore more abstract concepts that could have
improved their CANs. This phenomenon which reflected in students’ adopting
‘trial-and-error’ methods in place of more systematic problem-solving methods
underpinned by computational thinking has been detailed elsewhere (Woo &
Falloon, 2022).
In summary, a combination of school culture, assessment requirements, teacher
outcome priorities and the nature of feedback provided to students strongly influ-
enced the resulting CANs and students’ learning of coding. Our results provide
further insights into the challenges of interdisciplinary approaches to teaching cod-
ing involving non-specialist teachers. They suggest that without substantial teach-
er’s support, dedicated curriculum time and alignment of Digital Technology and
English syllabi, such approaches may be largely ineffective, despite, as in our study,
the best efforts of highly competent and skilled teachers.
16.6 Limitations
16.7 Conclusion
This study determined that intrinsic and extrinsic factors non-specialist teachers
faced had a fundamental influence over the implemented and received CAN cur-
riculum. Although classroom programmes delivered by computer scientists have
shown that block coding has the potential to facilitate the learning of computing
concepts (e.g. Grover et al., 2015; Fagerlund et al., 2020), it may be unreasonable to
expect similar outcomes when such programmes are implemented by non-specialist
teachers using interdisciplinary approaches. Non-specialist teachers are challenged
by extrinsic factors such as time pressure and misalignment of syllabus outcomes
across the disciplines, in addition to intrinsic factors such as their lack of computer
science discipline knowledge and low levels of ownership of the expected technical
and coding outcomes. In this study and under those conditions, teachers reverted to
focusing on the outcomes of their primary discipline or opted for developing generic
‘twenty-first century’ skills instead of addressing the more challenging prospect of
mastering technical coding skills.
Additionally, in the primary classroom, the presence of a strong collaborative
culture was something of a ‘double-edge sword’. Whilst the students exercised
important learning and social skills such as teamwork, collaborative problem-
solving and shared responsibility for learning, these did not necessarily lead to bet-
ter outcomes. In many cases these interactions actually lead students away from one
of the targeted outcomes of the unit, namely, building knowledge of quality narra-
tive structure and content. Instead, data indicated students tended to share how to
code ‘gimmicky’ or entertaining features of their stories, rather than how to revise
the story or coding to improve its narrative qualities. Teachers must be mindful to
monitor closely students’ collaborative interactions and possess sufficient coding
and discipline-specific knowledge to intervene to ensure outcomes across disci-
plines are delivered.
In closing, research suggests increasing responsibility for teaching coding is fall-
ing upon non-specialist teachers (e.g. Bottino et al., 2020). Acknowledging the limi-
tations of this study, its emerging findings suggest such approaches should be
pursued with caution, if a targeted goal is students’ development of solid computer
science or computational thinking skills. While the notion of interdisciplinary
approaches to teaching coding holds considerable appeal, results from this study
indicate major challenges exist for non-specialist teachers attempting to implement
curricula of this design.
16.8 Supporting Resources
References
Unsworth, L. (2013). Point of view in picture books and animated movie adaptations. Scan, 32(1).
https://education.nsw.gov.au/teaching-and-learning/professional-learning/scan/past-issues/
vol-32%2D%2D2013/point-of-view-in-picture-books-and-animated-movie-adaptations
von Wangenheim, C. G., Alves, N. C., Rodrigues, P. E., & Hauck, J. C. (2017). Teaching comput-
ing in multidisciplinary way in social studies classes in school – A case study. International
Journal of Computer Science Education in Schools, 1(2).
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49, 33–35.
Woo, K., & Falloon, G. (2022). Problem solved, but how? An exploratory study into students’
problem solving processes in creative coding tasks. Thinking Skills and Creativity, 101193.
https://doi.org/10.1016/j.tsc.2022.101193
Chapter 17
Teaching High School Students Artificial
Intelligence by Programming Chatbots
17.1 Introduction
At a very basic level, intelligence can be defined as a ‘general aptitude and capacity
for understanding and learning’ (Duchesne & McMaugh, 2016, p. 675). Intelligence
is an inherent ability of humans to respond to experiences, which allows them to
reason, to problem-solve, to learn, to create and to communicate (Etienne, 2014;
Frankish & Ramsey, 2014). Artificial intelligence, on the other hand, is simulating
human-like behaviour from a machine. AI developers have been working on simu-
lating aspects of the intelligence in machines. John McCarthy, in 1955, coined the
term artificial intelligence, describing it as making a machine behave in ways like a
human would (McCarthy et al., 1955). The English Oxford Living Dictionaries
(2018) define AI as ‘the theory and development of computer systems that are able
to perform tasks normally requiring human intelligence, such as visual perception,
speech recognition, decision-making and translation between languages’. Artificial
intelligence is now a major area of study in the field of computer science.
While the popularity of AI-powered applications has seen a phenomenal increase
in the last decade, its roots can be traced to the 1950s, when Turing and Haugeland
(1950) made it famous by conceptualising the Turing Test, where they questioned
whether a machine was intelligent enough to think and respond like humans so that
people could not distinguish its responses from human communications (Turing &
Haugeland, 1950). Even today, the Turing Test is considered a benchmark tool to
identify whether a person is interacting with another person or a machine. A decade
later, Weizenbaum (1966) developed Eliza, a machine that could converse with
humans in a natural way and responded like a human psychotherapist. This was one
of the earliest documented examples of machine intelligence. Over the next four
decades, AI has evolved with diverse applications that encompass automation and
robotics, data analytics with machine learning and decision science, neural net-
works, fuzzy logic and virtual assistants with natural language processing abilities
which students will no doubt interact with throughout their lives.
In the past, most of the interactions happened by typing questions via a key-
board; however, recent developments in text-to-speech and voice-enabled technolo-
gies have opened even wider possibilities for human-computer interactions.
Amazon’s Alexa, Apple’s Siri, Google Assistant and Microsoft Cortana as well as
virtual assistants embedded in web portals are just a few examples of evolving chat-
bot applications. Amazon’s Alexa, for example, has the ability to search the Internet,
play requested music, create to-do or shopping lists, set alarms as requested and get
customized news or weather reports. Alexa can also control smart home products
through voice commands. Recent market reports predict an annual growth rate for
chatbot applications of about 25% (Grand View Research, 2021). With a growing
demand for machines that can think and converse like humans, learning to develop
their own chatbot can provide children with an authentic real-world experience.
17 Teaching High School Students Artificial Intelligence by Programming Chatbots 267
Therefore, the rule-based Chatbots are relatively easier to teach to high school
students. As a result, they are both an excellent medium to introduce programming
and AI to students. This chapter uses a rule-based chatbot model to develop stu-
dents’ understanding of basic programming concepts.
“If we understood enough about how the human intellect works, we could simulate it and
we can write intelligent programs.” (McCarthy et al., 1955, p. 2)
students would be opportune. Rule-based Chatbots are easy to scaffold and can be
taught in any programming environment.
17.3.1 Programming: Understanding
the Learning Trajectories
Programming deals with abstract concepts, and it is important to apply the right
pedagogical approaches while designing learning materials. Computing literature
has references to pedagogical models. The art of creating digital products such as
computer programs follows a similar process to that of developing literacy skills,
where learners build upon their skills gradually (Batt & Frencham, 2010). With
programming at the core of learning computing, studies have proposed frameworks
and structured instructional methods to teach programming in schools such as
‘Coding as Another Language’ (CAL) curriculum (Bers, 2019) and the PRIMM
(Predict-Run-Investigate-Modify-Make) model (Sentance et al., 2019). The process
of creating rule-based Chatbots and teaching introductory programming concepts
fits within the pedagogical framework. It also fits within the metaphor of ‘low floor’
(easy to get started), ‘high ceiling’ (opportunities to create increasingly complex
projects over time) and ‘wide walls’ (to allow for an easy entry point and expansive
possibilities to support different learning needs) (Papert, 1993; Resnick & Robinson,
2017). This inclusive metaphor caters for all students to be involved in program-
ming no matter where their learning trajectory is. Understanding the complexity of
programming constructs and their learning trajectories will allow teachers to design
activities that will provide children with opportunities to experiment and create new
270 J. Nayak et al.
ideas regardless of their programming abilities. Using the low floor metaphor, this
could be as simple as extending the existing chatbot conversations, however, for
further extension or high ceilings approach; this could include the redesign of the
chatbot for a completely new support system.
17.4 Programming a Chatbot
Rule-based Chatbots are relatively easy to program (Fig. 17.2). Using key program-
ming concepts identified in the high school curriculum, such as input-output state-
ments, variables, conditional statements, loops and lists, a conversation on any topic
can be created by beginning programmers. In this section, the authors have devel-
oped sample Python code to demonstrate the implementation of these concepts.
incorporate its value into a specific place of the output while ensuring that the output
is user friendly. The teacher might also want to introduce a textual data type such as
characters and strings and explain the string operations such as concatenation.
Understanding these fundamental programming concepts is necessary to progress
to more complex programming concepts.
At the core of chatbot design are the modules that control the flow of a conversation.
The underlying design involves the following:
(i) Parsing the input.
(ii) Extracting the intent.
(iii) Applying the context.
(iv) Displaying relevant messages back to the user.
The conversation flow can be regulated by offering menu options to the user
(Fig. 17.4a), by the user entering a specific keyword or the user writing a sentence
Fig. 17.4 Conditional statement and navigation with (a) Menu and (b) Keywords
272 J. Nayak et al.
with the keyword (Fig. 17.4b). Each approach has a varying degree of challenges
that provides students with an opportunity to experiment with conditional state-
ments while strengthening their skills in using input/output statements. In these
tasks students develop and strengthen conditional logic skills, that is, ability to eval-
uate conditions as true/false and provide programming instructions on what to do as
a result of this evaluation. Conditional logic is an important building block towards
developing computational thinking (Kazimoglu et al., 2012).
17.5 Supporting Resources
Teaching coding will develop skills that are important academically and in everyday
life. It is a challenging learning path for some students; however, the benefits of
learning programming include the development of problem-solving skills, creativ-
ity, logical thinking and resilience when it comes to overcoming failure. Since
learning programming has been widely accepted as being difficult at any level of
study, understanding which pedagogical approaches to adapt and learning resources
to choose for each level is imperative to maintaining students’ interest and engage-
ment. In recent years, educational bodies and research communities have been
17 Teaching High School Students Artificial Intelligence by Programming Chatbots 273
Fig. 17.5 Sample code in Python to show conversation using loops, arrays and function
working on creating AI-related teaching and learning resources as they realize the
need for students to have exposure to AI. Three resources are provided below:
1. AI with MIT App Inventor: (http://appinventor.mit.edu/explore/ai-with-mit-app-
inventor) includes additional AI-related components along with tutorials, for
example, the Voice Calculator and the Therapist Bot, to assist students to create
their own Chatbots. The website also includes supplementary teaching materials,
lesson plans, slides, unit outlines and assessments.
2. Hands-On AI Projects developed by ISTE (https://www.iste.org/areas-of-focus/
AI-in-education) and AI for Teachers (https://aiforteachers.org/resource/hands-
on-ai-projects-for-the-classroom-2) have teaching resource and projects with
detailed instructions of activities that teachers can use in their classroom.
3. The Python Turing Test tutorial (https://www.teachwithict.com/chatbot.html) is
a good short introduction to artificial intelligence, Turing Test and behind-the-
scenes programming logic.
274 J. Nayak et al.
References
AI4K12. (2020). The Artificial Intelligence (AI) for K-12 initiative (AI4K12). Retrieved March
2022 from https://ai4k12.org/
Australian Curriculum, Assessment and Reporting Authority. (2020). Digital technologies. https://
tinyurl.com/2p85zp8p
Batt, J., & Frencham, R. (2010). Handing the pencil over … show the how but explain the why!
Practically Primary, 15(3), 31.
Bers, M. U. (2019). Coding as another language: A pedagogical approach for teaching computer
science in early childhood. Journal of Computers in Education, 6(4), 499–528. https://doi.
org/10.1007/s40692-019-00147-3
Bisser, S. (2021). Microsoft conversational AI platform for developers: End-to-end Chatbot devel-
opment from planning to deployment. Apress L. P. https://doi.org/10.1007/978-1-4842-6837-7
Bowden, H. M. (2019). Problem-solving in collaborative game design practices: Epistemic stance,
affect, and engagement. Learning, Media and Technology, 44(2), 124–143. https://doi.org/1
0.1080/17439884.2018.1563106
Butler, M., & Morgan, M. (2007). Learning challenges faced by novice programming students
studying high level and low feedback concepts. Proceedings Ascilite Singapore.
Department of Education, UK. (2014). D5 London: teaching children to code. https://www.gov.
uk/government/publications/d5-london-summit-themes/d5-london-teaching-children-to-code
Deveci Topal, A., Dilek Eren, C., & Kolburan Geçer, A. (2021). Chatbot application in a 5th
grade science course. Education and Information Technologies, 26(5), 6241–6265. https://doi.
org/10.1007/s10639-021-10627-8
Du Boulay, B. (1986). Some difficulties of learning to program. Journal of Educational Computing
Research, 2(1), 57–73. https://doi.org/10.2190/3LFX-9RRF-67T8-UVK9
Duchesne, S., & McMaugh, A. (2016). Educational psychology for learning and teaching.
Cengage Learning.
English Oxford Living Dictionaries. (2018). Retrieved March 2022 from https://www.lexico.com/
definition/artificial_intelligence
Etienne, W. (2014). Artificial Intelligence and tutoring systems. Morgan Kaufmann.
17 Teaching High School Students Artificial Intelligence by Programming Chatbots 275
Frankish, K., & Ramsey, W. M. (2014). The Cambridge handbook of artificial intelligence.
Cambridge University Press.
Google. (2020). AIY – Do-it-yourself artificial intelligence. https://aiyprojects.withgoogle.com/
Grand View Research. (2021). Chatbot market growth & trends. https://www.grandviewresearch.
com/industry-analysis/chatbot-market
Grover, S., Jackiw, N., & Lundh, P. (2019). Concepts before coding: Non-programming interac-
tives to advance learning of introductory programming concepts in middle school. Computer
Science Education, 29(2–3), 106–135. https://doi.org/10.1080/08993408.2019.1568955
Hill, E., Keane, T., & Seemann, K. (2018). Pedagogies and practices for developing innovation
capability: Beyond the AITSL standards. In 10th Biennial International Design and Technology
Teacher’s Association Research Conference (DATTArc). Swinburne University of Technology.
Jin, K. H., Haynie, K., & Kearns, G. (2016). Teaching elementary students programming in a
physical computing classroom. Proceedings of the 17th Annual Conference on Information
Technology Education.
Kazimoglu, C., Kiernan, M., Bacon, L., & Mackinnon, L. (2012). A serious game for developing
computational thinking and learning introductory computer programming. Procedia, Social
and Behavioral Sciences, 47, 1991–1999. https://doi.org/10.1016/j.sbspro.2012.06.938
Kok, J. N., Boers, E. J., Kosters, W. A., Van der Putten, P., & Poel, M. (2009). Artificial intelli-
gence: Definition, trends, techniques, and cases. Artificial Intelligence, 1, 270–299.
Koulouri, T., Lauria, S., & Macredie, R. D. (2015). Teaching introductory programming: A quanti-
tative evaluation of different approaches. ACM Transactions on Computing Education (TOCE),
14(4), 1–28. https://doi.org/10.1145/2662412
Luxton-Reilly, A., Simon, Albluwi, I., Becker, B. A., Giannakos, M., Kumar, A. N., Ott, L.,
Paterson, J., Scott, M. J., Sheard, J., & Szabo, C. (2018). Introductory programming: a sys-
tematic literature review. ITiCSE 2018 Companion Annual Joint Conference Integrating
Technology into Computer Science Education
McCarthy, J., Minsky, M. L., & Shannon, C. E. (1955). A proposal for the Dartmouth summer
research project on artificial intelligence – August 31, 1955. AI Magazine, 27(4), 12–14.
Mordor Intelligence. (2022). Chatbot Market – Growth, Trends, Covid-19 Impact, and
Forecasts (2022–2027). Retrieved March 2022 from https://www.mordorintelligence.com/
industry-reports/chatbot-market
Mykhailyshyn, H., Kondur, O., & Serman, L. (2018). Innovation of education and educational
innovations in conditions of modern higher education institution. Journal of Vasyl Stefanyk
Precarpathian National University, 5. https://doi.org/10.15330/jpnu.5.1.9-16
Okonkwo, C. W., & Ade-Ibijola, A. (2020). Python-bot: A Chatbot for teaching python program-
ming. Engineering Letters, 29(1).
Papert, S. (1993). Mindstorms: Children, computers, and powerful ideas. (Vol. Second edition/
with an introduction by John Sculley and a new preface by the author) [Book]. Basic Books.
Piteira, M., & Costa, C. (2013). Learning computer programming: Study of difficulties in learning
programming. Proceedings of the 2013 International Conference on Information Systems and
Design of Communication.
Resnick, M., & Robinson, K. (2017). Lifelong kindergarten: Cultivating creativity through proj-
ects, passion, peers, and play. MIT Press.
Selby, C. C. (2015). Relationships: Computational thinking, pedagogy of programming, and
Bloom’s taxonomy. Proceedings of the Workshop in Primary and Secondary Computing
Education.
Sentance, S., Waite, J., & Kallia, M. (2019). Teaching computer programming with PRIMM: A
sociocultural perspective. Computer Science Education: Advancing Theory about the Novice
Programmer, 29(2–3), 136–176. https://doi.org/10.1080/08993408.2019.1608781
Singh, A., Ramasubramanian, K., & Shivam, S. (2019). Building an Enterprise Chatbot work
with protected Enterprise data using open source frameworks (1st ed.). Apress. https://doi.
org/10.1007/978-1-4842-5034-1
276 J. Nayak et al.
Turing, A. M., & Haugeland, J. (1950). Computing machinery and intelligence. MIT Press
Cambridge.
UNESCO. (2021). Artificial Intelligence in Education. Retrieved March 2022 from https://
en.unesco.org/artificial-intelligence/education
Van Brummelen, J., Heng, T., & Tabunshchyk, V. (2021). Teaching tech to talk: K-12 conversational
artificial intelligence literacy curriculum and development tools. 2021 AAAI Symposium on
Educational Advances in Artificial Intelligence (EAAI).
Wakefield, J. (2018). Robot ‘talks’ to MPs about future of AI in the classroom. BBC News,
Technology Section. https://www.bbc.com/news/technology-45879961
Weizenbaum, J. (1966). ELIZA – A computer program for the study of natural language com-
munication between man and machine. Communications of the ACM, 9(1), 36–45. https://doi.
org/10.1145/365153.365168
Yildiz Durak, H. (2020). The effects of using different tools in programming teaching of secondary
school students on engagement, computational thinking and reflective thinking skills for prob-
lem solving. Technology, Knowledge and Learning, 25(1), 179–195. https://doi.org/10.1007/
s10758-018-9391-y
Chapter 18
Teaching Coding and Computational
Thinking with Model Train Robotics:
Social Factors That Motivate Students
to Learn Programming
18.1 Introduction
T. Furuta (*)
Gunma University, Maebashi, Japan
e-mail: furuta@gunma-u.ac.jp
Y. Okugi
Nakanojo Junior-High School, Agatsuma, Gunma, Japan
G. Knezek
University of North Texas, Denton, TX, USA
(Morales & Lignan, 2000). As early as the 1980s, the International Association for
the Evaluation of Educational Achievement (IEA) had been studying a composite
attribute known as motivation and/or persistence and study habits (motivation to
study) on a transnational basis (Plomp & Pelgrum, 1991; Pelgrum et al. 1993;
Collis, et al., 1996). However, during the past two decades, the major focus of the
research on computer education seems to have shifted to issues such as effective
utilization of the Internet and how to organize courseware for teaching critical
thinking and computational thinking, as well as broader issues such as motivating
students to learn STEM. Improving pedagogical strategies is certainly important,
but understanding the mechanisms of how higher academic achievement in the ICT
is supported by student’s awareness and perceptions of learning and computers is
still needed. In addressing these issues, we perceive that there is a need to integrate
social relational factors such as classmates.
Learning activities that are driven by factors external to the self are deemed edu-
cationally less desirable (Ichikawa, 2001), and researchers as well as teachers tend
to encourage students to learn with intrinsic motivation. However, collaboration
with peers in learning situations has become one of the twenty-first-century skills
(Bybee, 2010), and students are encouraged to work together in STEM classes,
rather than working alone. Therefore, we should examine what the students expect
from their peers in the classroom.
Gender differences in STEM interest and achievement have been the subject of
numerous discussions in scholarly literature (Choi & Chang, 2011; Lent et al.,
2005). Girls tend to prefer to learn in a more social context (Jacobs et al., 2014) and
need to see connections between school assignments and the real world. Yet, when
these types of courses incorporate engaging real-world activities, both males and
females are engaged (Mitts & Hynie, 2010; Weber & Custer 2005).
Knezek et al. (2013) compared disposition clusters and found that for females,
engineering was related to both the creativity cluster and a STEM career interest
cluster, as opposed to a mathematics cluster for males. Those encouraging a STEM
career path for females should consider capitalizing on the female interest in “mak-
ing things” (Modi et al., 2012) as a route to greater female participation in STEM
careers. Therefore, we set the following two research goals in this study:
1. What kind of social interactional factors have impacts on students’ achievement
in STEM class?
2. What gender differences and commonalities affect students’ achievement in
STEM class?
Since we value connecting STEM education to students’ daily lives (Reeve, 2015),
which was also mandatory in Japanese Technology classes, we chose robotics pro-
gramming, via a self-driving model train to be more specific, and conducted a bat-
tery of Likert-scale surveys to extract factors that explain the students’ achievements.
Rather than this being designed as a formal experiment, research was conducted
within a classic action research design.
18 Teaching Coding and Computational Thinking with Model Train Robotics: Social… 279
& Okugi, 2010). Later, as we learned how the Scratch ver. 2 system worked, we
built Chameleon by making changes to Scratch around 2015 (Furuta &
Hashizume, 2017).
The VBA version of the Model Train teaching material worked well. However,
teaching in VBA had several problems. The most severe one was that, as is the case
with other character-based programming languages, typing on the keyboard was a
major obstacle in the programming class, because the junior high students had little
experience with computer keyboards. Japanese students do not usually use com-
puter keyboards in their lives, so only a few students could finish typing the codes
in the textbooks within the class time. They could write short essays with word
processors and create power point presentations, but some students did not know
how to type in the less than mark “<” when the programming class started. Therefore,
it took lots of time for the students to use a keyboard to type the codes, as VBA
never allows users (programmers) to make mistakes in spelling. So, the problem
with the VBA environment with the model train programming material was that the
students could not focus on learning and building the process flow because their
time during the class was consumed by finding out and modifying coding errors.
So, we built a Scratch version of the Model Train material hoping to eliminate
the necessity for the students to use the keyboards. The Scratch version of the model
train worked well. However, it seemed to us that, when students worked in the
Scratch environment, although the tasks did not change from the previous VBA ver-
sion curriculum, we observed that students did not think very carefully when they
wrote programs. When working in VBA, students seemed to be more careful when
writing programs because they knew it was a tedious task to write computer pro-
grams that work well. However, Scratch obscures mistakes in the codes because
Scratch works anyhow without problems on the surface. This was a problem because
students did not pay close attention to whether the way Scratch responded was
exactly as they planned and because they tended to adjust their plans afterwards
(hindsight) according to how Scratch actually worked.
and “go backwards”, and each train command was issued when the command block
was executed in Chameleon. Each train engine was equipped with an attachment
that received and translated the infrared signals coming from the individual com-
puter that drove the train.
Some technical details of the hardware were also presented during the Technology
class. As the train sensors were light sensors facing upwards, when they were
282 T. Furuta et al.
covered by the train as the car passed above the sensor, the incoming lights were
blocked. Therefore, the computer could tell in real time the location of the train with
programs by measuring the brightness of each sensor, which allowed the computer
to change the train movements as the student planned. Students could also write
programs that counted the number of times the train passed by a specific sensor, so
that they could write programs that changed the direction of the train or stopped it
when the train passed a sensor a specific number of times, which gave the students
flexibility in setting up their train operation plans.
18.4 Student Tasks
Lesson plans for student activities consisted of two parts. In the first part of the
class, students learned two topics: (a) the basics of feedback control and (b) com-
puter programming. The basics of feedback control were such that the computer
determined how much the actuator such as a motor should turn and in which direc-
tion, based on the information coming from the sensors. These mechanisms were
further explained using two short animation videos, each of which showed how
air-conditioners and automatic doors work. The basics of programming were how to
use editors, statements such as if-then conditionals and loops and expressing ideas
in flowcharts. The students received 4 h of instruction on these two topics in the first
part of the classes.
In the second part of the class, the teacher encouraged students to use the acquired
knowledge and skills to build a self-driving model train system. Each student cre-
ated his or her own train schedule and wrote programs that made the train move
according to his/her schedule. The curriculum was based on a project-based learn-
ing approach, where each student worked on his/her own project. A couple of pre-
service teachers participated in the class as assistants and helped the students in
solving technical problems. The time allocated to this second half of the lesson was
2–3 h in length depending on the teaching schedule for the year.
The authors have completed research studies focused on programming and compu-
tational thinking in the context of Japan’s new national initiative for the past decade.
Most of these studies have examined the role of socio-emotional attributes such as
motivation on student success in activities related to programming. In the literature,
it has been stressed that intrinsic motivation plays a greater role in learning than
extrinsic motivation. However, it is not clear if there are differential effects of extrin-
sic motivation between learners with different levels of intrinsic motivation. If such
interactions are the case, we may have to reconsider the definitions of extrinsic and
intrinsic aspects of motivation because they are intertwined.
18 Teaching Coding and Computational Thinking with Model Train Robotics: Social… 283
18.6 Motivation by Gender
In 2017, surveys for different groups of third year junior high students (ages 14–15)
took place at three junior high schools shortly after they finished robotic lessons
where the goal was “build a self-driving model train of your own”. Three-hundred
twenty-six (326) (157 male and 169 female) students participated and completed a
questionnaire that contained 80 items. The items for this 2017 survey also assessed
students’ computer awareness, study habits and learning motivations, some of
which were slightly modified from the previous survey in 2016. Students’ grade
scores were standardized in each school for comparison, with a mean of 50 and a
standard deviation of 10. The average score for the girls was 51.3 (SD = 9.3) and
48.5 (SD = 10.5) for the boys. The gender differences were significant (t
(324df) = 2.54, p = 0.012) in favor of females, indicating that females gained more
in the robotic class.
Next, data from the three schools were combined into one dataset. First, we per-
formed several trials of exploratory factor analysis (principal components, varimax
rotation) and extracted five factors in most cases. When we performed multiple
regression analyses with the extracted factors using the students’ standardized test
scores for informatics as the target variable, as many as two out of five factors were
significantly associated with the outcome measure. We eventually retained 40 items
through this process, resulting in Cronbach’s alpha of 0.82 for the total instrument.
At the next analysis stage, we extracted seven factors (rather than five) from the
factor analyses based on a scree plot of eigenvalues. Four of these five factors were
statistically significant predictors for the test scores, based on multiple regression
analyses. However, two of the factors did not produce strong reliabilities in terms of
Cronbach’s alpha. The four factors that were significant predictors of test scores
were Factor 1, “Likes Computers” (alpha: 0.92); Factor 2, “Perseverance” (alpha:
0.82), which had similar factor structure as “Study Habits” in the previous survey;
Factor 3, “Praise Seeking (Heroics)” (alpha: 0.67), which includes “I am worried
what my parents and teachers think of me” and “I want to be praised”; and Factor 4,
“Picky in Subjects” (Alpha: 0.62), which includes “I scarcely study the subjects
which I am not interested in” and “My test scores vary greatly between subjects”.
Hierarchical cluster analysis based on Ward’s minimum variance method (Dunn-
Rankin et al., 2004; Ward, 1963) confirmed that the items formed seven clusters, in
alignment with the seven constructs extracted based on the factor analysis scree
plot. Then we also performed multiple regression analyses for each gender sepa-
rately to contrast gender-specific aspects of informatics learning.
Overall, our results from the analyses indicated that high achievers in robotics
are those who do not work only on the subjects they like (“Picky in Subject”), those
who stick to the problems to solve (“Perseverance”) and those who seek praise from
others (“Praise Seeking (Heroics)”). Factors that are associated with intrinsic inter-
ests in the subject area, namely, “Likes Computers” and “STEM Interests”, were not
significant predictors of student’s test scores (Furuta et al., 2017).
18 Teaching Coding and Computational Thinking with Model Train Robotics: Social… 285
We propose that the motivational factors found in our studies can be connected with
computational thinking in terms of setting up the problem to be solved, because
motivational factors are associated with social values, which determine the value of
our activities and the outcome solutions that we achieve. We expect the students to
be more sensitive to what people care about and try to set up goals that are valuable,
as value is socially determined.
Our factor “Praise Seeking” primarily addresses the concept that students seek
praise for their achievement. However, this type of motivation is at work in grown-
ups too as the values of our accomplishment are determined by people other than
ourselves. Even if one is satisfied with what he or she has achieved, such as building
a complicated program, unless other people recognize he or she did a great thing,
satisfaction is just a self-contentment. In the context of project-based learning where
the students have the liberty of setting up their own goals within the framework of
the lesson, teachers can encourage the students to pursue something valuable for
others, not just their personal interests. Students would learn that they could get
greater praise when they integrate what other people are interested in and see as
valuable, and the students would become more efficient problem-solvers. We expect
social motivational factors to complement the aspects that computational thinking
does not address in problem-solving.
286 T. Furuta et al.
,QLWLDWHGSURMHFWWRWHDFKSURJUDPPLQJWKURXJK
DPRGHOWUDLQURERWXVLQJ9LVXDO%DVLF$SSOLFDWLRQV
9%$ LQRUGHUWRPRWLYDWHVWXGHQWVWROHDUQ
SURJUDPPLQJ
2EVHUYHGWKDWWKHYLVXDOEORFNSURJUDPPLQJ
HQYLURQPHQW 6FUDWFKHWDO XQH[SHFWHGO\
SURPRWHGVWXGHQWV¶FROODERUDWLYHOHDUQLQJ
'LVFRYHUHGW\SLQJRQWKHNH\ERDUGDSSHDUHGWR
EHDPDMRUREVWDFOHLQZULWLQJSURJUDPV
$GGHGDUHVHDUFKFRPSRQHQWWRPHDVXUH
6RFLDOLQWHUDFWLRQDOIDFWRUV
*HQGHUHIIHFWV
RQ67(0DFKLHYHPHQW
Relevant Links
–– URL link to Tomy model trains
https://www.takaratomy.co.jp/english/products/plarail/what/index.html
–– URL link to Explanation of Chameleon version of Scratch
h ttps://gair.media.gunma-u .ac.jp/dspace/bitstream/10087/11126/1/11%20
GKGEI-FURUTA.pdf (in Japanese). MIT maintains links to some Chameleon
projects at https://scratch.mit.edu/projects/231506661
–– URL link to Japanese requirement for skill development in programming and
computational thinking, implemented by the Ministry of Education, Culture,
Sports, Science and Technology, Japan (Monbusho)
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1403162.htm
18 Teaching Coding and Computational Thinking with Model Train Robotics: Social… 287
18.9 Conclusion
The curricular approach, research findings and implications for educational practice
that have been introduced in this chapter are believed to be relevant well beyond
Japan’s national initiative to introduce coding and computational thinking at ages
12–15, nationwide. Many other countries worldwide are addressing similar issues.
For example, in Lithuania, Dagiene and Stupuriene (2016) describe that the evolu-
tion in Lithuania’s fifth- through eighth-grade attainment guidelines for informatics
has evolved “from algorithms to computational thinking” (p. 735). But how a
teacher or a nation goes about motivating students to acquire these skills is another
matter. Teachers could take more advantages of social elements because those ele-
ments get students motivated to keep writing programs. As long as students are
engaged in programming, they are informally learning from their endeavors not just
how to code but how to collaborate, as social collaborative skills are necessary
twenty-first-century skills.
Acknowledgment This work was supported in part by JSPS KAKENHI Grant Number
JP24501127.
References
Dunn-Rankin, P., Knezek, G. A., Wallace, S., & Zhang, S. (2004). Scaling methods (2nd ed.).
Lawrence Erlbaum Associates.
Furuta, T., & Hashizume, T. (2017). Development of train model for teaching measurement-
and- control and empirical comparisons of the impacts of different programming languages.
Annual reports of the Faculty of Education, Gunma University, Art and Technology Series, 52,
113–119. (in Japanese).
Furuta, T., & Okugi, Y. (2010). Grail: A model-railroad-based instructional material for technology
education in junior high school. Research in Educational Practice and Development, Gunma
University, 27, 173–182. (in Japanese).
Furuta, T., Knezek, G., & Christensen, R. (2017). Examining associations between perceptions of
junior high friends and learning computer programming with implications for teacher prepa-
ration. In P. Resta & S. Smith (Eds.), Proceedings of Society for Information Technology &
Teacher Education International Conference (pp. 960–964). Association for the Advancement
of Computing in Education (AACE).
Furuta, T., Fujiki, M., Knezek, G., & Christensen, R. (2018). Assessing motivations for learning
informatics and possible influences of parents’ interests in technology among Japanese junior
high students. In Proceedings of Society for Information Technology & Teacher Education
International Conference (pp. 927–931). United States: Association for the Advancement of
Computing in Education (AACE).
Ichikawa, S. (2001). Manabu Iyokuno Shinrigaku [psychology of learning motivations]. PHP. (in
Japanese).
Jacobs, C. E., Kuriloff, P. J., Andrus, S. H., & Cox, A. B. (2014). Reaching girls. Phi Delta Kappan
Magazine, 96(1), 68–73.
Kanemune, S., Tani, S., & Shirai, S. (2017). Informatics and programming education at primary
and secondary schools in Japan. Olympiads in Informatics, 11(1), 143–150.
Knezek, G., & Christensen, R. (1996). Validating the computer attitude questionnaire. In Presented
at SERA. ED398243.
Knezek, G., Christensen, R., Miyashita, K., & Ropp, M. (2000). Instruments for assessing educa-
tor progress toward technology integration. Institute for the Integration of Technology into
Teaching & Learning. https://iittl.unt.edu/content/computer-attitude-questionnaire-caq
Knezek, G. A., Christensen, R., Tyler-Wood, T., & Periathiruvadi, S. (2013). Impact of environ-
mental power monitoring on middle school student perceptions of STEM. Science Education
International, 24(1), 98–123.
Ministry of Education, Culture, Sports, Science and Technology (MEXT). (2018). Guide to ele-
mentary school programming education (2nd ed.). (Japanese).
Mitts, C., & Haynie, W. (2010). Preferences of male and female students for TSA competitive
events. Technology and Engineering Teacher, 70(1), 19–26.
Modi, K., Schoenberg, J., & Salmond, K. (2012). Generation STEM: What girls say about science,
technology, engineering and math. Girl Scout Research Institute.
Morales, C., & Lignan, L. (2000). Construct validity for computer attitude questionnaire [CAQ]
among Mexican secondary students. In C. Morales, G. Knezek, R. Christensen, & P. Avila
(Eds.), Impact of new technologies on teaching and learning. Technologiay Comunicacion
Educativas.
Pelgrum, W. J., Janssen Reinen, I. A. M., & Plomp, T. (1993). Schools, teachers, students and
computers: A cross-national perspective. The International Association for the Evaluation of
Educational Achievement.
Plomp, T., & Pelgrum, W. J. (1991). Introduction of computers in education: State of the art in
eight countries. Computers in Education, 17(3), 249–258.
Reeve, E. M. (2015). STEM thinking! Technology and Engineering Teacher, 74(4), 8–16.
Ward, J. H. (1963). Hierarchical grouping to optimize an objective function. Journal of the
American Statistical Association, 58(301), 236–244. https://doi.org/10.1080/01621459.196
3.10500845
Weber, K., & Custer, R. (2005). Gender-based preferences toward technology education content,
activities, and instructional methods. Journal of Technology Education, 16(2), 55–71.
Chapter 19
Initial Steps in Teaching Python at Lower
Secondary School Using the Platform
Codeboard.io
19.1 Introduction
Informatics and digital technology have become some of the fundamental catalysts
for the transformation of human society development, industry and scientific- and
technological progress. They have a cardinal impact on the everyday social life of
each of us and on the way to gaining new knowledge. “Within the field of computer
science itself, emerging specialities such as artificial intelligence, machine learning,
robotics, and data analytics have the potential to transform nearly every field of
endeavour” (Morris, 2016). Due to the growing importance of informatics, many
governments worldwide have decided to implement computing education into the
curriculum from the beginning of formal schooling, specifically from kindergar-
ten. “Computing education in schools allows young people to gain a sound under-
standing of the digital world” (EC, 2020).
The Czech Republic has decided to introduce step-by-step informatics as a
compulsory subject and to develop digital competency across all subjects at all lev-
els of education in 2021/2022, but no later than 1.9.2023. The key thematic units of
this new subject are (1) data, information and modelling, (2) algorithmisation and
programming, (3) information systems and (4) digital technology (Černochová &
Selcuk, 2022). It is expected that introductory courses for programming at primary
and lower secondary schools will be focused on block-based programming lan-
guages (e.g. Scratch) and at upper secondary schools on textual programming lan-
guages (e.g. Python), because to support teachers teaching the new subject of
Informatics there were, already developed and verified, a set of teaching guidebooks
and textbooks for Scratch at primary and lower secondary schools and for Python at
upper secondary schools. Czech teachers of informatics subjects at lower secondary
schools have not yet had to teach programming. Some of them were not trained to
teach programming. Besides that, there are big differences of opinion and readiness
among informatics teachers who have experience with programming about which
language to teach students. In a questionnaire survey conducted in the spring of
2018 among 123 lower secondary school teachers of informatics subjects, 41.3% of
respondents considered the Visual Basic production programming language to be
the most appropriate programming environment for teaching algorithmising and
programming, 10.9% responded Scratch and 10.9% responded Python (Klement
et al., 2020, p.135). 26.6% of respondents have had knowledge or past experience
of a particular programming in Visual Basic, 15.6% in Pascal, 12.5% in Logo, 4.7%
in Scratch and no-one mentioned Python (Klement et al., 2020, p.169).
For some students, computer programming will not be easy or engaging to
learn. Writing programs can, however, contribute to their thinking and to their math-
ematical and reading literacies’ development. It can also be a good opportunity for
students to learn creatively, with fun and rewarding activities.
Generally, it is reasonable to teach lower secondary school students using a block
programming language because they do not have to deal with language syntax or
abstract concepts. “Block-based programming environments are designed to ensure
novice programmers have early successes” (Weintrop & Holbert, 2017, p.633).
However, “the block programming language provides a novice environment for
easy access, but lacks understanding and teaching of all the concepts of program-
ming” (So & Kim, 2018, p.1507). But, as highlighted by So and Kim (op. cit.,
p.1507) from their research findings, “block programming languages have not
removed the conceptual difficulties of learning and teaching programming”.
Python is generally assumed to be intended only for upper secondary school
students. Nevertheless, there is some evidence (e.g. summer camps of programming
for young people, online courses in Python focused on computing, code virtual
break camps) that students (aged 11+) can also start programming in Python. This
can be attractive for some of them because it is a language used by scientists and
professional programmers around the world, or they know that Python powers the
world’s famous and popular search engine, YouTube. Thus, it seems possible to
introduce elementary school pupils to a text-based programming language.
“However, the difficulties encountered by learners in typing grammars and com-
mands in textual programming languages could not be completely ruled out” (So &
Kim, 2018, p.1507). “At the lower secondary school level, we should focus on intro-
ducing pupils to see what the language looks like, what the language that experts
communicate with the computer looks like, to create a program that will solve the
necessary problem” (Severance, 2009). From September 2022, the “Cambridge
International Education” Primary and Lower Secondary curriculum will introduce
computing, including some programming lessons in Python (Jeeves, 2021).
This chapter provides introductory steps for instructing Python at a lower sec-
ondary school using the platform, Codeboard.io, and is based on a study conducted
among eighth-grade students (N = 60; 48.3% female, aged 13–14) in a standard
19 Initial Steps in Teaching Python at Lower Secondary School Using the Platform… 291
public school in Prague, Czech Republic. The study attempted to investigate how
programming in Python could be introduced at lower secondary schools and how
suitable the programming in Python is for students aged 13–14.
19.2 Literature Review
1
ZŠ Rýnovice (https://zsrynovice.cz); ZŠ Základní škola Dany a Emila Zátopkových, Třinec
(https://zszatopkovych.eu/); ZŠ a MŠ Všechovice (https://zs.zsvsechovice.cz/; Gymnázium
Broumov); etc.
2
https://zs1.nmnm.cz/specializace-skoly/informace-studiu-ve-specializovane-tride/
3
https://www.zsma.cz/
4
https://astro-pi.org/
5
https://www.fzs-chlupa.cz/
292 M. Černochová et al.
Začátečník (Python game development beginner6)) and Python course for girls
managed by CzechITas.7
This chapter does not seek to answer the question of at what age students should
start learning using text-based programming languages (e.g. Java, Processing,
Python, JavaScript). Nevertheless, when discussing this topic, the view that Python,
for example, is more suitable for upper secondary school education quite often pre-
vails. According to Duncan et al. (2014, p. 61), “the best age for teaching program-
ming depends on the educational system, culture, and personal experiences”.
What Could Be the First Programming Language? Blocked (Scratch) or
Text-Based (Python)?
With regard to which should be the initial programming language at lower second-
ary schools (text-based or block-based ones), “researchers agree that block-based
languages feel familiar to beginners, they are, however, not a standard for use in
introductory programming” (Matsuzawa et al., 2016, p.17). Similarly, Mladenović
et al. (2016) are convinced that visual programming languages can positively affect
students’ motivation for programming. They do, however, doubt whether, by pro-
gramming games in Scratch, students do actually learn programming concepts.
Convincingly, Robinson (2016, p.96) indicated that the “choice of programming
language can make a significant difference to learning and from a sociocultural
cognition perspective, which regards as fundamental that learning is mediated and
shaped and transformed by tools, including language and symbol systems”.
Fortunately, there are some tools to facilitate programming learning. One of
them is textual programming language (TPL) designed to be a simple language that
anyone should be able to learn. Tsukamoto et al. (2015) are convinced that a “TPL
can be used in programming education even for primary school pupils because of
the following reasons: (1) it is more practical to use the programming languages
similar to the ones used for developing real applications; (2) typing statements
could be easier for primary school pupils than generally thought; (3) there exist
programming environments such as Processing8 that are easy to use and produce
very attractive graphical outcomes”.
How to Move from Scratch to Python?
In some countries, students learn to program first in block languages and then in text
programming languages. This will probably also be the way in the Czech Republic,
6
https://www.coderebels.cz/
7
https://www.czechitas.cz/en
8
https://py.processing.org/
19 Initial Steps in Teaching Python at Lower Secondary School Using the Platform… 293
where in primary and lower secondary education teachers will introduce Scratch to
their pupils and in upper secondary school students will learn Python. “A growing
body of research is finding that students struggle when transitioning from block-
based programming to more conventional text-based programming languages”
(Weintrop, 2015, p.191). Opinions do, however, differ on this issue. Tabet et al.
(2016) showed that students who worked with the programming language Alice
could easily learn Python. Some experts think that “the block-based language
should be used as scaffolding to text-based language” (Matsuzawa et al., 2016,
p.17). Dorling and White (2015) point out that there is limited research dealing with
how effective block-based programming languages are in supporting students to
make the transition from graphical- to text-based languages. They came up with a
transition strategy from Scratch programming to Python based on Unplugged
Programming Language activities.
Some tools can support learners in the early stage of moving from block-based
to text-based languages. BlockPy is a dual block/text editor for Python aimed to
support learners in the early stage of moving from block-based languages (Scratch)
to text-based language (Python) that allows learners to switch at any time between
a block and a text representation of their code (Vahldick et al., 2021, p.1340). There
is also an abundance of associated integrated development environments (IDEs),
micro worlds and tools to support programming for beginners (e.g. for Python –
PyCharm, PyDev, LiClipse and Thonny – Sentance et al., 2018, p.125).
To assess whether it is appropriate to teach text-based programming in lower
secondary schools, “it is necessary to understand the difficulties of students by ana-
lysing errors that students often make in text-based programming learning” (So &
Kim, 2018, p.1507). Some authors (e.g. Qian et al. (2019)) point out that students
face syntax difficulties and error messages when working with text-based language
(e.g. opening/closing brackets, upper/lower case letters, semicolons, spelling, incor-
rect operator use, assignment of variable values that did not fit the data type, incor-
rect control statement composition, missing quotes).
Factor: Motivation
“Learning computer programming is not simple for many students” (Vahldick et al.,
2014, p.1). As is pointed out by Settle et al. (2014), there is a relationship between
a student’s motivation and her/his success in learning to program. “It is important
that students have a high motivation level, so that they engage in that work and do
not get frustrated with the natural errors they will make in [the] process” (Vahldick
et al., 2014, p. 1). Tsukamoto et al. (2015) in their study with TPL at primary educa-
tion emphasised a positive motivation of students and the associated need “to create
a sense of fun and excitement in the children and inculcate a desire to engage with
computing”.
In her research Niemela (2017) examines different motivational aspects and their
impact on the learning outcomes of students. “Started in Year 8, Scratch was used as
a computing primer, followed by the Khan Academy’s JavaScript, and Python
basics”. Niemela (2017, p.1) shows that students generally prefer to work with
Scratch because they do not encounter errors, so they are not afraid, unlike working
294 M. Černochová et al.
with text programs (Python, JavaScript, etc.), where many students are afraid to
make a mistake.
Factor: Teacher
“If a teacher does not wish to or does not feel confident teaching programming then
it may be better if programming is not taught extensively in school, and instead
students are encouraged to pursue it in their own time or through a club” (Duncan
et al., 2014, p.64). “There are also risks: if a student is taught programming by a
teacher who lacks confidence, there is the possibility that the student will create a
negative impression of the subject” (op. cit., p.68).
19.3 Findings
The Study
In 2021/2022 in a public lower secondary school in Prague, programming in Python
was implemented into a new subject, Informatics, for eighth-grade students.
Regardless of the planned curricular changes to be introduced into school practice
no later than 1.9.2023 in the Czech Republic, this school started to teach informatics
as a compulsory part of education several years ago. Currently, at primary level, the
school focuses on programming in Scratch and on teaching with the robot EMIL
platform,9 at lower secondary school level in various programming environments
and, in 2021/2022, for the first time on Python. In this public school, teachers apply
the Hejny’s10 method in their teaching, not only in mathematics education but also
in other subjects, including informatics.
The study was conducted from September 2021 to February 2022 with the par-
ticipation of 60 students (13–14 years old) composed of three classes: A, B and C
(Table 19.1). Previously, most students had never programmed to create their own
computer game.
The data collected for this study come from four resources: (1) students’ out-
comes from the task assignment with Python using the platform Codeboard.io,11 a
tool for automated collection of student outcomes (Appendix 19.1), (2) students’
responses from a questionnaire with ten questions (Appendix 19.2), (3) lesson
observation notes taken by one of the authors and (4) responses from a question-
naire with five open questions at the end of the course (Appendix 19.3).
9
https://www.robotemil.com/
10
https://www.h-mat.cz/en
11
An IDLE (Integrated Development and Learning Environment) for Python-based scripts at lower
secondary school.
19 Initial Steps in Teaching Python at Lower Secondary School Using the Platform… 295
The teaching of programming was carried out according to the schedule below (see
Table 19.2).
Before starting with Python, the students did two exercises in which they learned
how to read a written code while playing with a white dot (Activity #1). The second
activity (Activity #2) concerned introducing Python and, following programming, a
game using RPG Maker (Activity #3). Working with RPG Maker was included in
the teaching with the expectation that designing the game in RPG Maker after
Python lessons could contribute to increasing the student’s motivation to work with
textual programming languages.
Activity #1 Playing with a White Dot
• Playing with compute-it.toxicode.fr (with 59 Exercises)
Compute it (compute-it.toxicode.fr) is a programming game created by a French
studio, Toxicode.fr. It is designed to make reading code for programming newcom-
ers easier. The transition to text programming in Python is noticeably faster because
students are familiar with writing and reading code. This game introduces students
to reading and executing the code. Students act as computers: they control the little
dot and using the spacebar and the cursor keys change its position according to
296 M. Černochová et al.
commands (up(), right(), down(), left(), if …, while, repeat (cycle), function … ())
listed on the right side of the screen.
• Playing with “Little Dot Adventure” (little-dot.toxicode.fr, 35 exercises)
Little dot adventure is an application with a similar design to Compute it. It can
even be described as a more advanced version of it. The main difference is that stu-
dents do not just follow code instructions; they choose instructions from offered
cards. Most important is the card choosing order and its content. The game is not as
straightforward as Compute it, and there are no instructions on how to complete the
level. (These differences can be confusing for many players. The main problem
could be an unclear cell colour system, which can be misleading.)
The lower secondary school students did Activity #1 without any problems; the
only issue was that each student needed his/her time when working with these appli-
cations with Little dot. Our monitoring showed that it was a good start for Activity #2.
Activity #2 First Steps with Python
In the lower secondary school, the teaching of programming in Python was concen-
trated only on the basics (see Table 19.3). The teaching approach was based on the
idea that students can learn from working together (working in groups).
During Activity #2, the teacher and students used the platform Codeboard.io, an
open-source web-based IDE for teaching programming, which allows the teacher to
collect data from his/her students. Students could submit their work in Python
directly in the app. The teacher programmed for Codeboard.io a simple evaluation
script, hidden12 from students, used in each lesson of Python to provide students’
automatic feedback. Codeboard.io offers a clean UI based on the Bootstrap (web
frontend framework introduced by Twitter) framework; it seemed easy to navigate
for most of the students. The teacher created templates and instruction files copied
for each student. Each assignment had a folder-like structure, and the number of
files was not limited. The evaluation was done individually. Each student could
identify how many and which of his/her assignments were correct.
In lesson L4, students became familiar with some Python commands, adding
value to variables, using simple functions and manipulating strings. To conclude,
Activity #2 contributed to the students’ ability to read and understand code when
creating a role-playing game in RPG Maker, which facilitated programming a game
in Activity #3.
12
Example assignment structure:
task_1.py
task_2.py
results.py (h)
(h) stands for hidden file; results.py contains “feedback processing” of students’ work. Upon
clicking the RUN button, results.py processed students’ outputs and printed feedback in the
console.
19 Initial Steps in Teaching Python at Lower Secondary School Using the Platform… 297
RPG Maker is suitable mainly for designing games based on storytelling, not so much on games
13
The authors found out that the key factors influencing lower secondary school stu-
dents’ understanding of text-based programming languages are, primarily, the
following:
Teacher’s Expertise in Computer Science and Programming
In our study, one of the authors is the Informatics teacher who integrated Python in
his teaching at this school.
The introduction of Python in this school was intended to show students what
Python as a programming language looks like and in which applications it can be
commonly used around the world.
On the part of the teacher, it took some courage, and on the part of the 13–14-
year students, it took trust in the teacher to be able to help them solve any problems
and, if necessary, to explain the principles of programming in Python.
He graduated in MA study of Computing Education. He, as a teacher, trusted
himself because he was convinced that his students would be sufficiently motivated,
both by the fact that they would normally encounter applications programmed in
Python in their lives and by the fact that they would be able to try to design the game
themselves.
During teaching design, the teacher was based on the belief that it makes an
educational sense to teach at lower secondary school programming Python this way
because students can use a whole new sort of technology. Written code opens doors
to many possibilities, such as working with RPG Maker, Unity and Godot.
From observations at the lower secondary school, we could see that the students
were not afraid of working in Python. There was a friendly atmosphere in the class-
room. The students could ask their teacher at any time, and they also took advantage
of that. The teacher always helped the students, and the students could make prog-
ress in their work. They were keen on asking him various questions because they
knew that he would always be ready to help them. They appreciated him very much
for being the author of many computer games.
Student Motivation and Previous Experiences with Programming
From the observation notes and students’ open-ended responses in the questionnaire
(Appendix 19.3), it can be concluded that having a capable and inspiring teacher
influences students’ motivation to design and develop their games by accepting the
basics of Python and completing a computer game. It was observed that the most
motivated students were those who participated in programming or robotics at sum-
mer school. These were mainly boys who also spent much free time playing com-
puter games. Further, these boys showed that they apply their experiences with
computer games as inspiration for programming games in RPG Maker (e.g. “Star
War”). While working with RPG Maker, the boys were fascinated by their work on
the story. The most advanced students could write their own Python scripts using
PyPy.js or a compiler such as Transcrypt.com.
19 Initial Steps in Teaching Python at Lower Secondary School Using the Platform… 299
The girls showed no great interest in designing a game with RPG Maker in
Activity #3; they tried to work creatively with it, but they did not make any effort to
prepare a story for their own game. Unlike the boys, the girls could not find a par-
ticular theme or story for their game’s script.
Although the girls were not highly motivated to program the game in RPG
Maker, they were relatively successful with Python-related activities in Activity #2.
Our study showed that in Python girls performed better than boys (see Graph 19.1).
We are not saying that students have learned anything of great significance from
Python programming. We can, however, agree with Duncan et al. (2014, p.62) that
“having students write new code and wrestle with requirements has more educa-
tional value, but there is also value in having a student actually see what code” looks
like, type it in, and have it ‘execute’; this may inspire them to get over the barrier
that coding is some magic incantation that is beyond them”.
The data collected in Codeboard.io showed (see Graph 19.1) that, to some
degree, the students mastered the introductory task in Python. Overcoming the vari-
ables of what it is and how it works seemed to be the most challenging. Some
Python problems would work better if students had a better mathematical basis in
equations and variables (Appendix 19.2). The final questionnaire (Appendix 19.3)
demonstrated that most students were glad that they had mastered several com-
mands in Python, and one student found “Python interesting, only that it was diffi-
cult for them to remember all the commands, symbols and keyboard shortcuts”.
Even though they had moved to learning a different topic in computer science,
with the permission of their teacher, some students (boys) continued to create their
computer game. Among them, maybe there are those for whom “computer pro-
gramming can be used as a vehicle for learning concepts for other subjects” like
mathematics (Duncan et al., 2014, p.64).
Although challenging, with the right teacher and a structured and rewarding step-
by-step approach, programming in Python becomes a realisable goal. Do not be
daunted. Younger students do have the capability to operate and program through
this medium, and they gain greatly in confidence and competence.
19.5 Supporting Resources
The most recent research contributions come from Korea. There are plenty of K-12
Python-focused papers. So and Kim (2018) focused their research on the most com-
mon problems students are likely to encounter during the learning process. Many of
those grammar errors are the same as our respondents’ errors (e.g. missing
parentheses).
300 M. Černochová et al.
^ƚƵĚĞŶƚ^ƵĐĐĞƐƐŝŶ^ŽůǀŝŶŐƚĂƐŬƐŝŶWLJƚŚŽŶ;>ϭͲ>ϰͿ
;EсϲϬͿ
ϰϱ͕Ϭй
ϰϬ͕Ϭй
ϯϱ͕Ϭй
ϯϬ͕Ϭй
Ϯϱ͕Ϭй
ϮϬ͕Ϭй
ϭϱ͕Ϭй
ϭϬ͕Ϭй
ϱ͕Ϭй
Ϭ͕Ϭй
ŵĂůĞ ĨĞŵĂůĞ ŵĂůĞ ĨĞŵĂůĞ ŵĂůĞ ĨĞŵĂůĞ ŵĂůĞ ĨĞŵĂůĞ
>ϭ >Ϯ >ϯ >ϰ
Graph 19.1 Outcomes of tasks in Python solved in L1–L4 (Activity #2) and collected in
Codeboard.io (Usability of Codeboard.io as IDLE (Integrated Development and Learning
Environment) for Python-based scripts at lower secondary school)
Acknowledgement This study is a result of the research funded by the COOPERATIO Science
Education, Subject Specific Education Research.
19 Initial Steps in Teaching Python at Lower Secondary School Using the Platform… 301
Appendices
What does the following program do (what could it be used for)? What is written to
the console?
Q1 greetings = “Hello”
print(greetings)
Q2 name = input(“What is your name?”)
print(“My name is” + name)
Q3 number_1 = 20
number = 15
print(number_1 + number_2)
Q4 number_1 = 7
number_2 = 4
result = (number_1 * number_2) / 2
print(result)
Q5 height = int(input(“How tall are you?”))
If height > 120:
print(“You can ride the train.”)
else:
print(“You are not tall enough, you cannot ride the train..”
Q6 number = “3”
result = number * 3
print(result)
Q7 print(“Enter sizes of the sides of the rectangle:”)
a = int(input(“a:”))
b = int(input(“b:”))
circumference = a * 2 + b * 2
content = a * b
print(“Content:”, content)
print(“Circumference:”, circumference)
Q8 mass = int(input(“How much do you weight?”))
height = int(input(“How tall are you?”))
bmi = mass / (height/100 * height/100)
print(“Your BMIis: ”, bmi)
Q9 Find a bug in the following programs
greetings = hello
print(greetings)
name = “Peter”
If name == Peter:
print(Hello, Peter)
Q10 Explain these concepts:
Console
Variable
print()
Condition
If
else
input()
19 Initial Steps in Teaching Python at Lower Secondary School Using the Platform… 303
1. Have you ever programmed a game in the past? In what environment? And
what game?
2. What intrigued you about programming a game in RPG Maker? Story? Method
of programming? Creating in RPG Maker?
3. Did you consider working on a game in RPG Maker to be programming?
And why?
4. Do you see any connection between what you did in Python and how you created
the game in RPG Maker?
What did you learn when programming in Python? What do you learn from
teaching about Python? What exactly do you remember from teaching
about Python?
References
Černochová, M., & Selcuk, H. (2022). Primary education student teachers’ perceptions of com-
putational thinking through Bebras tasks. In D. Passey, D. Leahy, L. Williams, J. Holvikivi,
& M. Ruohonen (Eds.), Digital transformation of education and learning – Past, present and
future (OCCE 2021. IFIP Advances in Information and Communication Technology) (Vol.
642). Springer. https://doi.org/10.1007/978-3-030-97986-7_2
EC. (2020). Digital Education Action Plan 2021–2027: Resetting education and training for the
digital age.
Dorling, M., & White, D. (2015, March 4–7). Scratch: A way to logo and Python. In SIGCSE’15,
Kansas City, MO, USA.
Duncan, C., Bell, T., & Tanimoto, S. (2014, November). Should your 8-year-old learn coding? In
WiPSCE '14: Proceedings of the 9th workshop in primary and secondary computing education.
Jeong, I., & Chun, S.-J. (2021). The effects of programming learning using entry Python on
elementary school students’ logical thinking ability. Journal of The Korean Association of
Information Education., 25(4), 603–610.
Jeeves, L. (2021, October 22). Programming for all: Introducing Cambridge primary and lower
secondary computing. Cambridge Learners, Curriculum. https://blog.cambridgeinternational.
org/programming-for-all-introducing-cambridge-primary-and-lower-secondary-computing/
Klement, M., Dragon, T., & Bryndová, L. (2020). Computational thinking and how to develop it in
the educational process. Palacký University Olomouc.
Matsuzawa, Y., Tanaka, Y., & Sakai, S. (2016). Measuring an impact of block-based language in
introductory programming. In T. Brinda et al. (Eds.), Stakeholders and Information Technology
in Education, SaITE 2016 (Vol. 2017, pp. 16–25). Springer.
Mladenović, M., Krpan, D., & Mladenović, S. (2016). Introducing programming to elemen-
tary students novices by using game development in Python and Scratch. In EDULEARN16
Proceedings (pp. 1622–1629).
Morris, A. (2016, Fall). . Magazine McCormick School of Engineering, Northwestern University.
https://www.mccormick.northwestern.edu/magazine/fall-2016/the-exponential-power-of-
computer-science.html
Niemela, P. (2017). All Rosy in Scratch lessons: No bugs but guts with visual programming. IEEE
Frontiers in Education Conference, 2017, 1–9.
304 M. Černochová et al.
Robinson, W. (2016). From Scratch to Patch: Easing the Blocks-Text Transition. In Proceedings of
the 11th Workshop in Primary and Secondary Computing Education (pp. 96–99).
Qian, Y., Yan, P., & Zhou, M. (2019). Using data to understand difficulties of learning to program:
A study with Chinese middle school students. In Proceedings of the ACM conference on global
computing education (pp. 185–191). ACM.
Sentance, S., Barendsen, E., & Schulte, C. (Eds.). (2018). Computer science education. Perspective
on teaching and learning in school.
Settle, A., Vihavainen, A., & Sorva, J. (2014). Three Views on Motivation and Programming.
In ITiCSE '14 Proceedings of the 2014 conference on Innovation & technology in computer
science education (Annual Conference on Innovation & Technology in Computer Science
Education: [proceedings]) (pp. 321–322). ACM.
Severance, C. R. (2009). Python for everybody. Exploring Data Using Python 3. [01.04.2022].
https://www.py4e.com/html3/
So, M. H., & Kim, J. (2018). An analysis of the difficulties of elementary school students in
python programming learning. International Journal on Advanced Science, Engineering and
Information Technology, 8, 1507–1512.
Tabet, N., Gedawy, H., Alshikhabobakr, H., & Razak, S. (2016, July). From Alice to Python.
Introducing Text-based Programming in Middle Schools. In: ITiCSE '16: Proceedings of
the 2016 ACM Conference on Innovation and Technology in Computer Science Education
(pp. 124–129).
Tsukamoto, H., Takemura, Y., Nagumo, H., Ikeda, I., Monden, A., & Matsumoto, K. I. (2015).
Programming education for primary school children using a textual programming language. In
Frontiers in Education Conference (FIE) (pp. 1–7). IEEE.
Vahldick, A., Mendes, A.J., & Marcelino, M. J. (2014). A review of games designed to improve
introductory computer programming competencies. In 2014 IEEE Frontiers in Education
Conference (FIE) Proceedings, (pp. 1–7).
Vahldick, A., Mendes, A. J., & Marcelino, M. J. (2021). Analyzing novices’ fun and programming
behaviors while playing a serious blocks-based game. Revista Brasileira de Informática na
Educação, 29, 1337–1355.
Weintrop, D. (2015, February). Minding the gap between blocks-based and text-based pro-
gramming (abstract only). Poster. In SIGCSE '15: Proceedings of the 46th ACM Technical
Symposium on Computer Science Education.
Weintrop, D., & Holbert, N. (2017, March 8–11). From blocks to text and back: Programming
patterns in a dual-modality environment. In SIGCSE '17 (pp. 633–638).
Yoon, S. H., & Jang, B. S. (2020). The meta-analysis on effects of education of Python for elemen-
tary school students. Journal of Industrial Convergence, 18(5), 97–101.
Chapter 20
Creating Mobile Applications with App
Inventor Adopting Computational Action
20.1 Introduction
are also an important part of the body of computing knowledge in higher education
and also in K-12 schools (CSTA, 2017). A few efforts are emerging to cover soft-
ware engineering and teaching design as part of the maker movement in a creative
way (CityX project, 2022; Stanford, 2022) but typically without aiming at the cre-
ation of functional software artefacts.
Considering the current lack of prior computing competencies among middle
and high school students, programming is often introduced by adopting active
learning methodologies following the “Use-Modify-Create” (UMC) cycle (Lee
et al., 2011). By first “using” basic concepts to develop a predefined artefact, stu-
dents ease into computing and then “modify” an existing one, until eventually “cre-
ating” new ones. In this way UMC provides a scaffolding framework and also a way
to create a sense of “ownership” in learners (Lee et al., 2011). This can increase
students’ engagement. Furthermore, students can also be motivated by adopting
computational action that challenges them to develop their own software artefacts,
addressing concerns within their lives or community (Patton et al., 2019).
To guide students to develop useful and usable software artefacts on the “create”
stage adopting computational action, design thinking (Brown, 2008) can be
employed. Design thinking uses a human-centred approach to explore the definition
of problems and synthesises solutions in a process-encompassing inspiration, ide-
ation and implementation to satisfy the needs of the end-users to define a techno-
logically feasible strategy. Incorporating design thinking into agile software
engineering processes1 can foster important competencies, to better prepare stu-
dents to shift from “technology-centred design” to “human-centred design” (Brenner
& Uebernickel, 2016). It can also help students to improve skills such as creativity,
problem-solving, collaboration and communication (Mentzer et al., 2015). In recent
years it has been introduced in higher computing education around the world,
mostly as part of software development (Pham et al., 2018), software engineering
(Palacin-Silva et al., 2017; Levy & Huli, 2019; Corral & Fronza, 2018; González &
Fleitas, 2015) or user interface design courses (Valentim et al., 2017). Yet, courses
focusing on teaching design thinking as part of computing education in K-12 (da
Cruz Pinheiro et al., 2018) and/or to end-users are still scarce. However, aiming at
the popularisation of computing competencies, it becomes important to empower
not only IT professionals but also young people to become active creators of com-
putational solutions (Burnett & Myers, 2014).
Although computing education in K-12 is being implemented in several coun-
tries, the teaching of computing in Brazil is still infrequent (Santos et al., 2018).
This is despite the Common National Curriculum Base (BNCC) for K-12 in Brazil
(MEC, 2018) indicating the need for learning computational thinking as part of
mathematical literacy in K-12. So far, no specific discipline for computing has been
introduced into the curriculum, and therefore, computing education in Brazil is
mostly limited to extracurricular activities. Its introduction is also further hindered
by a lack of didactic material in Brazilian Portuguese as well as K-12 teachers
trained in computing.
1
In software development, agile practices refer to a collaborative effort based on iterative
development.
20 Creating Mobile Applications with App Inventor Adopting Computational Action 307
20.2 Research Methodology
The series of case studies was performed following the procedure proposed by
Yin (2017).
Study Definition The study is defined in terms of objective and research design.
The research question has been systematically decomposed into analysis questions
and metrics adopting the Goal/Question/Metric (GQM) approach (Basili et al.,
1994). Data collection has been operationalised through diverse instruments, includ-
ing assessment rubrics and the CodeMaster tool to assess the student learning based
on the artefacts created as learning outcomes (Alves et al., 2020; Solecki et al.,
2020) as well as pre- and post-questionnaires based on dETECT (Gresse von
Wangenheim et al., 2017) and MEEGA+KIDS (Petri et al., 2021) on the perception
of students.
Study Execution The execution of the study is carried out by adopting Analyze,
Design, Develop, Implement, and Evaluate (ADDIE) (Branch, 2009) as an instruc-
tional design approach. First, the course is developed. Therefore, the learners and
the instructional environment are characterised. Learning needs are elicited, and the
learning objectives are defined following curricular guidelines. In accordance with
the context, the educational strategy is designed, defining its content, sequence and
instructional methods to be adopted. Instructional material is developed according
to the defined educational strategy. Then, the course is applied in practice and evalu-
ated, collecting data as defined.
Analysis and Interpretation The collected data is analysed in relation to the anal-
ysis questions, using quantitative and qualitative methods. Then, the results are
interpreted and discussed.
2
A wireframe is a monochromatic drawing that provides a blueprint of the layout of a user interface.
3
APK (Android Package) is the file format used for distribution and installation of Android apps.
310 C. Gresse von Wangenheim et al.
The course has been applied through a series of case studies at public middle schools
and a high school in Brazil as part of extracurricular programs or in an interdisci-
plinary way in curricular classes aimed at popularising computing competencies in
K-12 (Table 20.1) (Ferreira et al., 2019).
The course has been applied in various formats depending on the context and
time restrictions. Application A1 was conducted in the form of an extracurricular
workshop aimed at providing a first contact with computing for interested students
at a public middle school. During this workshop, students learned about basic algo-
rithm and programming concepts and developed a predefined app with App Inventor
from scratch. Applications A2 and A3 were held as part of regular school classes
aimed at guiding the students to develop and modify the app, especially concerning
its user interface design. Applications A4 and A5 were organised as longer extracur-
ricular courses in which students learned not only basic concepts but especially how
to develop their own app related to their life or community.
Table 20.1 Overview of applications of the course “Make your first app”
No. of No. of
Application Stage Educational context Institution students hours
A1 Use Extracurricular workshop Escola Básica 87 students 4
in a public middle school Herondina ranging from
Medeiros 11 to
Zeferino 15 years
A2 Use/ Interdisciplinary Escola Básica 26 students 9
modify application as part of municipal ranging from
science classes in a public Almirante 9 to 11 years
middle school Carvalhal
A3 Use/ Application as part of Instituto federal 26 students 8
modify transdisciplinary classes in de Santa ranging from
a public high school Catarina – 17 to
Campus São José 20 years
A4 Use/ Extracurricular course in a Escola Básica 10 students 43
modify/ public middle school municipal ranging from
create Almirante 13 to
Carvalhal 15 years
A5 Use/ Extracurricular course in a Escola Básica 10 students 18
modify/ public middle school Herondina ranging from
create Medeiros 13 to
Zeferino 15 years
20 Creating Mobile Applications with App Inventor Adopting Computational Action 311
Aiming at understanding aspects related to the educational model for teaching com-
puting concepts through application development, we evaluated the following
research question:
Do pedagogical practices of teaching computing through the development of mobile appli-
cations covering also user interface design, design thinking, and software engineering con-
tribute to increase students' competencies and motivation?
This research question has been decomposed into analysis questions, which are
analysed in the following sections.
On the “use” stage, all students were able to follow the instructions for creating the
predefined mobile application. During the “modify” stage, the students made
changes and enhancements regarding the user interface design as well as functional-
ity or the apps’ objective. And on the “create” stage, which was covered in two
applications (Table 20.1), all students were able to identify a problem and idealise a
solution concerning a need in their context.
We assessed the algorithms and programming concepts of the created apps
through a performance-based assessment automated through the CodeMaster tool
(Alves et al., 2020) (Table 20.2). All students were able to develop an application,
and the results show that there was a significant increase in students’ skills regard-
ing various computing concepts. The students demonstrated the use of fundamental
programming concepts, such as events, conditionals and operators (Table 20.2). Not
all programming concepts can be evidenced based on the developed apps, as, for
example, loops are often substituted by events in App Inventor projects and there-
fore are not necessarily present.
We assessed the quality of the visual design of the created apps through a
performance-based assessment automated through the CodeMaster tool (Solecki
et al., 2020) (Table 20.3). On the modify stage, results indicate that the students
were able to follow basic visual design guidelines. On the other hand, most designs
were characterised by saturated colours and an excessive quantity of elements,
impairing the identification of personality, hierarchy and consistency that underpin
the association of harmony and usability. This observation is more evident in the
artefacts produced by younger school students in shorter course applications, pos-
sibly influenced by factors such as course duration, attention span, prior knowledge
and/or personal preferences. On the create stage, the performance-based assessment
of the visual design of the user interfaces indicated several strengths especially con-
cerning writing and images (and icons) in conformity with style guides (Table 20.3).
In general, the user interface design of the applications on the create stage in
applications with longer durations demonstrated much better visual aesthetics of the
312
Table 20.3 Assessment of the learning of visual interface design concepts on the create stage
Criteria on a scale [0, 3]
Project Layout Typography Writing Colours Images Total
AcheiOseuEmprego 1.1 1.5 0.5 1.1 2.0 6.3
AppPhone 1.5 2.3 2.6 2.3 2.0 10.6
EcoPet 0.4 1.5 1.9 0.8 2.0 6.5
FloripaPraias 0.8 3.0 1.5 0.0 1.0 6.3
HealthyPlants 3.0 2.3 2.3 2.3 3.0 12.8
InfoCarvalhal 1.5 1.5 2.6 0.8 2.0 8.4
Mathfull 1.1 1.5 1.1 0.0 3.0 6.8
Veganismo 1.9 1.5 1.9 1.0 2.0 8.3
Mean 1.4 1.9 1.8 1.0 2.1 8.2
developed apps when compared to the one on the modify stage as well as compared
with 100 randomly selected apps from the App Inventor gallery (Ferreira et al., 2019).
We also assessed the development of skills such as creativity through an expert
panel (Petri et al., 2021). The students were able to come up with original ideas for
the apps that were feasible and useful for a particular context and problem. In gen-
eral, the quality of the apps is also considered very high, with only two exceptions
mostly due to an “ugly” interface design. In general, all apps received a score above
40% as being more or less creative (Fig. 20.4).
The assessment of artefacts created during the development process, such as user
stories, persona and test cases, also demonstrated the achievement of learning objec-
tives related to software engineering concepts. Most students were able to apply the
functional and usability tests by describing the test cases and their results, as well as
validating that the requirements were met. We also observed that students learned to
seek solutions to problems collectively and collaboratively.
To answer this analysis question, qualitative evaluations of the course indicate that
the students fully enjoyed the course, found it easy to follow and liked the instruc-
tional strategy and material. Step-by-step instructions with immediate hands-on
activities helped them to stay immersed in the learning process. The use of a board
game to teach algorithms at the beginning of the course had a positive impact on
student motivation, contributing also positively to social interaction and fun.
Developing the app following agile approaches, such as interactive and incremental
development, and pair programming was absorbed and carried out naturally by the
students. Students especially liked the design-oriented classes and were interested
in learning more about user interface concepts, especially visual design. However,
on the modify stage, we noticed that students had difficulties in applying some
314 C. Gresse von Wangenheim et al.
Fig. 20.4 Assessment of creativity and its subfactors (Petri et al., 2021)
design concepts to apps. We assume that this may be related to the difficulty of
understanding and assimilating the contents, due to the lack of time. We also noticed
that the age of students in this application was lower (9–11 years), making it neces-
sary to adapt the content in terms of visual language to simplify the material. In
addition, at this age, students are often dispersed having difficulties to maintain their
focus. Despite this, we observed that during the presentations, most students were
proud and satisfied with the developed app. We also observed a positive effect on
empowerment, as they became confident that they could create useful and usable
apps. Responses to course evaluation questionnaires and informal conversations
indicated that students were eager to continue learning at home and/or through other
courses.
20.6 Key Findings
All applications of the course have been successful regarding the learning of the
respective learning objectives and interesting the students in this knowledge area.
Especially on the create stage, students were fully engaged and motivated by the
opportunity to create useful and usable solutions through hands-on activities
(Fig. 20.5). The agile process kept the learning process light at a constant pace,
enabling the students to understand and apply the concepts step by step creating the
respective artefacts. However, we observed that it is important to reserve sufficient
time in class to allow them to develop fully working apps. We also observed on the
modify and create stages that user interface design activities kept the students’
attention, much more than abstract software engineering activities, as they preferred
to directly model the tasks through paper prototypes than through use cases.
The results of this study demonstrate that incorporating related areas such as user
interface design, design thinking and agile software engineering adopting computa-
tional action into computing education can have a positive impact on motivation,
student learning and learning experience.
20 Creating Mobile Applications with App Inventor Adopting Computational Action 315
Fig. 20.5 Application of the course [LGPD (Lei Geral de Proteção de Dados (LGPD) – Brazil’s
privacy law) compliant photos]
App Inventor facilitated the development, empowering the students without any
previous computing knowledge to become active creators of software artefacts.
Integrating the development of the app into the design process by creating wire-
frames with App Inventor has been a time-efficient solution. However, we observed
some shortcomings regarding its support for user interface design, for example, for
the selection of a harmonious colour palette, as well as the alignment of user inter-
face elements. We, therefore, had to use various other online tools, which some-
times distracted the students. Thus, to optimise the practical learning experience, it
is important to embed comprehensive support within App Inventor in alignment
with the educational strategy.
Within a school setting, covering all the topics in-depth may not be feasible in a
given time frame due to the previous knowledge level of the students, curricular
constraints and the inherent differences between school contexts. Therefore, we
adopted alternative approaches, for example, providing a wireframe prototype of
the app as a starting point to accelerate the development on the modify stage.
The results of this study also indicate that the pedagogical strategy of the course
promotes an enjoyable experience that facilitates learning and can motivate students
to learn more about computing.
316 C. Gresse von Wangenheim et al.
Acknowledgements We want to thank all the students, teachers, volunteer mentors and col-
leagues that participated in the research and applications. This work was supported by the Conselho
Nacional de Desenvolvimento Científico e Tecnológico (CNPq) and Coordenação de
Aperfeiçoamento de Pessoal de Nível Superior (CAPES).
References
Alves, N. D. C., Gresse von Wangenheim, C., Hauck, J. C. R., & Borgatto, A. F. (2020). A large-
scale evaluation of a rubric for the automatic assessment of algorithms and programming con-
cepts. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education
(pp. 556–562). ACM. https://doi.org/10.1145/3328778.3366840
Basili, V. R., Caldiera, G., & Rombach, H. D. (1994). Goal/question/metric paradigm. In
J. J. Marciniak (Ed.), Encyclopedia of software engineering. Wiley-Interscience.
Branch, R. M. (2009). Instructional design: The ADDIE approach. Springer.
Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the develop-
ment of computational thinking. In Proceedings of the Annual Meeting of the American
Educational Research Association, (p. 25). https://www.media.mit.edu/publications/
new-frameworks-for-studying-and-assessing-the-development-of-computational-thinking/
Brenner, W., & Uebernickel, F. (2016). Design thinking for innovation. Research and Practice.
https://doi.org/10.1007/978-3-319-26100-3
Brown, T. (2008). Design thinking. Harvard Business Review, 86(6), 84. https://hbr.org/2008/06/
design-thinking
Burnett, M. M., & Myers, B. A. (2014). Future of end-user software engineering: Beyond the
silos. In Proceedings of the future of software engineering (pp. 201–211). https://doi.
org/10.1145/2593882.2593896
CityX Project. (2022). http://www.cityxproject.com
20 Creating Mobile Applications with App Inventor Adopting Computational Action 317
CodeMaster. (n.d.). CodeMaster: an automated assessment tool for App Inventor and Snap! http://
apps.computacaonaescola.ufsc.br:8080
Corral, L., & Fronza, I. (2018). Design thinking and agile practices for software engineering: An
opportunity for innovation. In Proceedings of the 19th Annual SIG Conference on Information
Technology Education (pp. 26–31). https://doi.org/10.1145/3241815.3241864
CSTA. (2017). K-12 Computer Science Framework. http://k12cs.org
da Cruz Alves, N., Gresse von Wangenheim, C., Martins-Pacheco, L. H., & Borgatto, A. F. (2021).
Existem concordância e confiabilidade na avaliação da criatividade de resultados tangíveis
da aprendizagem de computação na Educação Básica? In Anais do Simpósio Brasileiro de
Educação em Computação (pp. 12–22). SBC. https://doi.org/10.5753/educomp.2021.14467
da Cruz Pinheiro, F., Gresse von Wangenheim, C., & Missfeldt Filho, R. (2018). Teaching software
engineering in K-12 education: A systematic mapping study. Informatics in Education, 17(2),
167–206. https://doi.org/10.15388/infedu.2018.10
Ferreira, M. N. F., Gresse von Wangenheim, C., Filho, R. M., Pinheiro, F. D. C., & Hauck,
J. C. (2019). Learning user interface design and the development of mobile applications in
middle school. Interactions, 26(4), 66–69. https://doi.org/10.1145/3338289
González, C. S. G., & Fleitas, Y. D. C. B. (2015). Promoting creativity and innovative think-
ing in software engineering teaching: A case study. In Proceedings of the IEEE Global
Engineering Education Conference (pp. 989–995). IEEE. https://ris.utwente.nl/ws/portalfiles/
portal/70725487/EDUCON_2015_Special_Track_JCM.pdf
Gresse von Wangenheim, C. G., Petri, G., Zibertti, A. W., Borgatto, A. F., Hauck, J. C., & Pacheco,
F. S. (2017). dETECT: A model for the evaluation of instructional units for teaching com-
puting in middle school. Informatics in Education, 16(2), 301–318. https://doi.org/10.15388/
infedu.2017.15
Gresse von Wangenheim, C., Hauck, J. C., Demetrio, M. F., Pelle, R., da Cruz Alves, N., Barbosa,
H., & Azevedo, L. F. (2018). CodeMaster – Automatic Assessment and Grading of App Inventor
and Snap! Programs. Informatics in Education, 17(1), 117–150. https://doi.org/10.15388/
infedu.2018.08
Grover, S., & Pea, R. (2013). Computational thinking in K–12: A review of the state of the field.
Educational Researcher, 42(1), 38–43. https://doi.org/10.3102/0013189X12463051
Lee, I., Martin, F., Denner, J., Coulter, B., Allan, W., Erickson, J., et al. (2011). Computational think-
ing for youth in practice. ACM Inroads, 2(1), 32–37. https://doi.org/10.1145/1929887.1929902
Levy, M., & Huli, C. (2019). Design thinking in a nutshell for eliciting requirements of a busi-
ness process: A case study of a design thinking workshop. In Proceedings of the IEEE
27th International Requirements Engineering Conference (pp. 351–356). IEEE. https://doi.
org/10.1109/RE.2019.00044
MEC. (2018). Base Nacional Comum Curricular, Brazil. http://basenacionalcomum.mec.gov.br/
Mentzer, N., Becker, K., & Sutton, M. (2015). Engineering design thinking: High school Students’
performance and knowledge. The Research Journal for Engineering Education, 104(4),
417–432. https://doi.org/10.1002/jee.20105
MIT. (2022). App Inventor. http://appinventor.mit.edu
Palacin-Silva, M., Khakurel, J., Happonen, A., Hynninen, T., & Porras, J. (2017). Infusing
design thinking into a software engineering capstone course. In Proceedings of the IEEE 30th
Conference on Software Engineering Education and Training (pp. 212–221). IEEE. https://doi.
org/10.1109/CSEET.2017.41
Patton, E. W., Tissenbaum, M., & Harunani, F. (2019). MIT app inventor: Objectives,
design, and development. In Computational thinking education. Springer. https://doi.
org/10.1007/978-981-13-6528-7_3
Petri, G., Gresse von Wangenheim, C., & Borgatto, A. F. (2021). Evolution of a model for the
evaluation of games for software engineering education. In Software engineering perspec-
tives in computer game development (pp. 103–137). Chapman and Hall/CRC. https://doi.
org/10.1201/b22404
318 C. Gresse von Wangenheim et al.
Pham, Y. D., Fucci, D., & Maalej, W. (2018). A first implementation of a design thinking work-
shop during a mobile app development course project. In Proceedings of the 2nd International
Workshop on Software Engineering Education for Millennials (pp. 56–63). https://doi.
org/10.48550/arXiv.1803.10587.
Santos, P. S., Araujo, L. G. J., & Bittencourt, R. A. (2018). A mapping study of computational
thinking and programming in Brazilian k-12 education. In Proceedings of the IEEE Frontiers
in Education Conference (pp. 1–8). IEEE. https://doi.org/10.1109/FIE.2018.8658828
Solecki, I., Porto, J., Alves, N. D. C., Gresse von Wangenheim, C., Hauck, J., & Borgatto,
A. F. (2020). Automated assessment of the visual design of Android apps developed with
App Inventor. In Proceedings of the 51st ACM Technical Symposium on Computer Science
Education (pp. 51–57). ACM. https://doi.org/10.1145/3328778.3366868
Stanford. (2022). K-12 lab from Stanford school. https://dschool.stanford.edu/programs/
k12-lab-network
Valentim, N. M. C., Silva, W., & Conte, T. (2017). The students’ perspectives on applying
design thinking for the design of mobile applications. In Proceedings of the IEEE/ACM 39th
International Conference on Software Engineering (pp. 77–86). IEEE. https://doi.org/10.1109/
ICSE-SEET.2017.10
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://
doi.org/10.1145/1118178.1118215
Yin, R. K. (2017). Case study research: Design and methods. SAGE Publications.
Chapter 21
Learning Computational Thinking
in Secondary School (Year 8) in Germany
in International Comparison: Results
from ICILS 2018
21.1 Introduction
A closer look at the status quo of teaching and learning computational thinking
in schools on a national level, however, reveals that there is still plenty of room for
improvement: For instance, slightly less than two-fifths (39.9%) of eighth graders in
Germany reported in 2018 that they have learned, at least to a moderate extent at
school, to break down a complex process into smaller parts. The international aver-
age (49.4%) is significantly higher than in Germany, as is the case for Luxembourg
(47.5%), the Republic of Korea (57.5%), Finland (58.6%), Denmark (62.9%) and
the USA (70.8%). A further examination of school learning of computational
thinking-related tasks reveals that the highest proportions of eighth graders in
Germany reported that they had learned to understand diagrams that describe or
depict real-life problems to at least a moderate extent at school (63.2%). However,
for other aspects considered, such as modelling or algorithmic thinking, there is a
clear need to improve in the international comparison (Eickelmann et al., 2019a, b).
The aforementioned findings on learning computational thinking also roughly
align with findings on teaching computational thinking: For teachers teaching the
eighth grade, it was considered how much emphasis they put on computational
thinking-related tasks in their teaching. In 2018, more than three-fifths (63.8%) of
teachers in Germany reported promoting, at least with some emphasis, the ability to
break down a complex process into smaller parts. The international average (69.4%)
and the percentages for Denmark (69.7%), Portugal (72.5%) and the USA (87.7%),
however, were significantly higher. With a proportion of only one-fifth (20.8%),
teachers in Germany, by contrast, reported encouraging, with at least some empha-
sis, making flowcharts to represent different parts of a process. Again, significantly
higher percentages are found in other countries and in the international average
(26.4%) (Eickelmann et al., 2019a, b).
Furthermore, with regard to the involvement of the individual characteristics of
the students, it emerges that in every ICILS 2018 participating country, there is a
close link between the social background and the competences in computational
thinking. The same applies to almost all participants in relation to the correlation
between migration background and competences (Eickelmann et al., 2019a, b;
Fraillon et al., 2020).
In general, it is essential to investigate whether the learning of computational
thinking-related tasks at school in Germany and – for classification – in other coun-
tries is profitable in the sense of a relationship to computational thinking
competences.
However, individual characteristics of the students must be considered as well
since they obviously have a high impact. This investigation is enabled through inter-
national comparisons, and the examination of the competences of eighth graders
based on the representative student samples of the international study ICILS 2018
using computer-based student tests developed specifically for this area. For this, the
students completed two test modules of 25 min each. In addition, questionnaires for
students, teachers, school principals and ICT coordinators were used (Eickelmann
et al., 2019a, b; Fraillon et al., 2020). However, for Germany in particular, aspects
of problem-solving need to be addressed as well.
322 A. Labusch and B. Eickelmann
The following analyses to answer the above research question 1 are based on data
from the International Computer and Information Literacy Study 2018 (ICILS,
2018; Fraillon et al., 2020). Data on competences in computational thinking are
used, which were measured in computer-based tests in international comparison in
ICILS 2018. Based on a theoretical construct, computational thinking is defined as
‘an individual’s ability to recognize aspects of real-world problems which are
appropriate for computational formulation and to evaluate and develop algorithmic
solutions to those problems so that the solutions could be operationalized with a
computer’ (Fraillon et al., 2020, p. 27). Other data used in the analysis were col-
lected by means of student questionnaires. The student samples are representative.
The sampling procedure corresponded to the design of a two-stage cluster sample.
To prevent underestimating standard errors, they have been estimated by the
Jackknife Repeated Replication Technique (Rust, 2014).
To obtain a wide range of findings, for two high-performing countries (Republic
of Korea, N = 2875 students, and Denmark, N = 2404 students), one average-
performing country (USA, N = 6790 students) and two low-performing countries
(Germany, N = 3655 students, and Luxembourg, N = 5401 students), in-depth analy-
ses are carried out, which are reported in the following, thus answering the research
question by means of regression analysis. This multiple linear regression analysis
comprises one model in which the competences in computational thinking are rep-
resented with each dependent variable in turn. As an independent variable, cultural
capital functions as an indicator of the social background, operationalized here by
the number of books in the students’ families’ homes. The family language is con-
sidered, which serves as an indicator of the students’ migration background. The
internationally developed index (Fraillon et al., 2020) for learning computational
thinking-related tasks at school (Cronbach’s α = .90) is used as a further indepen-
dent variable. Moreover, the gender of the students is considered. The analyses were
carried out using R software (RALSA package; Mirazchiyski & INERI, 2020), IBM
SPSS Statistics software and the estimates with corresponding sample weights at
student level.
The regression models are depicted in Table 21.1.
Table 21.1 Regression models explaining differences in students’ CT competences by social and migration background, students’ learning of CT tasks at
school and students’ gender
Republic
Denmark USA Germany Luxembourg
of Korea
genderE –6.8 (4.7) –5.6 (3.2) –12.8* (3.4) –11.6* (4.8) –12.9* (3.7)
constant 508.4 502.8 458.2 465.3 482.0
R² .03 .06 .08 .15 .12
b - regression weight (unstandardized)
dependent variable: students’ computational thinking
* significant coefficient (p < .05)
A
0 - maximum of 100 books; 1 - more than 100 books
B
0 - other language; 1 - test languaget
C
For groups with student percentages below 1%, scores are not reported in ICILS 2018, following Fraillon et al. (2019)t
D
international index (M = 50, SD = 10).
E
0 - male; 1 - female.
IEA: International Computer and Information Literacy Study 2018 © ICILS 2018
21 Learning Computational Thinking in Secondary School (Year 8) in Germany...
323
324 A. Labusch and B. Eickelmann
21.5 Conclusion
Aside from the fact that learning and teaching computational thinking is crucial,
three overarching findings have emerged in this contribution, which apply primarily
to Germany but, as demonstrated, also to other educational systems:
References
Aho, A. V. (2012). Computation and computational thinking. Computer Journal, 55(7), 833–835.
Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A., & Engelhardt, K. (2016). Developing
computational thinking in compulsory education – Implications for policy and practice.
Publications Office of the European Union.
Eickelmann, B. (2019). Measuring secondary school students’ competence in computational think-
ing in ICILS 2018 – Challenges, concepts and potential implications for school systems around
the world. In S. C. Kong & H. Abelson (Eds.), Computational thinking education (pp. 53–64).
Springer.
Eickelmann, B., Labusch, A., & Vennemann, M. (2019a). Computational thinking and problem-
solving in the context of IEA-ICILS 2018. In D. Passey, R. Bottino, C. Lewin, & E. Sanchez
(Eds.), Empowering the learner for life in the digital age (pp. 14–23). Springer.
Eickelmann, B., Vahrenhold, J., & Labusch, A. (2019b). Der Kompetenzbereich‚ Computational
Thinking: erste Ergebnisse des Zusatzmoduls für Deutschland im internationalen Vergleich
[The competence area computational thinking: First results of the additional module for
Germany in international comparison]. In B. Eickelmann, W. Bos, J. Gerick, F. Goldhammer,
H. Schaumburg, K. Schwippert, M. Senkbeil, & J. Vahrenhold (Eds.), ICILS 2018 #Deutschland.
Computer- und informationsbezogene Kompetenzen von Schülerinnen und Schülern im zweiten
internationalen Vergleich und Kompetenzen im Bereich Computational Thinking [ICILS 2018
#Germany. Students’ computer and information literacy in second international comparison
and competences in computational thinking] (pp. 367–398). Waxmann.
Fraillon, J., Ainley, J., Schulz, W., Friedman, T., & Duckworth, D. (2020). Preparing for life in a
digital world: IEA International Computer and Information Literacy Study 2018 international
report. Springer.
21 Learning Computational Thinking in Secondary School (Year 8) in Germany... 329
Heller, K. A., & Perleth, C. (2000). KFT 4-12+R. Kognitiver Fähigkeitstest für 4. bis 12. Klassen,
Revision [Cognitive ability test for grades 4–12]. Beltz Test.
Heppner, P., & Petersen, C. (1982). The development and implications of a personal problem-
solving inventory. Journal of Counseling Psychology, 29, 66–75.
Labusch, A., & Eickelmann, B. (2020). Computational thinking competences in countries from
three different continents in the mirror of students’ characteristics and school learning. In
S. C. Kong, H. U. Hoppe, T. C. Hsu, R. H. Huang, B. C. Kuo, K. Y. Li, C. K. Looi, M. Milrad,
J. L. Shih, K. F. Sin, K. S. Song, M. Specht, F. Sullivan, & J. Vahrenhold (Eds.), Proceedings of
international conference on computational thinking education 2020 (pp. 2–7). The Education
University of Hong Kong.
Labusch, A., & Eickelmann, B. (2021). Students’ learning of computational thinking in schools
with different curriculum approaches including individual student characteristics. In C. K. Looi,
B. Wadhwa, V. Dagiené, P. Seow, Y. H. Kee, & L. K. Wu (Eds.), Proceedings of the 5th APSCE
international computational thinking and STEM in education conference 2021 (pp. 43–46).
National Institute of Education.
Labusch, A., Eickelmann, B., & Vennemann, M. (2019). Computational thinking processes
and their congruence with problem-solving and information-processing. In S. C. Kong &
H. Abelson (Eds.), Computational thinking education (pp. 65–78). Springer.
Mirazchiyski, P. V., & INERI. (2020). RALSA: R analyzer for large-scale assessments. R package
version 0.90.1. Retrieved from: https://CRAN.R-project.org/package=RALSA
Román-González, M., Pérez-González, J.-C., & Jiménez-Fernandez, C. (2017). Which cognitive
abilities underlie computational thinking? Criterion validity of the computational thinking test.
Computers in Human Behavior, 72, 678–691.
Rust, K. F. (2014). Sampling, weighting and variance estimation in international large-scale
assessment. In L. Rutkowski, M. von Davier, & D. Rutkowski (Eds.), Handbook of interna-
tional large-scale assessment. Background, technical issues and methods of data analysis
(pp. 117–153). Chapman & Hall/CRC Press.
The Standing Conference of the Ministers of Education and Cultural Affairs of the Länder in
the Federal Republic of Germany. (2016). Bildung in der digitalen Welt. Strategie der
Kultusministerkonferenz, Beschluss vom 08.12.2016 [Education in the digital world.
Strategy of the standing conference of the Ministers of Education and Cultural Affairs,
resolution of 08.12.2016]. Retrieved from: https://www.kmk.org/fileadmin/Dateien/pdf/
PresseUndAktuelles/2017/Strategie_neu_2017_datum_1.pdf
Vennemann, M., Eickelmann, B., Labusch, A. & Drossel, K. (2021). ICILS 2018 #Deutschland.
Dokumentation der Erhebungsinstrumente der zweiten Computer and Information Literacy
Study [ICILS 2018 #Germany. Documentation of the survey instruments of the second
Computer and Information Literacy Study]. Waxmann.
Voogt, J., Fisser, P., Good, J., Mishra, P., & Yadav, A. (2015). Computational thinking in com-
pulsory education: Towards an agenda for research and practice. Education and Information
Technologies, 20(4), 715–728.
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.
Chapter 22
Computational Thinking in Pre-vocational
Education: A Focus on Coding Unplugged
22.1 Introduction
Our society continues to digitize. Therefore, the need to prepare all students in foun-
dational education for living, working and learning in a digital society is increas-
ingly recognized by the Dutch government. It is expected that digital literacy will
become a compulsory part of the new curriculum that is currently developed
(Curriculum.nu, 2019). The reason to invest in digital literacy becomes even more
critical when there is a growing need for future professionals who are proficient in
Computer and Information Science. Many professional sectors, traditionally not
associated with digital technology, such as health, have difficulty in fulfilling vacan-
cies in technology-related professions now and in the near future (Fouarge et al.,
2017). It implies that all students already at an early age need to become aware of
the possibilities of digital technology in a future profession.
Computational Thinking (CT) is considered an important aspect of digital liter-
acy in compulsory education (Bocconi, et al., 2016; Yadav et al., 2018). Wing
describes CT as ‘solving problems, designing systems, and understanding human
behaviour based on concepts fundamental to computer science’ (Wing, 2006, p. 33).
Brennan and Resnick (2012) add to these concepts the working methods and the
personal perspective. Selby and Woollard (2013) opt for an approach that empha-
sizes thought processes. They define CT as ‘a focused approach to problem solving,
integrating thought processes using abstraction, decomposition, algorithmic design,
evaluation, and generalizations’ (p. 5). The essence of these definitions is similar:
22.2 Context
At the end of primary education, at the age of 12, all students in the Netherlands are
advised for a specific track to continue their learning in secondary education. The
various tracks prepare students for further studies after secondary education: univer-
sity (six-year programme), college (five-year programme) or further vocational
training (four-year programme). Pre-vocational education lasts four years and is one
of the tracks students can be advised to follow after primary education. Usually,
students entering pre-vocational education have received a follow-up advice that is
more practically than theoretically oriented. After two years, at the age of 14, stu-
dents in this track choose a specific vocational profile, which prepares them for
further vocational training (such as bakery, care and welfare, construction and tech-
nology). It is therefore important that pre-vocational education students, before they
enter further vocational training at the age of 16, already have a good idea of ICT as
an attractive future (aspect of a) profession. Teachers find it challenging to design
lessons about the abstract concepts associated with Computational Thinking that are
attractive and relevant for this group of students. The study we describe in this chap-
ter is situated in this context.
22 Computational Thinking in Pre-vocational Education: A Focus on Coding Unplugged 333
The assignments that were developed in the lesson materials lead however to
programmable outcomes. Two cases are included in this study. The first case (Sweet
pastry rolls) focuses on integrating Computational Thinking in Bakery Techniques
for pre-vocational education students. Case 2 (Problem specification) started from
the idea that many professional products regularly fail to meet expectations, because
client and producer do not understand each other properly. Often the expected quali-
ties of the product are not specified in detail. Students, as future professionals, need
to learn how they can question the client in order to meet the client’s expectations.
In this proof-of-concept study, lesson materials (a teacher’s manual and student les-
son materials) were developed that supported the students and their teacher in two
specific cases. The research question guiding the study was ‘how do pre-vocational
students and their teachers evaluate the CT lessons on attractiveness and relevance’.
Attractiveness focuses on whether the CT lessons are attractive for all students.
Relevance relates to the connection of the CT lessons with relevant knowledge and
skills in professional contexts. Data were collected through a student questionnaire,
lesson observations and interviews with teachers.
Case 1: Sweet Pastry Rolls
CT lesson materials have been developed where students explicitly get to work with
CT in their own professional context – the bakery. The students have to design a
production plan to bake 30 sweet braided pastry rolls and take measures to monitor
the process (through smelling, feeling and tasting) for a satisfying result. Figure 22.1
provides a simple representation of the production process (the algorithm) the stu-
dents have to come up with.
Because pre-vocational education students find it easier to move from concrete
situations to a higher level of abstraction than vice versa, the teacher team decided
to stay close to the experiential world of the students. In this way, CT terms were
linked to the professional terms the students are familiar with.
334 D. van der Linde-Koomen et al.
Fig. 22.1 Sweet pastry rolls: Part and simplified representation of the process – for illustrative
purposes
The central problem in this case is to bake 30 sweet braided pastry rolls. In the
first lesson students design a plan for the production process (algorithm). The lesson
materials guide them in the design of the production plan. They are asked to think
about the completeness of the recipe and the raw material and tools (data collection)
they need. They must calculate the right amount of each raw material (data analy-
sis). They also need to consider the division of the tasks (problem decomposition)
and think about the tasks that run in parallel (abstraction). In the second lesson, they
bake the rolls and check whether they have quality (testing through smelling, tasting
and feeling).
In the third lesson, the students are challenged to think about elements of the
production process that could be automatized (see Vignette 22.1).
The students found several aspects of the process difficult: calculating quantities (in
case of deviations from the recipe or variations in the units) and weighing ingredi-
ents (data analysis), the work sequence (in particular the parallel processes (algo-
rithm, abstraction) taking place) and the influence of temperature, humidity and
rising time on intermediate and end product (testing, monitoring).
Most students (slightly) agreed on the five statements about the attractiveness of
the lessons. See also Fig. 22.2. They liked the lesson (n = 11, question 1), thought
the lesson materials looked nice (n = 11, question 2) and positively valued the way
22 Computational Thinking in Pre-vocational Education: A Focus on Coding Unplugged 335
of working (n = 11, question 3) and the assignments (n = 10, question 4) and would
appreciate if other lessons were similar to the CT lessons (n = 11, question 5).
Students differed more in how they experienced the relevance of the CT lessons
on baking sweet pastry rolls. See Fig. 22.3. Most students (slightly) agreed on ques-
tions about the relevance of the lessons ‘What I have learned here I can also use
outside of school’ (n = 11, question 2) and ‘I can now imagine what is needed in
practice’ (n = 11, question 5). Fewer students, but still a majority, (slightly) agreed
on questions such as ‘What I have learned here I can also use in other subjects’
(n = 11, question 1) and ‘With the teaching material we have worked on a real prob-
lem’ (n = 11, question 3). Students seem to differ most on the question ‘What you
learn in this lesson, you will need in many professions’ (n = 11, question 4). All
students thought that the skills they had learned were very specific for bakers. They
did not make a connection with other professions.
The teacher who taught the CT lessons about sweet pastry rolls indicated that the
teacher’s manual was clear and not very complex and therefore not time-consuming
for an experienced (subject) teacher. The student’s materials matched with the target
group, ‘a clear story’, according to the teacher. The teacher appreciated the lessons
336 D. van der Linde-Koomen et al.
and intended to continue to use the material and recommend it to other colleagues.
However, the teacher did not think that the lessons were useful in the training of
other professions, because it is too subject specific.
Case 2: Problem Specification
CT lesson materials have been developed where students get to realize that they
have to ask specific questions to fully understand a client’s wishes. The lessons are
based on the game Zendo©. In this game, constructions can be built with elements
that differ in shape, colour and position. Through inductive reasoning, students need
to discover which secret rule is underlying a construction. The CT lesson materials,
contrary to the first case, can be used in various professional contexts. Three lessons
have been developed.
In the first lesson students become acquainted with the rules of the game. They
need to build two nearly similar constructions that differ on one characteristic only
(visualizing and analyzing data). In the second lesson students change a rule to its
inverse (abstraction). The students must explain what the inverse rule means (prob-
lem redefinition). After that, the teacher presents the students with four construc-
tions: two comply with the secret rule and two don’t (visualizing, analyzing,
abstraction, testing). In the third lesson the game is played according to the rules. In
this lesson students need to find an effective strategy to find the secret rule (algo-
rithm, testing). The flow diagram (Fig. 22.4) represents a simplified version of the
algorithm students need to discover to find the correct rule. Usually this takes sev-
eral rounds. Observations show that students who work in a structured way keep
Fig. 22.4 Simplified representation of the algorithm needed to find the correct rule in problem
specification
22 Computational Thinking in Pre-vocational Education: A Focus on Coding Unplugged 337
their constructions, so that they have an overview of attempts. Students who work
in an unstructured/less structured way start to build again every time. The game ele-
ment helps to make abstract, procedural thinking concrete. In the lesson materials
the CT concepts in this case are related to standard procedures in different profes-
sional contexts.
Most students (slightly) agreed on the statements about the attractiveness of the
lessons. See also Fig. 22.5. All students liked the lesson materials themselves
(n = 10, question 2). Most students liked the lesson (n = 10, question 1) and the
assignments (n = 10, question 4). A smaller majority of students liked the way of
working (n = 10, question 3) and valued if other lessons would look like the CT les-
sons (n = 10, question 5).
A small majority of the students (slightly) agreed on four of the five statements
regarding the relevance of the CT lessons: use in other subjects (n = 10, question 1),
lesson addresses a real problem (n = 10, question 3), need in many professions
(n = 10, question 4) and the need of these CT skills in practice (n = 10, question 5).
However, most students (slightly) disagreed on the statement ‘What I have learned
here I can also use outside of school’ (n = 10, question 2). See also Fig. 22.6.
Contrary to what the lesson developers had intended, most students saw a more
limited use of the skills they had learned. They thought that the skills were particu-
larly relevant for professions related to software development or mathematics.
The teacher who taught the CT lessons on problem specification commented that
the teacher’s manual and the student’s materials are very important for running the
lessons. However, this teacher and the students asked for more elaboration of the
materials to better position the assignments in their context (clarification of a cli-
ent’s wishes). Nevertheless, the teacher found the lessons ‘fun to do’ and ‘above
expectation’ and useful for the target group. The teacher needed slightly more time
to prepare the lesson than he/she usually needs.
A rubric has been developed to be able to assess whether the students had mastered
the CT skills in the CT lessons that have been offered to them. This rubric was
inspired by earlier work from the authors (Hesse et al., 2015; Van der Linde et al.,
2021) and had proved to be a valid and useful tool. The rubric was slightly adapted
to the CT lessons in the two cases. In particular, automation and testing were added.
Examples of the way some CT skills were operationalized are presented in
Table 22.2. In this proof-of-concept study, the rubric was not applied.
22.5 Lessons Learned
References
Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12. ACM Inroads, 2(1),
48. https://doi.org/10.1145/1929887.1929905
Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A., Engelhardt, K., Kampylis, P., & Punie,
Y. (2016). Developing computational thinking in compulsory education – Implications for pol-
icy and practice. Publications Office of the European Union. https://doi.org/10.2791/792158
Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the develop-
ment of computational thinking. Annual American Educational Research Association meeting,
Vancouver, BC, Canada. https://doi.org/10.1.1.296.6602
Caeli, N., & Yadav, A. (2020). Unplugged approaches to computational thinking: A historical per-
spective. Tech Trends, 64(1), 29–36.
Curriculum.nu. (2019). Toelichting digitale geletterdheid [Explanation digital literacy]. Retrieved
January 11, 2020, from https://www.curriculum.nu/download/toelichting-digitale-geletterdheid
Fouarge, D., Bakens, J., Bijlsma, I., Dijksman, S., Peeters, T., Poulissen, D., Veth, J., Künn, A., &
Montizaan, R. (2017). De arbeidsmarkt naar opleiding en beroep tot 2022 [The labor market
by education and occupation until 2022]. Researchcentrum voor Onderwijs en Arbeidsmarkt,
Maastricht University. https://doi.org/10.26481/umarep.2017010
Hesse, F., Care, E., Buder, J., Sassenberg, K., & Griffin, P. (2015). A framework for teachable col-
laborative problem solving skills. In P. Griffin & E. Care (Eds.), Assessment and teaching of
21st century skills (pp. 37–56). Springer.
Hsu, T. C., Chang, S. C., & Hung, Y. T. (2018). How to learn and how to teach computational
thinking: Suggestions based on a review of the literature. Computers and Education, 126(July),
296–310. https://doi.org/10.1016/j.compedu.2018.07.004
International Society for Technology in Education (ISTE). (n.d.). Computational thinking for
all. Retrieved February 7, 2022 from https://www.iste.org/explore/computational-thinking/
computational-thinking-all
Jocius, R., O’Byrne, W. I., Albert, J., Joshi, D., Robinson, R., & Andrews, A. (2021). Infusing
computational thinking into STEM teaching: From professional development to classroom
practice. Educational Technology & Society, 24(4), 166–179.
Selby, C., & Woollard, J. (2013). Computational thinking: The developing definition. In ITiCSE
conference 2013.
Sengupta, P., Kinnebrew, J. S., Basu, S., Biswas, G., & Clark, D. (2013). Integrating computational
thinking with K-12 science education using agent-based computation: A theoretical frame-
work. Education and Information Technologies, 18, 351–380.
Van der Linde, D., Voogt, J., & Van Aar, N. (2021). Computational Thinking skills of young
children working on a programming task. Journal of Computers in Mathematics and Science
Teaching, 40(4), 357–376. https://www.learntechlib.org/p/215691/
Voogt, J., Brand-Gruwel, S., & Van Strien, J. (2017). Effecten van programmeeronderwijs op com-
putational thinking. Reviewstudie [Effects of programming education on computational think-
22 Computational Thinking in Pre-vocational Education: A Focus on Coding Unplugged 341
ing, review study]. Open Universiteit, Windesheim, Universiteit van Amsterdam. https://www.
nro.nl/wp-content/uploads/2017/05/003-Ant-woord-Rapport-Programmeeronderwijs.pdf
Willems, E., & De Grip, A. (1995). Jongeren en techniek: Waardering, beeldvorming en studie-
en beroepskeuze [Young people and technology: Appreciation, image and study and career
choice]. Mens en Maatschappij, 70, 1. https://ugp.rug.nl/MenM/article/view/18411/15884
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://
doi.org/10.1145/1118178.1118215
Wolz, U., Stone, M., Pearson, K., Pulimood, S., & Switzer, M. (2011). Computational thinking and
expository writing in the middle school. ACM Transactions on Computing Education, 11(2),
article 9.
Yadav, A., Hong, H., & Stephenson, C. (2016). Computational thinking for all: Pedagogical
approaches to embedding a 21st century problem solving in K-12 classrooms. TechTrends, 60,
565–568. https://doi.org/10.1007/s11528-016-0087-7
Yadav, A., Sands, P., Good, J., & Lishinki, A. (2018). Computer science and computational
thinking in the curriculum: Research and practice. In J. Voogt, G. Knezek, R. Christensen,
& K.-W. Lai (Eds.), Second handbook of information technology in primary and second-
ary education (pp. 89–106). Springer International Handbooks of Education. https://doi.
org/10.1007/978-3-319-71054-9_6
Chapter 23
A Case of Girls Building Robots or Robots
Building the Girls?
23.1 Introduction
Visit any website of a private all-girl secondary school in Australia, and inevitably
attention might be drawn to one of a number of catchphrases or marketing expres-
sions that advocate the benefits offered by the school, such as ‘Empowering girls to
become confident, capable young women’, ‘[Your daughter] leaves school with the
skills, knowledge and values necessary to be a world-ready woman’ or ‘We use our
expertise in girls’ education to support them in reaching their full potential’.
Generally, these are marketing slogans used to accompany the illustration of girls
using some form of technology, whether it be a LEGO® robot or a girl working on
a computer undertaking programming or using a mobile device. However, what do
these slogans really mean? For instance, confidence and capability in what? Skills,
knowledge and values in what? Full potential in what? What is really being nur-
tured and advocated by these agents of change which schools are? Leadership
skills? STEM skills? If STEM skills, then what specifically? Computational think-
ing, design thinking and/or systems thinking skills? The marketing slogans and pic-
tures paint an image that the schools are technology rich and all students attending
these schools will be STEM literate. However, sometimes and anecdotally from our
experiences, these opportunities are far and few amongst them.
Computer science has one of the largest gender disparities in STEM (Deloitte
Access Economics, 2021; Keane et al., 2021; Master et al., 2016; Molnar et al.,
2021; Stockdale & Keane, 2016). The underrepresentation of girls in STEM has
been an ongoing problem for many decades. There are many theories as to why girls
do not study computing or chose not to enter the profession, due to the non-appealing
nature of the subject at hand or unattractiveness of the computing industry. Increasing
discourse around the gender imbalance in the STEM fields has contributed to an
increased research focus to uncover the factors behind this disparity between male
and female enrolments and career pursuits. On a positive note, these disheartening
statistics have also led to concerted efforts to address the gender imbalance.
The age of gender disparity has been identified at approximately 12 years of age,
where there are gender imbalances in mathematics, science and technology (Sáinz
& Eccles, 2012). This coincides with students commencing their secondary school-
ing. Gender disparity in computing is not confined or isolated to one continent, but
on a global level; it is widespread across many continents – North America, Europe
and Australia (Keane, 2019).
Careers in computing have often been perceived as a masculine career that is
associated with a high level of mathematical competence, low levels of social skills
and individual working conditions (Ensmenger, 2015; von Hellens & Nielsen,
2001). When this is combined with the absence of female role models and mentors,
it is hardly surprising that females do not choose these fields of study (Keane, 2019).
The lack of strong female leadership as visionaries sends a strong message to young
girls that computing is not a domain for them.
It has been long argued that interventions are required to change girls’ beliefs
and challenge the stereotypes about the nature of computing and the misconceptions
about what the computing profession entails (Vekiri, 2010). A proliferation of
STEM courses, interventions and programs have been developed and continue to be
developed as the gender imbalance shows no real meaningful change. For instance,
the Coding4Girls project in Europe engages young girls (aged 10–16) in solving
real-world problems using the block programming platform Snap! (Holenko Dlab
& Hoic-Bozic, 2021). In the USA, Black Girls Code creates career pathways for
underrepresented communities through programs that teach coding and robotics, as
well as developing leadership skills for girls aged 7–17 (Hulick, 2018). There are
many interventions targeting STEM and particularly girls, but it is unclear as to
whether they are effective (Keane et al., 2021). One such intervention, the Melbourne
RoboCats, an all-girl secondary school robotics program, was developed to provide
students with opportunities to engage in STEM in a controlled environment with
support from industry, university and highly specialised volunteers.
346 M. Cerovac and T. Keane
The RoboCats initiative commenced in 2014 with a vision to bring together girls
from different secondary schools to build an industrial robot with the assistance of
university students and industry professionals such as computer programmers and
engineers. It operated through a co-curricular program run outside of school on
weekends and intensively during the summer school holidays. The girls had no prior
programming or robotics knowledge and were taught with skills through monthly
workshops, such as Arduino programming, electronic circuit construction and
building mechanical systems, such as trebuchets (catapults) and go-karts. The girls
were gradually introduced to concepts relating to robot building and programming
through fun team building activities. Once the girls started to work collaboratively
and the industry and university mentors believed that they were ready, the students
were enrolled to participate in the global FIRST® Robotics Competition (FRC),
which requires teams to build an industrial robot during an intense, six-week robot
build season throughout January and February.
23.2.1 Context
A multipronged approach was used to recruit girls and mentors to the RoboCats
program. This included strategic advertising via Subject Associations, presentations
at conferences and specialist interest groups (primarily mentor recruitment). The
two co-founders of the RoboCats met extensively with many people to form net-
works and contacts to ensure that the program was heavily promoted. Schools were
also strategically targeted, in particular, those schools that had previously engaged
with Swinburne University in co-curricular student programs and/or teacher profes-
sional development workshops. At the end of the first year of competing in the FRC
(in 2015), further opportunities were presented to the team to share their objectives
in providing a safe and supportive environment for girls to engage with coding.
These included showcasing their robot at the university’s Open Day (an event that
promotes the university to the public and prospective students), at school assemblies
at various schools, and at mentors’ work workplaces. Word of mouth was also
important in recruiting both girls and mentors to the RoboCats program.
FIRST®, which stands for For Inspiration and Recognition of Science and
Technology, was founded in 1989 to inspire young people’s interest and participa-
tion in the STEM disciplines. FIRST® designs accessible, innovative programs that
23 A Case of Girls Building Robots or Robots Building the Girls? 347
Fig. 23.1 (a) Close-up view of Aloysius, the RoboCats’ robot for the 2017 Steamworks challenge
season; (b) The RoboCats (in purple) at their driver station with their two alliance partners, as part
of the three-team ‘red’ alliance
348 M. Cerovac and T. Keane
The RoboCats were established in late 2014 and competed for the first time in the
2015 Recycle Rush challenge season, with six girls from four schools, supported by
five mentors across industry and university. Five years later, these numbers had
increased to 25 girls from 12 schools, supported by a similar number of mentors,
across a diverse group of industries which included aerospace, automotive, biosci-
ences and manufacturing industries. The team relied heavily on the support of the
university mentors, who were predominantly undertaking engineering and com-
puter science courses, as work commitments were not a significant barrier to their
participation.
One of the unique philosophies of the RoboCats team was its inclusiveness, with
everyone having an opportunity to engage in all facets of the program, whether it
was coding, CAD modelling, electronics or working on the robot’s mechanical sub-
systems. As a senior student member Laura commented:
We share the workload, and we take turns on the drive team so that everyone feels included
and can have a go. Some of the more competitive teams keep the same people on the drive
team, but we like to make sure that everyone in our team feels they are contributing.
As is often heard around FRC tournaments, this program is not a matter of students
building robots but quite the opposite, of the robots who are helping to build the
students; and the RoboCats have fully embraced this adage. As part of this ‘building
of students’ are the key skills that they will require for those jobs of the future. Skills
such as creativity, critical thinking, communication and collaboration will continue
to be demanded in the current and rapidly growing digital economy, and as the lead
mentor Sophie reminds us:
In a digital economy, it is important to include all members of society. Providing young
girls with positive experiences in the STEM subject areas is important so that they can see
the applicability of the skills learnt and apply it to authentic real-world problems.
23 A Case of Girls Building Robots or Robots Building the Girls? 349
One of the fundamental goals for developing the RoboCats initiative was to provide
relevant knowledge and experience for the girls in a STEM context outside of the
school environment. The informal setting in a university was the home to this initia-
tive and allowed for the girls to develop themselves without stereotypes being
enforced or adhered to. Gender stereotypes are reinforced in senior secondary
schools with boys dominating the senior computing courses based on enrolment
numbers alone; and that is on the assumption that the school offers these subjects.
Insufficient student numbers typically don’t warrant a school investing limited
resources into running an unpopular subject.
All-girl secondary schools are arguably, unknowingly and unintentionally con-
tributing to this gender stereotype. This argument is offered based on an analysis of
schools’ web profiles and specifically their Year 12 (final year of secondary school)
subject offerings. An analysis of the subjects offered by the top 30 all-girl secondary
schools in Victoria (Better, 2022) revealed that more than half of these schools did
not offer computing in the final year of secondary school to its students. These sub-
jects are elective units, and therefore they are offered based on demand. While the
30 all-girl secondary schools were a relatively small sample, nevertheless it does
raise the question of whether schools (in general) are doing their part to inspire
female students to engage with senior computing subjects beyond Year 10.
While schools provide a host of other opportunities for girls to develop leader-
ship capabilities, such as the Duke of Edinburgh’s International Award program and
Youth in Philanthropy, with a predominantly social justice impact, the opportunities
to gain a window into the male-dominated disciplines of STEM are still limited.
This was the overarching reason behind establishing a senior all-girl secondary
school robotics team, the positive impact of which can be discerned from senior
student Ellie’s reflection of her experience, where she was able to transfer the
knowledge and skills she had developed back into her studies: ‘I love it that the boys
come to me for help in Physics’.
By providing a safe, supportive and fun environment, the objective was to re-
imagine the possibilities through the eyes of the young girls, pathways into a
rewarding career in STEM, in particular software engineering. The presence of
female role models from industry and university reinforced the rewarding opportu-
nities available to the girls.
350 M. Cerovac and T. Keane
As with other aspects of the FRC, there were constraints in place on hardware and
software. Each team was limited to one of three main programming environments:
LabVIEW, Java or C++. The choice of language to use was often a passionate debate
within and between FRC teams around the world. In the case of the RoboCats, the
girls were often, but more so in their first year competing, happy to be told what to
do. As their confidence in coding and building improved, they were increasingly tak-
ing on greater challenges and risks with their designs, strategies and program codes.
In their first year of competing, the girls focused on using the LabVIEW pro-
gramming language. As the girls had very limited to no prior experience of coding,
LabVIEW was considered the best fit given its graphical nature. This shared some
similarities to block-based programming environments which would be less chal-
lenging for novice computer programmers (Xu et al., 2019). Battling syntax errors
can be frustrating for some students and potentially be enough of a negative experi-
ence to dissuade them from pursuing further studies. However, as LabVIEW is a
graphical dataflow language, syntax was enforced by the nature of the data flowing
into and out of nodes, as shown in a sample LabVIEW code in Fig. 23.2. In essence,
syntax errors were nonexistent, with the most common error made by the girls when
they forgot to connect a wire.
Other benefits of using LabVIEW included the ability of the girls to create a
block diagram on the Interactive Whiteboard as part of a brainstorming session
which was directly converted into a LabVIEW program and uploaded to the robot’s
controller instantaneously. There was no need to convert or translate the diagram
into an abstract text-based code. In essence, the girls could map their ideas directly
into code. This enabled a coding environment which allowed more effective com-
munication and collaboration between the students. As the girls did not necessarily
have a programming background, they relied heavily on their industry mentors to
assist with the programming aspect of building the robot.
As with other FRC teams around the world, the most important factor in select-
ing a programming language was the expertise within the team, which typically
resided with the mentors. In their second year of competing, additional experienced
mentors provided the much-needed expertise to code in Java. The girls were guided
Fig. 23.2 Sample LabVIEW code showing the data flowing into/out of nodes
23 A Case of Girls Building Robots or Robots Building the Girls? 351
by their new industry mentor Jess, a senior software engineer from a high-tech bio-
medical company, who transitioned the team to the text-based Java programming
language, as part of the girls’ ongoing skills development. There was nothing about
any of the three languages (LabVIEW, Java, C++) that made one better or worse
than the other. Though as one of the university mentors stated: ‘Java is a must for
anyone interested in working as a software engineer’.
23.3.2 Robot Controller
Each FRC robot contained at a minimum, a wireless radio and robot controller,
known as the roboRIO. These two key components, along with some of their impor-
tant technical specifications, are shown in Fig. 23.3. The radio, which is connected
to the roboRIO via an ethernet cable, communicated wirelessly with the girls’ lap-
top through the Driver Station software. The Driver Station software sent data to,
and received data from, the robot. This introduced the girls to the concept of net-
working. Rather than drawing network diagrams in a school classroom, the girls
were physically connecting the hardware components together and uploading the
latest firmware.
The IP addresses for the radio, roboRIO and the Driver Station (see Fig. 23.4)
were configured to identify each robot on the playing field, based on each team’s
Fig. 23.4 The Driver Station software installed on the team’s laptop
unique number. For the RoboCats, also known as Team 5648, the following IP
addresses were assigned:
• Wireless radio: 10.56.48.1
• RoboRIO: 10.56.48.2
• Driver Station: 10.56.48.5
On the game-playing field with five other robots, this ensured that each team con-
trolled only their own robot. Inevitably, technical problems would arise on the field
which required trouble shooting skills. This experience assisted the girls to develop
a sound understanding of networking to support their programming skills such as
assigning static IP addresses, analysing bandwidth issues caused by excessive data
transmission and using the ‘ping’ command to test connectivity issues with a device
(e.g. radio, roboRIO).
assigned a negative value. In the example given, all four motors are run at half their
speed, hence a value of 0.5.
Developing robot code for the autonomous period was one of the most challeng-
ing and apprehensive stages of coding for the students. During the 15-second auton-
omous period, each robot operated on the game field only on pre-programmed
instructions. The students had no active control of their robot. This autonomous
period was significant for each team, as additional match and bonus points were
available to the alliance, depending upon what the robots achieved during this
15-second timeframe.
For the girls, who were progressively building their knowledge and skills in pro-
gramming, the emphasis was on writing code that could be trusted to do what was
expected. Simplicity and robustness were a feature in their design and the coding of
the robot’s attachments. In autonomous mode, the team would code the motor con-
trollers to reduce the power being supplied to the drive motors to improve the preci-
sion movement of their robot. An example segment of the girls’ code shows the
simplicity of their programming in the early stages of their coding development,
shown in Fig. 23.7. In autonomous mode, their robot would cross the field baseline
to deliver a gear as part of the bonus points available; at 20% power, this would take
no more than 5 seconds before the robot stopped and awaited transition to teleoper-
ated mode.
354 M. Cerovac and T. Keane
The mentors continued to provide support and guidance, which was reflected in
the increasing complexity of their Java code. Incorporating limit switches to assist
with a climbing mechanism reduced the risk of damage to the robot; pneumatics
allowed for a more flexible approach for the delivery of game elements; and encod-
ers allowed the team to determine more accurately the distance travelled by the
robot. With the start of a new year and a new FRC challenge season, the girls
endeavoured to stretch their programming skills and engineering capabilities. Often,
this involved incorporating new mechanisms or new components, such as a vision
system for detecting game elements on the field, limit switches and geared motors
for controlled climbing. These changes required a more sophisticated understanding
of the robot coding. These were just a number of examples which demonstrated the
gain in programming proficiency of the students and their growth through their
annual participation in the FRC.
23.4 Discussion
Encouraging more students, in particular girls, to engage with the STEM subjects in
secondary schools has been an area of ongoing concern, despite all the rhetoric
emanating from government and business leaders. While the introduction of the
compulsory Digital Technologies curriculum across Australia was seen as one coor-
dinated approach to promoting greater uptake of the STEM subjects beyond Year
10, the lack of students undertaking senior computing in their final years of second-
ary school or even in university is profound.
Increasing the participation of women in the STEM disciplines will help improve
the diversity of ideas generated, which would go some way to addressing the prob-
lem of ensuring that we remain a prosperous nation through building our capability
to be creative and innovative thinkers. The success of the RoboCats program, which
was built upon providing girls from all demographics free access to a safe and inclu-
sive environment at no cost to the students, afforded the development of knowledge
23 A Case of Girls Building Robots or Robots Building the Girls? 355
and skills that were not otherwise likely in the classroom. As Year 10 student mem-
ber Maya reflects: ‘You can sit in a classroom and learn from a book, but we learn
things they don’t teach in classrooms’. This point was reinforced by Charlotte, who
remarked: ‘What I learned with the RoboCats I found I could apply back to school.
But the opposite wasn’t true. I found it difficult to connect what I learned in the
classroom to the real world’.
Maya’s and Charlotte’s thoughts were significant as they drew attention to the
importance of providing students with authentic hands-on applied learning opportu-
nities. With the guidance of their mentors, the girls not only developed their knowl-
edge of coding in Java, but they also developed a methodical approach to debugging
and problem-solving. They could ping their robot’s radio or roboRIO, read the logs
from their Driver Station software to identify bottlenecks in data transmission and
identify and disable network adapters interfering with their wireless robot connec-
tions. They also appreciated and valued that the code they developed did not have to
be complex; in essence, a problem could be addressed either through a hardware
solution or simple software solution. For one of the founding student members
Sienna, the effect of the RoboCats program could be succinctly summed up as fol-
lows: ‘Coding a robot was the coolest thing I’ve ever done!’
Seeing the relationships being formed within and between the girls was impor-
tant for ensuring that they supported one another, through their skills and knowl-
edge development, helping build confidence in each other, especially on those
occasions where the robot didn’t work as expected on the robot field. These rela-
tionships were complemented by those between the girls and their mentors.
The industry mentors who worked alongside the girls provided valuable first-
hand STEM insights. For example, during the first day of the program’s build sea-
son, industry mentor Luisa (an advanced driver systems engineer) would run a
daylong ideation session with the girls. The girls soon realised that generating ideas
was only one part of a much larger process. Sharing and communicating ideas and
seeing a problem and solution from another team member’s perspective were invalu-
able skills and abilities that extended beyond the process of building and program-
ming a game-playing robot. The girls learnt to select a preferred design and develop
it further to a proof of concept. These insights were further developed throughout
the team’s build season and during the workshops that ran throughout the year, fre-
quently hosted by the industry mentors. More recently, and with the encouragement
of the industry mentors, the senior student members were assuming some of these
key responsibilities, such as running the ideation sessions.
Mentoring is one potential strategy for engaging more students in STEM and, in
particular, helping improve the diversity in STEM among underrepresented groups
(Kricorian et al., 2020). Having female role models, especially software engineers,
has the potential to reverse the gender roles that form in childhood, largely based on
their exposure to media and popular culture (Olsson & Martiny, 2018). The female
mentors encouraged the girls to reimagine the possibilities, which the girls fully
embraced. For example, one week they could be a software programmer, and the
next week they are an engineer working on re-designing a lift mechanism.
356 M. Cerovac and T. Keane
The ultimate objective is to address the ongoing gender disparity not only in
schools but in tertiary and work settings. As university mentor Winnie noted, ‘While
some progress has been made, STEM fields are still largely dominated by men’.
This is something that she experiences first hand, often being one of the only girls
in her classes. As she continues: ‘I look around in my lectures, and I don’t see
many girls’.
Marcelle, a university student studying to become a schoolteacher, lending her
hand to the team makes the following valid point around the lack of girls in comput-
ing and engineering classes: ‘This shouldn’t deter girls from choosing to study a
STEM field’. Marcelle offers the following advice to girls:
Talk about your interests with your parents and your teachers so they can help you seek out
related opportunities. I also think many young girls are afraid of being the only girl partici-
pating in an activity, but they shouldn’t be. Just give it a go!
Irrespective of whether the girls pursued a tertiary and/or career pathway in STEM,
the girls left the program having gained confidence in their own capabilities and
knowledge and skills that would occasionally arise in the least expected places.
Once such example was experienced by founding student member Natalie, who
recently completed her Honours Degree in Biomedical Science. As Natalie explained:
As part of my research project on malaria, I was surprised when my supervisor told me that
I needed to learn to program in R. R was a commonly used programming language in my
lab; used for data analysis and creating data visualizations. Programming was not some-
thing that I had planned on doing beyond my involvement with the RoboCats. But the
RoboCats experience taught me a couple of important lessons. Be confident in yourself and
never underestimate your own abilities; success will then naturally follow from persever-
ance and patience.
23.4.1 Supporting Resources
The depth of knowledge and skills that the girls have acquired since their first com-
petition event in 2015 is evident with the unveiling of their 2020 robot Luna. In front
of their families, teachers, sponsors and mentors, the girls showcased their engi-
neering and coding achievements, captured in the following brief video:
https://www.youtube.com/watch?v=bRCxcSj04Yc&t=49s
Building robots is one small aspect of the RoboCats program. In the following
short video prepared by the girls for a significant award submission, the girls pro-
vide a deeper insight into the impact that the program has had, and continues to
have, on them:
https://www.youtube.com/watch?v=lFWUoC3nHLY
Additional information on the FRC program can be accessed via the FIRST®
web portal:
23 A Case of Girls Building Robots or Robots Building the Girls? 357
https://www.firstinspires.org/robotics/frc
More than Robots. March 2022. Documentary. https://disneyplusoriginals.dis-
ney.com/movie/more-than-robots
23.5 Conclusion
References
Better Education. (2022). VCE school ranking – 2021. Retrieved from https://bettereducation.com.
au/results/vce.aspx
Burguillo, J. C. (2010). Using game theory and competition-based learning to stimulate stu-
dent motivation and performance. Computers & Education, 55(2), 566–575. https://doi.
org/10.1016/j.compedu.2010.02.018
de Carvalho, C. V., Cerar, Š., Rugelj, J., Tsalapatas, H., & Heidmann, O. (2020). Addressing the
gender gap in computer programming through the design and development of serious games.
IEEE Revista Iberoamericana de Tecnologias del Aprendizaje, 15(3), 242–251. https://doi.
org/10.1109/RITA.2020.3008127
Deloitte Access Economics. (2021). ACS Australia’s digital pulse future directions for
Australia’s technology workforce. Retrieved from Australia: https://www2.deloitte.com/
358 M. Cerovac and T. Keane
content/dam/Deloitte/au/Documents/Economics/deloitte-au-economics-australias-digital-
pulse-2021-160621.pdf
Ensmenger, N. (2015). “Beards, sandals, and other signs of rugged individualism”: Masculine
culture within the computing professions. Osiris, 30(1), 38–65. https://doi.org/10.1086/682955
Holenko Dlab, M., & Hoic-Bozic, N. (2021). Effectiveness of game development-based learn-
ing for acquiring programming skills in lower secondary education in Croatia. Education and
Information Technologies, 26(4), 4433–4456. https://doi.org/10.1007/s10639-021-10471-w
Howard, S., & Crotty, Y. (2017). The potential of an interactive game-based software to motivate
high-achieving maths students at primary school level. Electronic Journal of Mathematics &
Technology, 11(2), 112–127.
Hulick, K. (2018). Kimberly Bryant: Founder of black girls code. Cavendish Square Publishing.
Keane, T. (2019). Underrepresentation of girls in computing. In A. Tatnall (Ed.), Encyclopedia
of Education and Information Technologies (pp. 1–5). Springer. https://doi.org/10.1007/978-
3-319-60013-0_168-1
Keane, T., Linden, T., & Snead, S. (2022). Engaging primary girls in STEM: Best practice imple-
mentation, innovations, and gaps in Victorian classrooms.. Retrieved from https://apo.org.au/
node/316305
Keane, T., Molnar, A., & Stockdale, R. (2021). Identifying Australian high school intervention
programs that influence 1st year female students to choose ICT degrees. Retrieved from
Melbourne: https://doi.org/10.26185/1bzv-wt66
Kricorian, K., Seu, M., Lopez, D., Ureta, E., & Equils, O. (2020). Factors influencing participation
of underrepresented students in STEM fields: Matched mentors and mindsets. International
Journal of STEM Education, 7(1), 1–9. https://doi.org/10.1186/s40594-020-00219-2
Master, A., Cheryan, S., & Meltzoff, A. N. (2016). Computing whether she belongs: Stereotypes
undermine girls’ interest and sense of belonging in computer science. Journal of Educational
Psychology, 108(3), 424–437. https://doi.org/10.1037/edu0000061
Molnar, A., Keane, T., & Stockdale, R. (2021). Educational interventions and female enrolment
in IT degrees. Communications of the ACM, 64(3), 73–77. https://doi.org/10.1145/3387106
Olsson, M., & Martiny, S. E. (2018). Does exposure to counterstereotypical role models influence
girls’ and women’s gender stereotypes and career choices? A review of social psychological
research. Frontiers in Psychology, 9(2264), 1–15. https://doi.org/10.3389/fpsyg.2018.02264
Sáinz, M., & Eccles, J. (2012). Self-concept of computer and math ability: Gender implications
across time and within ICT studies. Journal of Vocational Behavior, 80(2), 486–499. https://
doi.org/10.1016/j.jvb.2011.08.005
Stockdale, R., & Keane, T. (2016). Influencing the influencers: The role of mothers in IT career
choices. Journal of Information Technology Education: Innovations in Practice, 15, 181–194.
https://doi.org/10.28945/3624
Tobar-Muñoz, H., Baldiris, S., & Fabregat, R. (2017). Augmented reality game-based learning:
Enriching students’ experience during reading comprehension activities. Journal of Educational
Computing Research, 55(7), 901–936. https://doi.org/10.1177/0735633116689789
Vekiri, I. (2010). Boys’ and girls’ ICT beliefs: Do teachers matter? Computers & Education, 55(1),
16–23. https://doi.org/10.1016/j.compedu.2009.11.013
von Hellens, L., & Nielsen, S. (2001). Australian women in IT0. Communications of the ACM,
44(7), 46–52. https://doi.org/10.1145/379300.379310
Wilczynski, V., & Slezycki, S. (2015). FIRST robots: Behind the design. FIRST.
Xu, Z., Ritzhaupt, A. D., Tian, F., & Umapathy, K. (2019). Block-based versus text-based program-
ming environments on novice student learning outcomes: A meta-analysis study. Computer
Science Education, 29(2–3), 177–204. https://doi.org/10.1080/08993408.2019.1565233
Zagami, J., Boden, M., Keane, T., Moreton, B., & Schulz, K. (2015). Girls and computing: Female
participation in computing in schools. Australian Educational Computing, 30(2).
Chapter 24
Applying Hybrid Programming in High
Schools: An Empirical Study Analysing
Teachers’ Opinions
Djordje M. Kadijevich
D. M. Kadijevich (*)
Institute for Educational Research, Belgrade, Serbia
e-mail: djkadijevic@ipi.ac.rs
lines of code as plain text to make a program, visual programming allows them to
make a program through work with blocks representing various instructions.
Figure 24.1 shows how a program that determines the number of times a 6 is got
when a dice is rolled 600 times may look like in Scratch (a visual-based program-
ming language) and Python (a text-based programming language).
Visual programming is done in an environment that enables its users to compose
programs by dragging certain blocks (e.g. a loop block) onto a canvas and snapping
them together (e.g. an if block is placed inside a loop block). For blocks with param-
eters, the values of these parameters need to be set (e.g. the value of variable got
needs to be changed by 1), and programs are ready for execution (hopefully yielding
correct outputs). This kind of programming, whereby programs are produced in an
instruction-by-instruction fashion without encountering syntax errors, has been
found suitable for younger learners at lower educational levels (for more details, see
Weintrop & Wilensky, 2018, for example). Because of that, visual programming has
been applied in formal education in many countries worldwide, usually at the age of
12 (as in Serbia) or before. Also, to motivate students, their first programming
accomplishments are often related to drawing figures and making simple animations.
Despite the evident learning opportunities of visual programming (e.g. focusing
on semantics rather than syntax, using blocks to represent problem-solving steps in
an algorithmic fashion), the learning gains of visual versus textual programming
may be slim for novice programmers (Xu et al., 2019). There may also be a lack of
significant differences between visual and textual introductory programming
approaches regarding students’ achievement in using a professional programming
language later on (Weintrop & Wilensky, 2019). However, practicing visual pro-
gramming before textual programming may result in better understanding of basic
programming concepts and higher levels of motivation and self-efficacy (e.g.
Armoni et al., 2015).
The transition from visual programming to textual programming is being mani-
fested with a considerable increase in the overall complexity of programming.
Kölling et al. (2015) underlined a number of challenging issues in that respect,
many of which are amplified when encountered together. Among issues posing little
or no challenge in visual programming but generating a high challenge in textual
programming, especially for novice programmers, are memorization of commands,
memorization of syntax, typing/spelling issues, grouping program elements and
school and to provide reasons for their answers. To this end, they completed an
online questionnaire that also collected their basic background data, including gen-
der, country region, school type and teaching experience. The study examined the
following research questions:
(1) Whether teachers’ opinions about applying hybrid programming in teaching
programming in high school favoured its use?
(2) Were there any relationships between teachers’ preference for hybrid program-
ming usage and background variables used?
These questions were answered by a sample of high school programming teach-
ers from a number of schools across Serbia.
The next, third section describes the method applied in this study, summarizes its
main findings and discusses them within the research context presented in this sec-
tion. Suggestions for practice and research are given in the final, closing section.
24.3 Empirical Study
24.3.1 Method
available on the Internet, whereby the values of the examined variables were col-
lected. These variables were gender (with values: 1, male; 2, female), region (1,
Belgrade; 2, Eastern and Southern Serbia; 3, Sumadija and Western Serbia; 4,
Vojvodina; this variable was considered by using corresponding dummy variables),
school (1, gymnasium; 2, vocational school), programming experience (1, teaching
programming for more than ten years; 0, otherwise), programming language (for
Python: 1, used; 0, not used; for C or C#: 1, used; 0, not used), hybrid programming
experience (1, used in teaching; 0, otherwise) and hybrid programming usage (1,
should be used in teaching; 0, otherwise). The study also used textual variable rea-
sons that contained the participants’ responses about the reasons why hybrid pro-
gramming should or should not be used in teaching programming in high school.
Programming teachers were invited by the author of this study to participate in this
survey via e-mail, and this invitation was also posted on an online forum of pro-
gramming teachers. The survey was conducted in December 2021.
To answer research question 1, the frequencies of the two values of variable
hybrid programming usage had to be compared, and in the event of a larger differ-
ence, its significance had to be determined by using Pearson’s chi-squared test.
To answer research question 2, correlative analysis concerning the applied variables
was used to signal the relationships among them, if any. To this end, Pearson’s cor-
relation coefficient was determined, and its statistical difference from zero was
examined using the t-test. Note that for dichotomous (binary) variables, these coef-
ficients are equal to those of Kendall or Spearman.
The first research question asked whether teachers’ opinions about applying hybrid
programming in teaching programming in high school favoured its use. It was found
that 20 teachers (52.6%) favoured its application whereas 18 teachers (47.4%) were
against it, and obviously, this difference was not significant statistically (chi-
square = 0.105, df = 1, p = 0.746).
As mentioned above, the study also used textual variable reasons that contained
the participants’ responses about the reasons why hybrid programming should or
should not be used in teaching programming in high school. A detailed examination
of its values showed that the teachers who were against the use of hybrid program-
ming underlined that applying it would be more suitable for lower secondary school
for the following reasons: hybrid programming is not included in the computing
curriculum that is already extensive with insufficient number of hours to cover
intended topics (including web programming and work with databases in final
grades); using blocks does not support a systematic approach to text-based pro-
gramming; classical text-based programming skills could not be developed through
time-consuming work with blocks. Two teachers connected blocks and algorithms:
24 Applying Hybrid Programming in High Schools: An Empirical Study 365
one underlined that using blocks in algorithmization would be more suitable for a
lower educational level, whereas the other remarked that younger high school stu-
dents might not have sufficient algorithmic skills to be able to understand the work
with blocks (students taught by those teachers possibly differed in their program-
ming knowledge and skills considerably).
Teachers who indicated that hybrid programming would be used in high school
teaching were concerned about its positive contribution to students’ interest, moti-
vation and understanding, especially when these key learning components are at
lower levels than needed. In teachers’ remarks, this understanding referred to sev-
eral issues: developing algorithms and programs that implement them; using blocks
to learn the structure of different commands; using blocks to explain how particular
pieces of code function, having a focus on semantics rather than syntax; and using
visual technology (with which new generation is quite familiar!) to introduce cod-
ing bearing in mind that in introductory programming courses, the visual flow of a
program is much important than coding. There is no doubt that those teachers were
aware of the possible learning benefits of hybrid programming in those courses
(they usually underlined one or two such benefits).
Opponents of the use of hybrid programming did not examine those benefits
when a dual-modality programming environment is used. As a result, they did not
(realize and) acknowledge the scaffolding aspect of visual programming, especially
relevant to less able students, which would ease a number of challenges encountered
in the transition from visual to textual programming (these are described in detail by
Kölling et al., 2015, for example). On the other hand, proponents of the use of
hybrid programming did mention several affordances related to this scaffolding
(although rarely referred to particular challenge(s)) which complement those affor-
dances underlined in the literature (e.g. Noone & Mooney, 2018; Weintrop &
Wilensky, 2018). They also acknowledged the positive contribution of hybrid pro-
gramming in developing students’ interest and motivation, especially for those who
are less interested in programming or less motivated to develop computer pro-
grams – highly relevant to first high school programming courses. Note that in the
invitation to participate in the survey, it was suggested that before responding to the
questions in the questionnaire, teachers could, if needed, familiarize themselves
with work in a hybrid programming environment (hyperlinks to Pencil Code and
Blockly were given) and some of them probably did so. Except for one, all teachers
provided reasons to support their opinions about using or not using hybrid
programming.
24.4 Closing Remarks
As both visual and textual programming have certain learning benefits, combining
them may result in the best possible learning outcomes. To this end, hybrid pro-
gramming may be used, which would make the transition between the two kinds of
programming less challenging. This is because, among other reasons, visual pro-
gramming may be used as a scaffolding support of textual programming. This
empirical study showed that while the opponents of hybrid programming usage did
not (realize and) acknowledge the scaffolding aspect of visual programming, its
proponents mentioned several affordances related to this scaffolding, but they rarely
examined them in terms of particular challenges of the transition. Teacher education
and professional development need to make teachers aware of those challenges and
possible ways to alleviate them through hybrid programming. An important issue is
related to connecting visual blocks and steps in algorithms. To benefit from this
work, students need to be mature to be able to reason algorithmically, which may
not be possible before the age of 14 or 15 for most students.
Apart from studying the challenges and ways mentioned above in the context of
teacher education and professional development, research may uncover key factors
that influence hybrid programming usage. This study showed that this usage might
be influenced by hybrid programming experience, text-based programming
368 D. M. Kadijevich
languages applied and country region. Teachers should be thus encouraged to gain
experience with hybrid programming provided that there are hybrid programming
environments for text-based programming languages they apply that are suitable for
topics they need to cover in their teaching; mostly relevant to first high school pro-
gramming courses. The role of country region should not be overlooked. As under-
lined above, it is the country region in which teacher education and professional
development primarily take place, and specific region(s) might or might not provide
teacher education or professional development that make use of recent promising
developments in the field.
Bearing in mind the findings of this study, further research may use a larger
group of programming teachers from particular regions to investigate in more detail
the actual use of hybrid programming in the classroom with respect to teachers’
diverse experience in doing that and specific programming languages they apply to
this end. Because applying both visual and textual programming would increase
cognitive complexity in general, further research may also investigate in what ways
the use of specific hybrid programming environment (e.g. Blockly) could reduce
cognitive load and what factors might contribute to that reduction.
Acknowledgements The author wishes to thank all teachers who participated in this study. This
contribution resulted from his research financed by the Ministry of Education, Science and
Technological Development of the Republic of Serbia (Contract No. 451-03-68/2022-14/200018).
The author dedicates the contribution to his son Aleksandar.
References
Armoni, M., Meerbaum-Salant, O., & Ben-Ari, M. (2015). From scratch to “real” program-
ming. ACM Transactions on Computing Education, 14(4) Article 25, 1–15. https://doi.
org/10.1145/2677087
Bock, A. C., & Frank, U. (2021). Low-code platform. Business & Information Systems
Engineering, 63, 733–740. https://doi.org/10.1007/s12599-021-00726-8
Cheung, J. C., Ngai, G., Chan, S. C., & Lau, W. W. (2009). Filling the gap in programming instruc-
tion: A text-enhanced graphical programming environment for junior high students. ACM
SIGCSE Bulletin, 41, 276–280. https://doi.org/10.1145/1539024.1508968
European Training Foundation (ETF). (2020). Kontinuirano stručno usavršavanje za nastavnike
stručnih predmeta i direktore u Srbiji 2018. [Continuous professional development for teachers
of vocational subjects and school principals in Serbia 2018]. Turin, Italy: The Author. https://
openspace.etf.europa.eu/sites/default/files/2020-01/Serbia%20CPD%20survey%202018_SR_
final.pdf
Hair, J. F., Hult, G. T. M., Ringle, C. M., Sarstedt, M., Danks, N. P., & Ray, S. (2021). An intro-
duction to structural equation modeling. In J. F. Hair et al. (Eds.), Partial least squares struc-
tural equation modeling (PLS-SEM) Using R. A workbook (pp. 1–29). Springer. https://doi.
org/10.1007/978-3-030-80519-7_1
Hair, J. F., Ringle, C. M., Gudergan, S. P., Fischer, A., Nitzl, C., & Menictas, C. (2019). Partial
least squares structural equation modeling-based discrete choice modeling: An illustration
in modeling retailer choice. Business Research, 12(1), 115–142. https://doi.org/10.1007/
s40685-018-0072-4
24 Applying Hybrid Programming in High Schools: An Empirical Study 369
Hofuku, Y., Cho, S., Nishida, T., & Kanemune, S. (2013). Why is programming difficult? Proposal
for learning programming in “small steps” and a prototype tool for detecting “gap”. In
I. Diethelm, J. Arndt, M. Dnnebier, & J. Syrbe (Eds.), Informatics in schools: Local proceedings
of the 6th international conference ISSEP 2013 selected papers (pp. 13–24). Universittsverlag
Potsdam.
Hubwieser, P. (2008). A smooth way towards object-oriented programming in secondary schools.
In D. Benzie & M. Iding (Eds.), Informatics, mathematics and ICT: A golden triangle. IFIP WG
3.1 & 3.5 working conference CD proceedings. IFIP & College of Computer and Information
Science, Northeastern University Boston.
Hsu, W.-C., & Gainsburg, J. (2021). Hybrid and non-hybrid block-based programming languages
in an introductory college computer-science course. Journal of Educational Computing
Research, 59(5), 817–843. https://doi.org/10.1177/0735633120985108
Kadijevich, D. M. (2021). First programming course in business studies: Content, approach, and
achievement. In E. Barendsen & C. Chytas (Eds.), informatics in schools. Rethinking com-
puting education. ISSEP 2021. Lecture Notes in Computer Science, 1305, 45–56. https://doi.
org/10.1007/978-3-030-90228-5_4
Kölling, M., Brown, N. C. C., & Altadmri, A. (2015). Frame-based editing: Easing the tran-
sition from blocks to text-based programming. In WiPSCE 15: Proceedings of the
Workshop in Primary and Secondary Computing Education (pp. 29–38). ACM. https://doi.
org/10.1145/2818314.2818331
Lahtinen, E., Ala-Mutka, K., & Jrvinen, H.-M. (2005). A study of the difficulties of novice
programmers. In Proceedings of the 10th annual SIGCSE conference on Innovation and
Technology in Computer Science Education (ITiCSE’05) (pp. 14–18). ACM. https://doi.
org/10.1145/1067445.1067453
Menounou, G., Pantelopoulou, S., Karaliopoulou, M., & Kanidis, E. (2019). Students’ percep-
tions on using a dual modality environment. European Journal of Engineering and Technology
Research, CIE. (Apr. 2019), 19–27. https://doi.org/10.24018/ejeng.2019.0.CIE.1292
Ministry of Education, Science and Technological Development (MESTD). (2020). Pravilnik o
planu i programu nastave i učenja za gimnaziju [The rule book about the curriculum and teach-
ing program for gymnasium]. Official Gazette of the Republic of Serbia – Educational Gazette,
No. 4/2020.
Noone, M., & Mooney, A. (2018). Visual and textual programming languages: A systematic review
of the literature. Journal of Computers in Education, 5(2), 149–174. https://doi.org/10.1007/
s40692-018-0101-5
Noone, M., Mooney, A., & Nolan, K. (2020). Hybrid Java: The creation of a hybrid programming
environment. Irish Journal of Technology Enhanced Learning, 5(1). https://doi.org/10.22554/
ijtel.v5i1.67
Ringle, C. M., Wende, S., & Becker, J.-M. (2015). SmartPLS 3. SmartPLS GmbH. http://www.
smartpls.com/
Stechert, P., & Vukovic, G. (2022). Hybrid VR programming – Extending the notional machine for
C++. In A. Fluck & T. Keane (Eds.), Teaching coding in K-12 schools – Research and applica-
tion. Springer.
Statistical Office of the Republic of Serbia (SORS). (2022). Regionalni bruto domaći proizvod:
Regioni i oblasti Republike Srbije, 2020 [Regional gross domestic product: Regions and areas
of the Republic of Serbia, 2020]. Working Paper, LVIII, 119. https://publikacije.stat.gov.rs/
G2022/Pdf/G202210119.pdf
Swidan, A., Hermans, F., & Smit, M. (2018). Programming misconceptions for school students. In
ICER’18: 2018 International Computing Education Research Conference. ACM. https://doi.
org/10.1145/3230977.3230995. (August 13–15, 2018, Espoo, Finland).
Tóth, T., & Lovászová, G. (2021). Mediation of knowledge transfer in the transition from visual
to textual programming. Informatics in Education, 20(3), 489–511. https://doi.org/10.15388/
infedu.2021.20
370 D. M. Kadijevich
Unal, A., & Topu, F. B. (2021). Effects of teaching a computer programming language via hybrid
interface on anxiety, cognitive load level and achievement of high school students. Education
and Information Technologies, 26, 5291–5309. https://doi.org/10.1007/s10639-021-10536-w
Weintrop, D., & Wilensky, U. (2018). How block-based, text-based, and hybrid block/text modali-
ties shape novice programming practices. International Journal of Child-Computer Interaction,
17, 83–92. https://doi.org/10.1016/j.ijcci.2018.04.005
Weintrop, D., & Wilensky, U. (2019). Transitioning from introductory block-based and text-based
environments to professional programming languages in high school computer science class-
rooms. Computers & Education, 142, 103646. https://doi.org/10.1016/j.compedu.2019.103646
Xu, Z., Ritzhaupt, A. D., Tian, F., & Umapathy, K. (2019). Block-based versus text-based program-
ming environments on novice student learning outcomes: A meta-analysis study. Computer
Science Education, 29(2–3), 177204. https://doi.org/10.1080/08993408.2019.1565233
Chapter 25
Hybrid VR Programming: Extending
the Notional Machine for C++
In Germany, vocational schools are part of the mandatory school system. After gen-
eral education, students attend vocational schools. Dual vocational education is an
important part of vocational education. It consists of practical training at the com-
pany and theoretical education at (part-time) schools. The curriculum for the profes-
sion of computer specialist is oriented towards the “concept of learning fields”.
Such learning fields describe competencies students should achieve, specific con-
tent students should know, and are based on real-life working processes.
Vocational education is characterized by technical innovations. This also includes
the field of virtual reality (VR) technology. Currently, the revenue of VR and aug-
mented reality (AR) applications is doubling per year: from $30.7 billion in 2021 to
a projected $58.7 billion in 2022 (Statista, 2022). A decisive factor for this increas-
ing spread is the increasing price drop of the required hardware components –
despite the current shortage of graphics cards and chips. While virtual realities have
been used exclusively in the field of medicine, engineering and military technology
in recent decades, the drop in prices now allows them to be used by home users, at
trade fairs and in schools. In the case of the latter, the technology is particularly use-
ful in the field of training. Studies have shown that a positive effect on learning
success can be measured when the learner is virtually and immersive in his respec-
tive working environment and can interact with it. Public institutions such as
schools, for example, could save themselves larger purchases for the workshops and
invest better in 3D models. Imagine that, for example, students who are training in
the automotive sector can work with many different car variants by using VR tech-
nology and are thus always up to date with the latest industry during their training.
To meet this challenge for the field of IT specialist training, we want to develop
a curriculum model to take up the already acquired personal and professional skills
of the trainees in the profession IT specialist and to deepen them regarding the
“development of a virtual reality environment”.
As preliminary work for the programming project, a 3D model of the school was
created with Blender. The task for the learners was to fill the 3D model of their
school with life, that is, the school should be able to be walked through virtually.
There should be a VR mode as well as the 2D/3D mode. In the application menu, it
should still be possible to enter the player size as well as certain controller settings:
Walking and teleportation should be possible as well as locomotion and navigation
via joysticks, gamepad or keyboard. There should be a day and night mode as well
as background music. Within the school, interaction with certain objects should be
possible, for example, play videos in a picture frame, open and close doors and
operate light switches. This requires the insertion of objects such as chairs, tables
and posters, but also knowledge of textures, materials and luminance plays a vital
role. In a previously mentioned virtual room, players will be able to view diverse
windows in which digital projects of students at the school can be seen (“virtual
museum”). In addition, learners should also create 3D images of themselves using
the Kinect camera to create a 3D “Hall of Fame” of the development team in the 3D
world (Fig. 25.1).
which underlines the power of hybrid programming, learners can switch between a
textual and a block-based representation.
25.3 Unreal Engine
For larger and more powerful VR projects, Unity 3D or the Unreal Engine is the first
choice. Compared to Unity, the Unreal Engine, UE for short, offers higher graphical
quality and more flexibility in detail. However, in UE, the programming language is
C++, which is considered difficult to learn (de Raadt & Mannila, 2006). But, for
those who have little programming experience, there are also blueprints. With blue-
prints, you can visually define the behaviour and rules in the virtual world via linked
components and functions. The developers thus receive a graphical interface for real
“code behind” in C++. Code Behind is a technique that allows the GUI to be
accessed via markup languages (HTML, CSS, XAML, etc.) yet be completely sepa-
rated from the code (C#, VB.NET, etc.). This corresponds to the principle of the
separation of data, logic and presentation, which is also important for computer
science lessons.
An important reason for the success of C++ is its extremely high performance and
wide range of applications. C++ is so flexible that it can be used efficiently in almost
any application area. This flexibility is also the biggest hurdle in learning the lan-
guage. The comparatively complex memory management and object addressing is
also extremely exhausting for advanced programmers. Pointers, for example, allow
the programmer to directly access the memory and manipulate it accordingly.
With regard to our learners, an advantage of C++ is its similarity to C#, which
they learned before, more precisely, the syntax and semantics, that is, the formal
rules about the allowed language elements and the associated meaning of the lan-
guage elements. In addition, all known data types, control structures and principles
of C# exist, partly under different names, also in C++. Another help is the develop-
ment environment (IDE) for programming. Both C# and C++ can use the Visual
Studio development environment, which is already familiar to our learners. It is
characterized by its many formatting options, tools for troubleshooting, syntax
highlighting, auto-completion and integrated project management options.
25 Hybrid VR Programming: Extending the Notional Machine for C++ 375
The last and most important aspect to make a positive decision regarding the UE is
the programming language used (C++) and its creative or graphical use. Epic Games
offers developers two ways to develop 2D/3D applications.
Variant 1 First, developers can run a “classic” C++ program by using Visual
Studio with the help of a predefined interface (Fig. 25.3).
Variant 2 In the Unreal universe, there are so-called blueprint functions. They are
represented in the form of building blocks and implemented by connecting lines.
Even if the initially childish sight seems something different, behind the “blueprint
functions” are real C++ functions. More precisely, you can access all existing func-
tions of the UE via blocks without even writing a word in the classic editor
(Fig. 25.4).
1. #include "BasicClasses.h"
2. #include "LightSwitchBoth.h"
3. ALightSwitchBoth::ALightSwitchBoth()
4. {
5. DesiredIntensity = 1500.0f;
6. PointLightA = CreateDefaultSubobject<UPointLightCompo-
nent>(TEXT("PointLigthA"));
7. PointLigthA->Intensity = DesiredIntensity;
8. PointLigthA->IsVisible = true;
9. RootComponent = PointLigthA;
13. SphereA->OnComponentBeginOverlap.AddDynamic(this,
&ALightSwitchBoth::OnOverlapBegin);
14. // notification for when this component overlaps something
15. SphereA->OnComponentEndOverlap.AddDynamic(this,
&ALightSwitchBoth::OnOverlapEnd);
16 // notification for when this component overlaps something
17. }
Figures 25.3 and 25.4 each show a solution for a light source: In both Figures,
OnOverlapBegin can be found (see Fig. 25.3, line 18), which toggles the light
(Fig. 25.3, line 22). In Fig. 25.4, such events are red. The value of the
OnOverlapBegin-event (Fig. 25.4, at the left) flows to SetLigthColor
(blue). Such visual representations as in Fig. 25.4 nowadays are often referred to as
“Low Code”, or even “No Code”, programming. The next section explains the indi-
vidual elements of the blueprints in more detail.
25 Hybrid VR Programming: Extending the Notional Machine for C++ 377
The ability to programme in these two ways makes the Unreal Engine a hybrid pro-
gramming environment. Examples of other hybrid environments outside of profes-
sional programming include Greenfoot 3 and Alice 3. Greenfoot 3 prevents syntax
errors with frames but remains keyboard based. Alice 3 allows learners to convert
their Alice programme to Java to facilitate the transition to textual programming.
We started from the premise that hybrid programming environments also allow
hybrid development so that each mode can be used for what it fits best. To work out
examples for the learners and to compare how problems can be dealt with, the
respective method was our main task.
378 P. Stechert and G. Vukovic
25.4.1 Notional Machines
Unlike other types of text, such as novels or scientific articles, the source code of
computer programmes has a duality of behaviour. Source code is static when it is
written in text editors, but it has dynamic behaviour when it is executed by a com-
puter. This dualism is obvious to experienced programmers but not to novice pro-
grammers (Rosato & Wolber, 2020). A correct understanding of dynamic behaviour
is imperative to writing valid source code, and this skill is particularly difficult for
some students (Rosato & Wolber, 2020).
To understand the behaviour of code at runtime, one must know how a computer
works. Paradoxically, basic knowledge on digital circuits, computer architectures
and assembly language is not taught before such programming courses (Hidalgo-
Céspedes et al., 2016). However, programming languages provide an abstraction of
the real machine. Boulay et al. called this concept a “notional machine” (du Boulay
et al., 1981).
Sorva demands that students need to reason about programmes in terms of what
the programmes mean to the system, to use a programming language reliably (2020,
p. 143): “In the jargon of computing education research, a system’s relevant capa-
bilities are known as its notional machine. A notional machine is not a physical
computer but a model of program execution that can be taught to learners so that
they can reason about program behaviour and write programs that work. Such a
model is important because there is abundant evidence that many learners struggle
to trace programs accurately and commonly harbour misconceptions about various
programming constructs”. It is important that there is not just one notional machine:
each programming language provides a different notional machine. For example, a
C programmer might imagine that the machine has data types and can execute func-
tions, but the actual machine does not have these constructs. A C# programmer
would think that the machine can execute methods polymorphically and that it has
a garbage collector. Fifty-seven examples of notional machines can be found at
GitHub.1 In our understanding, notional machines for programming build on each
other for scaffolding reasons and mesh well. They help to avoid programming
misconceptions.
1
https://notionalmachines.github.io/notional-machines.html
25 Hybrid VR Programming: Extending the Notional Machine for C++ 379
Fig. 25.5 Execution of the “Light”-example using our notional machine. (State after the execution
of 10 lines of code; see Fig. 25.3)
memory allocation, array indexing, conditional statement and pointers and pointer
arithmetic. Their results revealed that these techniques applied to the lecture are
insufficient to help students develop satisfactory mental models of the C++ notional
machine.
Therefore, we designed our own notional machine for programming C++ within
the UE (Fig. 25.5). The notional machine emphasizes sub-routines (functions) to
connect the notional machine with blueprint functions (see next section).
Figure 25.5 shows the execution of the source code shown in Fig. 25.3 using our
notional machine. The notional machine consists of a “Value-Store”, an “Object-
Store”, sub-routines, a programme counter to show the next line to be evaluated and
the evaluation of conditions. Its general structure is inspired by Mühling’s Python-
Computer (2020). With respect to blueprint functions, we added the evaluation of
sub-routines based on Xie et al. (2017). This makes the connection between the tex-
tual representation and the visual representation and highlights the local scope of
variables. For small programmes without functions, often the value store is sufficient.
However, the source code of the light-example uses different functions, for example,
in Fig. 25.3, we find ALightSwitchBoth(), OnOverlapBegin() and
ToggleLight(), as shown in Fig. 25.5.
In the following section, we will exemplarily describe the evaluation of the
source code. At first, there are no entries in the notional machine. The evaluation
starts at line 1 of Fig. 25.3 (next line: 1). The first changes appear within line 3: The
sub-routine ALightSwitchBoth() starts with its local scope. In line 5, the vari-
able DesiredIntensity gets the value 3000.0f, which we write in the
380 P. Stechert and G. Vukovic
Within the Unreal Engine, the Blueprint Visual Scripting System is used to create
gameplay elements via a node-based interface. Object-oriented classes and objects
can be defined. Objects and functions defined with blueprints are colloquially
referred to as “blueprints”. This system is flexible and powerful because it gives
designers the ability to take advantage of virtually the full range of concepts and
tools normally available only to programmers.
A blueprint class allows developers to easily add functionality to existing game-
play classes. Blueprints are visually created in the Unreal Editor instead of entering
code and stored as assets in a content pack. So, a new class or type of actors can be
defined. Such elements can then be placed as instances in maps and behave like any
other type of actor.
Blueprints do not always have to contain scripted behaviour. For example, a
street screen in a game does not have to be interactive and only needs a post and a
light. Using such components to build reusable blueprints speeds up the develop-
ment process. Of course, the components can then be integrated later in such a way
that players can interact with the lights, or they can be adjusted accordingly via a
time-of-day system.
Graphs contain the behaviour of your blueprints at design time and playtime. The
design script runs after the component list when an instance of a blueprint class is
created so that the appearance of the new object or actor can be dynamically
adjusted. The most critical area in our project was the EventGraph because this is
where programmers set up the game logic (Fig. 25.4).
25 Hybrid VR Programming: Extending the Notional Machine for C++ 381
The EventGraph uses events and function calls to perform actions responding to
gameplay events. Interactivity and dynamic reactions are set up here. For example,
the given “light” blueprint (Fig. 25.4) could respond to a damage event by turning
off the light component. This behaviour would automatically apply to all instances.
For each EventGraph, one or more events are necessary that serve as entry points.
The desired actions to be performed can be programmed by connecting function
calls, flow control nodes and variables.
In an EventGraph, the data flows from left to right. Different types of data have
different colours. Triggers of an event are white. A floating-point value is green. A
less saturated green is an integer, and text has a pink line (Fig. 25.4). Nodes can have
events and values of data types other than input and output. A node can receive an
event, and it also receives (pink) text data as input. It again outputs a return value
and an event. In addition, different tasks can be divided into distinct functions, both
for organizational reasons and for reasons of modularity. Therefore, the EventGraph
is very suitable as an extension of the C++ notional machine. However, we had to
focus on scaffolding the use of the EventGraph and to link it to the textual program-
ming to enable the Change of View according to the MoKoM competence model
(Fig. 25.2).
Regarding the notional machine presented in the last section, especially an
emphasis on functions bridges the gap between textual programming and visual
scripting. Our notional machine supports students to reason about both representa-
tions, code and blueprints, in terms of what they mean to the system.
25.4.4.3 Events
Blueprints can be used to modularize. In this way, they increase the readability and
maintainability of the programme, and they promote abstraction and reusability.
These ideas are typically not implemented in entry-level programming languages
(Zamansky & Dyrland, 2020). The outward behaviour of such blueprints, that is,
input and output, becomes particularly important. To illustrate the control flow, code
tracing can be practiced by following the EventGraph.
25.5.1 Learning Objectives
took part. The goal of this project was to enable learners to understand the basics of
virtual reality technology and the associated professional programming environ-
ments of GitLab for version control, MediaWiki for documentation, Unreal Engine
4 and Steam VR and then apply them as part of a simple but team-based workflow.
The following competencies were promoted (among others):
Area of Expertise
Learners ….
• Recognize version control systems as a fundamental component of the soft-
ware engineering process.
• Transfer the previously acquired knowledge about object-oriented program-
ming to a new programming language, that is, C++.
• Explore the Unreal Engine 4 professional game development environment
and use it as the primary development environment for all 2D/3D applications.
• Deepen their understanding of object-oriented frameworks using the Unreal
Library.
• Measure objects from school life and then transfer them into a 3D virtual
version.
• Use English-language video courses to learn.
Area of Methodological Competence
Learners ….
• Organize their work independently within a team.
• Get to know an agile method for software development called “daily minutes”
and apply it.
• Learn using the “Flipped Classroom” method.
25.5.2 Technical Requirements
Several VR glasses are available for testing, both Oculus Rift and HTC Vive. The
basic technology is identical for all VR glasses. VR glasses work by displaying two
synchronously overlapping perspectives simultaneously on a 2D screen. By using
special lenses in front of the screens, the human eye creates the illusion of a 3D
image. So, the user can finally look around in virtual space; various sensors are used
on the camera and/or glasses and used for real-time calculation of the overlapping
perspectives. To maximize the immersion or experience of the virtual world, as
many of the user’s senses as possible must be addressed at the same time. In other
words, the human brain must be controlled with enough stimuli and senses so that
the user’s real situation is forgotten. As a simple example, the sense of hearing can
be used. When placing and playing a sound source in virtual space, the clarity of the
music should differ depending on the field of view and distance from the object.
These and many other calculations, some of which are extraordinarily complex,
must be carried out in real time and require a correspondingly high computing
power of the hardware used.
384 P. Stechert and G. Vukovic
To ensure that work with the required technology can be carried out, two small
group rooms connected to PC laboratories were converted into independent VR
laboratories with six PCs each.
In the learning situations of vocational training, the complete action forms an impor-
tant didactic basis, that is, from informing via planning, decision-making and imple-
mentation to testing and evaluating the product and the process. To achieve this,
learners must detach themselves from the previous school structures and face the
new professional action as a professional unit. More precisely, the learners had to
implement everything independently, from the project planning and allocation of
the individual work steps to the creation of a detailed documentation.
One of the first goals, therefore, was to introduce learners to the new develop-
ment environment, with all its many tools and functional processes. It is also essen-
tial to point out the existing differences to the C# programming language otherwise
used in the classroom and to explain the different programming variants of UE
in detail.
For this purpose, a basic phase was designed, which was used to build up the
necessary basic knowledge. Due to the complicated topic, this phase is developed in
the sense of didactic reduction and therefore focuses on the most important aspects
of VR development with the Unreal Engine. We also used the didactic method
“Flipped Classroom” for this purpose. It can be implemented, for example, with
learning videos or other digital media. Learners can acquire the content at their own
pace. The project process itself is agile; in particular, “daily minutes” were
introduced.
25.5.4 Project Phases
To ensure the achievement of the content-related subject objectives for each student,
the group size was limited to a maximum of three learners. The project scheme is
based on Frey’s project method (2007) and is planned in five phases, which looks
like this in relation to the VR project:
25.5.4.1 Orientation
In the orientation phase, the project idea with all its requirements is first considered
in all its complexity. Learners are given the opportunity to ask questions and discuss
how to proceed. This includes a group assignment, preparation of the GitLab envi-
ronments, and a preliminary analysis of the time and content.
25 Hybrid VR Programming: Extending the Notional Machine for C++ 385
25.5.4.2 Planning
25.5.4.3 Implementation
To react to the heterogeneous composition of the groups, the didactic concept of the
“Flipped Classroom” is implemented. All project participants receive 312GB of
professional learning material, which is pre-copied on the computers and can be
accessed from home through a prepared login. Among other things, it consists of
seven example projects, which were programmed in different variants (classic with
C++ and block-based) and consist of complete individual steps. In addition, the
teachers provide smaller projects with functional examples focusing on the change
between both programming modalities.
25.5.4.4 Evaluation
In the evaluation phase, the learners should critically deal with the work results.
This includes the detailed testing and comparison of the implemented functions,
based on the requirements. Furthermore, a reflection of the project planning carried
out should take place. Learners should independently recognize which approaches
are expedient and which are not. The reflection is implemented in the form of docu-
mentation, which is also used to find grades. This is divided into two parts: a techni-
cal documentation in the form of the wiki and a reflective part. The documentation
will be done in the wiki and will be a starting point for other project groups in the
following curriculum interventions.
25.5.4.5 Presentation
The presentation phase is divided into three sections. In the first part, the learners
prepare a presentation that includes all important sections and functionalities of the
project and is tailored to a technology-averse audience. The second part consists of
a live demo in which the teachers and/or visitor put on VR glasses and interactively
look at the work done. Fig. 25.6 shows an interactive classroom, for example, it is
possible to switch the light on and off. Finally, an acceptance meeting takes place.
386 P. Stechert and G. Vukovic
25.5.5 Next Steps
We want to design more demanding exercises for the Change of View (Fig. 25.2)
with respect to the representation of functions, that is, function call, function param-
eters, library functions and function return.
Such a refined structure of the learning process implies setting the focus of the
next curriculum intervention to the cognitive approach of students, creating hypoth-
eses about what blueprints do (PRIMM model: Predict-Run-Investigate-Modify-
Make). Tasks will include a clear description for students of what to observe as an
approach to informatics experiments.
Furthermore, the approach comes along with dominant errors of this domain, so
analysis of typical errors does not disclose knowledge about misconceptions with
respect to hybrid programming, for example, whether the difficulty lies in the pro-
gramming concept or the change of view between blueprint and C++. We need more
adequate means to get insights of students’ conception. So, we are planning to per-
form the “think-aloud” method. In particular, we aim at finding cognitive barriers
related to functional modelling and the change of view.
25.6 Conclusions
In this article, we have presented a strategy to structure the learning process towards
hybrid programming using C++ and blueprints. Thus, we have refined and validated
a theoretical education model after conduction of a case study. In particular, the
25 Hybrid VR Programming: Extending the Notional Machine for C++ 387
empirically tested notional machine of the curriculum intervention has disclosed the
need to emphasize on a notional machine for functional modelling.
The input-processing-output principle as a central principle of computer science
can be represented in a data flow diagram. For example, the value transfer in data
flow diagrams can be functionally modelled. Functions can also be concatenated:
Output values of one function then serve as input to another function. The learners
already knew activity diagrams, process modelling and programme schedules in
advance. Nevertheless, flow diagrams, for example, activity diagrams or Petri nets,
are to be further deepened in or before subsequent projects to be able to understand
the EventGraphs more quickly.
As stated in the beginning of this chapter, vocational education is characterized
by technical innovations. To meet this challenge for the field of IT specialist train-
ing, we developed a curriculum model to build on previously acquired personal and
professional skills of the trainees in the profession of IT specialist and to deepen
them regarding the “development of a virtual reality environment”. The project’s
documentation was written by the learners. It also shows their significant increase
in VR and C++ programming skills.
References
Bassey, M. (1999). Case study research in educational settings. Open University Press.
de Raadt, M., & Mannila, L. (2006). An Objective comparison of languages for teaching intro-
ductory programming. In Baltic Sea ‘06: Proceedings of the 6th Baltic Sea conference on
computing education research: Koli calling 2006 February 2006 (pp. 32–37). https://doi.
org/10.1145/1315803.1315811
du Boulay, B., O’Shea, T., & Monk, J. (1981). The black box inside the glass box: Presenting com-
puting concepts to novices. International Journal of Man-Machine Studies, 14(3), 237–249.
Frey, K. (2007). Die Projektmethode. Beltz Verlag.
Hidalgo-Céspedes, J., Marín-Raventós, G., & Lara-Villagrán, V. (2016). Understanding notional
machines through traditional teaching with conceptual contraposition and program memory
tracing. CLEI Electronic Journal, 19(2), 3. PAPER 2, AUGUST 2016.
Magenheim, J., Nelles, W., Rhode, T., Schaper, N., Schubert, S., & Stechert, P. (2010).
Competencies for informatics systems and modeling: Results of qualitative content analy-
sis of expert interviews. IEEE EDUCON 2010 conference, 2010 (pp. 513–521). https://doi.
org/10.1109/EDUCON.2010.5492535.
Mühling, A. (2020). Python computer. https://notionalmachines.github.io/nms/PythonComputer_
1.html
Rosato, J., & Wolber, D. (2020). Events. In S. Grover (Ed.), Computer science in K-12: An A-to-Z
handbook on teaching programming. Edfinity.
Sorva, J. (2020). Naïve concepts of novice programmers. In S. Grover (Ed.), Computer science in
K-12: An A-to-Z handbook on teaching programming. Edfinity.
Statista. (2022). Augmented reality (AR) and virtual reality (VR) market size worldwide
from 2016 to 2024. https://www.statista.com/statistics/591181/global-augmented-virtual-
reality-market-size/
Stechert, P. (2009). Fachdidaktische Diskussion von Informatiksystemen und der
Kompetenzentwicklung im Informatikunterricht. In Commentarii informaticae didacticae
(CID) (Vol. 2). Universitätsverlag Potsdam.
388 P. Stechert and G. Vukovic
Waite, J., & Grover, S. (2020). Worked examples and other scaffolding strategies. In S. Grover
(Ed.), Computer science in K-12: An A-to-Z handbook on teaching programming. Edfinity.
Xie, B., Nelson, G., & Ko, A. (2017). An explicit strategy to scaffold novice program trac-
ing. SIGCSE.
Zamansky, M., & Dyrland, W. (2020). Modularity with methods and functions. In S. Grover (Ed.),
Computer science in K-12: An A-to-Z handbook on teaching programming. Edfinity.
Chapter 26
Cognitive Influences on Learning
Programming
Jason Zagami
26.1 Introduction
J. Zagami (*)
Griffith University, Gold Coast, Australia
e-mail: j.zagami@griffith.edu.au
developed from SEQUEL have a range of commonalities. But learning Python, hav-
ing learnt SQL, would involve learning quite different grammatical, syntactical and
logical language rules (Rigaux, 2020).
Each programming language also has its approach to abstracting instructions
into a form processable by a computer. These are commonly framed around a lan-
guage metaphor – flowcharts, filmmaking, circuit/wire diagrams, card decks, etc.
This variation is seen especially in programming languages developed for teaching
young children to programme, with languages such as Alice relying on a filmmak-
ing metaphor, RoboLab relying on a metaphor of circuit/wire diagramming, and
many simple coding languages for young children using a playing card metaphor to
depict the processing of a sequence of instructions. Professional programming lan-
guages also have such categorisations, primarily: procedural, functional, object-
oriented, scripted, and logic-based languages – but over 50 categories exist, and
these relate to the types of problems the programming language has been designed
to solve.
The metaphor used by a language can influence how effectively the language can
be learnt, but this is also influenced by each learner’s affinity to that metaphor and
their previous experience with similar programming languages or the concepts
incorporated into the metaphor. Within the wide range of available programming
languages, learners will find some languages more straightforward to learn than
others. A set of languages have been designed to support learning, generally using
more familiar metaphors and simplifying programming processes to reduce syntac-
tical and logical errors. Beyond this, however, there is a body of research from
cognitive science that can shed some light for teachers on why students have diffi-
culty in learning programming and why some programming languages are easier for
students to learn than others. In this chapter, we will focus primarily on one such
theory, that of cognitive load.
26.2 Cognitive Load
Cognitive load theory (Sweller, 1988) suggests that we each have a limited capacity
to hold different concepts in ‘working memory’ when problem-solving, with the
implication that when programming problems involve too many different elements,
this capacity can be exceeded. Students will then have increasing difficulty in solv-
ing such problems. Working memory differs from long-term memory in that what is
held in this memory is done so temporarily, in combination with other memories, so
that these can be associated and then reinforced in long-term memory along with the
associated links between such memories. Generally, this capacity limit is described
as 7 plus or minus 2. When faced with problems of such complexity that they exceed
this capacity, students would find it increasingly difficult to develop solutions to
these problems because additional memories of these concepts could not be accom-
modated in their working memory. ‘7 plus or minus 2’ belies the implications of
such a capacity limit that represents a range from 5–9 elements, with some students
26 Cognitive Influences on Learning Programming 391
having almost twice the working memory capacity of other students. The implica-
tions of such a difference for education are profound and unappreciated.
This concept of cognitive load has subsequently developed into three facets:
1. Intrinsic cognitive load (Chandler & Sweller, 1991) reflects the inherent level of
difficulty of the problem that students may be attempting to process in their
working memory in relation to their intrinsic capacity, that is, between five and
nine elements. The theory does not expand upon when or how this capacity is
determined but suggests that beyond this point, it is an inherent capacity con-
straint that cannot be modified by education or effort. There are, however, tech-
niques that can be taught to ameliorate the limitation, such as synthesising a
range of memories into a single new concept (chunking) when the complexity
exceeds the working memory capacity of the student.
2. Germane cognitive load (Sweller, 2010) involves the development of schemas
that support student’s understanding of the problem and provide another tech-
nique to overcome the limitations of working memory. Flowcharts are an exam-
ple of an external schema, providing students with a means of processing how
various programming instructions are executed. Germane cognitive load also
extends to the creation of internal schema such as mental models which can
again be limited by the complexity of mental models that can be held in working
memory. Decomposition of such models into manageable schemas is necessary
to process complex models.
3. Extraneous cognitive load is an effect that worsens the impact of working mem-
ory constraints. It is produced by the manner in which information is presented
to or learnt by students. An example is the mixing of instructional media such as
text and images, each requiring memory recall and processing in different parts
of the brain and in combination are more likely to exceed working memory
capacity (Zagami, 2012).
While intrinsic cognitive load is the least malleable by teachers, being an intrinsic
capacity unique to each student, the effect on student learning can be significant
when teachers provide programming problems of increasing complexity without
considering their intrinsic cognitive load. These problem sets generally increase in
cognitive difficulty as the number of concepts involved increases the problem com-
plexity. At some point, students’ working memory capacity will be exceeded as they
attempt to hold the range of different concepts in their working memory simultane-
ously in order to process a problem to a solution. Chunking is a cognitive process of
abstraction, taking a set of elements that would have needed to be included in work-
ing memory and essentially creating a new concept for this collection in a similar
way that we would create a subroutine or module in programming and then only
needing to hold this new process in working memory. In teaching, this cognitive
392 J. Zagami
The differences between visual and textual programming languages can be con-
sidered along a continuum (Fig. 26.1).
Natural language programming that can interpret coding instructions from
human language expressions of what the programme should do can be considered
one extreme of abstraction on a continuum of textual and visual programming
approaches. Pseudocode provides the next stage, representing programming instruc-
tions more abstractly than textual programming instructions of traditional program-
ming code. Within textual programming languages, there are various levels of
abstraction, described as orders. Higher-order languages tend to have more com-
plexity, abstracting various simpler instructions in lower-order languages that tend
to be less abstract from machine code instructions, leading to the most concrete,
binary command sequences. The continua do, however, extend in another direction
of abstraction, of increasing visual, rather than textual abstraction. Diagram-based
coding involves the use of interactive visualisation tools such as flowcharts, Nassi-
Shneiderman diagrams and structured design charts to represent programming ele-
ments and process flow, with automated translation generally occurring to generate
a textual programming language code from the diagram. Block-based languages
extend this to distinct programming languages that abstract textual commands into
labelled blocks, allowing the placement of these commands to incorporate the syn-
tax of textual languages. Further abstraction involves removing labels, and using
icons that represent textual commands to be arranged, often with ‘wires’ linking
icons and depicting the instructional flow. While entirely image-based languages do
not generally yet exist beyond some very specific interactive visualisations, they
would represent the other end of the spectrum from natural language programming,
where a single interactive image depicts the entirety of a programme, with the
images changing content, placement, tones, colour, etc. reflecting an abstraction of
the code, processes and data structures.
Cognitive processing of textual and visual elements occurs in separate areas of the
brain, with textual processing involving a translation into auditory language struc-
tures and processing in the auditory cortex, while visualisation is processed in the
visual cortex. This has implications for how instructional material is presented to
students and the choice of the programming language used.
Diagram- and block-based coding can require the processing of both textual
labels and visual placements, increasing extraneous cognitive load with an increased
demand on working memory. Such demand is not problematic for simple problems
that include both textual and visual processing; indeed, it may improve student
learning by being able to draw upon connections made in these widely separate
areas of the brain, triggering recall as the result of not just textual cues but also
visual cues. The problem is that the increased demand in processing elements from
auditory and visual elements, assuming these have not been chunked into a single
conceptual element, can likely overload working memory faster than if the instruc-
tional content had included only text or visualisations. Programming languages that
rely upon a mix of textual labels and visual elements, while improved for simple
problems, may exceed working memory because this extraneous cognitive load
increases more quickly than programming languages relying upon only text or
visuals.
The use of combined visual and textual elements of visual programming lan-
guages in early programming has the potential to improve student learning of sim-
ple concepts, but this needs to be offset with potential difficulties in subsequently
learning purely textual or visual programming languages.
Where concepts are learnt – encoded and stored using visualisations, focusing on
the spatial relationships of entities, etc., the shift to text-based coding, relying pri-
marily on auditory processing and the decoding of textual commands in a similar
manner to human language decoding, may be a more difficult transition for stu-
dents. Essentially, students will need to relearn, encoding a different area of the
brain, albeit with the advantage of being able to draw upon their learning of the
concepts through visualisation. The reverse would also be true in learning a purely
visual programming language.
A balance needs to be made between the advantages of learning from rich media-,
textual and visual, based programming languages and the impact this may have on
396 J. Zagami
the learning of subsequent languages that rely upon a single media. Extraneous
cognitive load is, however, considered the weakest of factors influencing working
memory, and the support visualisations can provide to germane cognitive load and
can outweigh the impact of extraneous cognitive load.
Generally, however, students can process problems involving fewer than five ele-
ments more effectively when using programming languages with both visual and
textual elements. Problems with between five and nine elements are more effec-
tively understood using purely textual or purely visual programming languages. For
problems of greater than nine elements, there is little difference, as all require
chunking techniques such as decomposition to address problems regardless of the
programming language used. There are, however, differences resulting from the
capacity of the programming languages themselves, with most languages combin-
ing visual and textual elements not well designed to display and manipulate large
complex solutions. In this case, purely visual programming languages have some
advantages over purely textual programming languages in supporting student’s
understanding of the complex interactions occurring (Zagami, 2012).
26.6 Cognitive Fit
Cognitive fit theory (Vessey, 1991) supports the use of visualisation independent of
working memory theory by considering the fitness of various approaches to
problem-solving and learning – in particular, the comparison between visual and
textual representations. In exploring the use of visualisation tools for problem-
solving, cognitive fit theory compares the effectiveness of spatial (visual) and sym-
bolic (textual) representation of information, with clear advantages in time and
accuracy established when processing information visually over textually. This has
been subsequently demonstrated in the learning of a range of programming con-
cepts, such as iteration and recursion (Sinha & Vessey, 1992) and objects
(White, 2001).
26.7 Cognitive Walkthroughs
Also supporting the use of visual programming languages is their potential interac-
tivity. Developed initially to evaluate the effectiveness of visual programming lan-
guages (Green et al., 2000), cognitive walkthroughs now more commonly provide a
mechanism by which students can explore the operations, flow and data of an exe-
cuting programme. While walkthrough mechanisms exist for text-based program-
ming languages, those incorporated into visual programming languages are
generally more interactive and can show multiple threads occurring at once.
26 Cognitive Influences on Learning Programming 397
26.8 Conclusion
general, text-based programming languages are more common, and their disadvan-
tages in visualisation can be compensated for by using a range of diagrammatic
visualisation tools to supplement the textual code in the cognitive processing of the
problem to a solution.
The difficulty exists between these groups, often occurring in the middle years of
school, lower secondary. Students at this age are pushing the design constraints of
most block-based programming languages, designed for instruction, and focused on
solving relatively simple problems. Students are beginning to explore real-world
problems that involve more concepts than their working memory can process
because of the increased demands of their extraneous cognitive load by block-based
tools. Generally, they have insufficient computational thinking skills to chunk these
processes effectively to reduce intrinsic cognitive load, and their skills in the use of
diagramming tools to reduce germane cognitive load may also be limited. Combined,
middle-year students may face the greatest challenges in learning to programme
while also being most formative in decisions about future career pathways.
Supporting middle-year students with their transition from block-based pro-
gramming to purely visual or textual languages needs to be conducted in a consid-
ered manner to reduce the range of cognitive loads impacting students. First and
foremost are their computational thinking skills, particularly decomposition and
synthesis, without which no programming language will support them in solving
programming problems beyond a relatively low complexity level because of their
intrinsic cognitive load.
Teachers can also support them in ensuring they master and use a wide variety of
diagrammatic tools to supplement their use of textual programming languages
(these are generally incorporated into purely visual programming languages) to
reduce their germane cognitive load.
Finally, in considering working memory, the use of block-based and other
visualisation-based programming languages should not be discounted even for the
most experienced programmer. Simple programming tasks can be more efficiently
conceptualised and developed with these tools, generally automatically incorporat-
ing the diagramming processes conducted when using text-based programming.
Particularly when students have well-developed computational thinking skills to
enable them to decompose problems, generalise and synthesise programming solu-
tions, coupled with a mastery of a range of diagramming tools, the limitations of
any type of programming language will fade in comparison to their strengths in
solving various problems.
Teachers are recommended to provide students with experience with a wide
range of language types, optimised for different purposes, and this can only support
the flexibility that students will need in the future. Initially, programming languages
designed to be easy to learn will be prominent, but over time, students should learn
a range of languages optimised for various problem solutions. Robotics and control
problems are well supported by specific languages, as are solutions involving web-
based applications, information system problems, artificial intelligence applica-
tions, etc. The use of text and visuals is not the only classification of programming
26 Cognitive Influences on Learning Programming 399
languages, but there is a lack of research into the various cognitive loadings other
programming language characteristics impose upon programmers.
Students will inevitably learn a wide variety of programming languages over
their lifetime as approaches to programming are refined and developed. AI and net-
works will have immediate impacts, with augmentation and virtualisation technolo-
gies presenting entirely new approaches to visualisation that have not yet been
explored in-depth regarding programming. Likewise, we will continue to better
understand cognitive processes and make improvements in our understanding of
learning and teaching. However, the fundamental computational thinking skills that
students develop, combined with their experiences with programming to solve
problems, will better prepare students to face these challenges and those which we
cannot yet conceive.
References
Chandler, P., & Sweller, J. (1991). Cognitive load theory and the format of instruction. Cognition
and Instruction, 8(4), 293–332.
Green, R., Burnett, M., Ko, A., Rothermel, K., Cook, C., & Schonfeld, J. (2000). Using the cogni-
tive walkthrough to improve the design of a visual programming experiment. In Proceeding
2000 IEEE international symposium on visual languages (pp. 172–179). IEEE.
Papadakis, S., Kalogiannakis, M., Orfanakis, V., & Zaranis, N. (2019). The appropriateness of
scratch and app inventor as educational environments for teaching introductory programming
in primary and secondary education. In Early childhood development: Concepts, methodolo-
gies, tools, and applications (pp. 797–819). IGI Global.
Prat, C., Madhyastha, T., Mottarella, M., & Kuo, C. (2020). Relating natural language aptitude
to individual differences in learning programming languages. Scientific Reports, 10(1), 1–10.
Rigaux, P. (2020). Diagram and history of programming languages. Retrieved February 24, 2022,
from http://rigaux.org/language-study/diagram.html
Sinha, A., & Vessey, I. (1992). Cognitive fit: An empirical study of recursion and iteration. IEEE
Transactions on Software Engineering, 18(5), 368.
Sweller, J. (1988). Cognitive load during problem solving: Effects on learning. Cognitive Science,
12(2), 257–285.
Sweller, J. (2010). Element interactivity and intrinsic, extraneous, and germane cognitive load.
Educational Psychology Review, 22, 123–138.
Tsarava, K., Moeller, K., Román-González, M., Golle, J., Leifheit, L., Butz, M. V., & Ninaus,
M. (2022). A cognitive definition of computational thinking in primary education. Computers
& Education, 179, 104425.
Vessey, I. (1991). Cognitive fit: A theory based analysis of the graphs versus tables literature.
Decision Sciences, 22(2), 219–240.
White, G. L. (2001). Cognitive characteristics of learning Java, an object-oriented programming
language. The University of Texas at Austin.
Zagami, J. (2012). Seeing is understanding: The effect of visualisation in understanding program-
ming concepts. Lulu.com
Chapter 27
Where Next for Coding in Schools?
Andrew E. Fluck
It has been an absolute delight to collect and edit the chapters for this book. The
authors have taken readers through coding education for children aged from birth to
adulthood. Some key topics have included physical computing (programming tan-
gible toys); block, text and hybrid programming languages; robotics and chatbots;
animated stories and multimedia; integrated versus standalone programming les-
sons; and finally, the interrelationship between coding and computational thinking.
These two areas are relatively new in many primary schools (Lloyd & Chandra,
2020, p. 189), and pre-service teachers can lack confidence in teaching them (ibid,
p. 199).
Some chapters drew upon empirical data and others on theoretical discussion.
Systematic reviews have painted a picture of what we know and what works.
Equally, the reader will have seen the tensions and difficulties faced by teachers.
This chapter starts with a personal perspective and then analyses Chaps. 2–25 to
provide a general framework for teaching coding in schools. We then take a look at
emerging paradigms of non-deterministic computing. Included in this category are
machine learning and quantum computing. They are non-deterministic insofar as
the results of running such a programme are not guaranteed to be identical every
time. This is a stark contrast to most of the programming paradigms covered in
previous chapters.
Looking to the future, we interrogate the place of quantum computing in schools,
arguing that this distinctive paradigm needs an early introduction for its promise to
bear fruit.
A. E. Fluck (*)
University of Tasmania (retd.), Launceston, Australia
e-mail: Andrew.Fluck@utas.edu.au
27.2 Personal Perspective
My initial programming journey started at about the age of 16, which is considered
quite old now. I used IBM 80-column punched cards (187 mm × 83 mm) to create
programmes, where I pushed out rectangular holes with a pencil. One to three holes
coded for each character in a line of FORTRAN code. All of my cards were posted
in a box to London, and a week later, I would receive a green-striped printout – usu-
ally documenting my errors. At the university, I was taught with BASIC and ALGOL
languages and used teletypes to input my programmes. Later, in schools, I taught
BASIC on micro-computers, so students got immediate reactions to their coding
efforts. In the last decade, I have taught SCRATCH and other block programming
languages, alongside Python, Java (and Javascript), and quantum scoring.
Just because my personal coding education followed this track does not mean
everyone else should do so. In 2001, I visited Estonia. Barely a decade after inde-
pendence, the country boasted high-speed Internet in schools and widespread
mobile phone access. They had skipped all the landline fixed point phone technolo-
gies and leapt straight to the communications of the future.
So, if programming is the process of creating a set of instructions that tell a com-
puter how to perform a task, then how about Alexa or Siri voice commands? (See
Chap. 18.) While coding is spoken of as “thinking about thinking” (Meijers, 2010),
formulating algorithms and problem-solving, all programmers stand on the shoul-
ders of their predecessors. Early programmers used on-off switches (or holes in
cards) to input machine code programmes which worked directly with the hard-
ware. Textual programmes were initially variations of this, using assembly code.
Higher-level languages such as FORTRAN abstracted the hardware to maximise
portability (Wikipedia Contributors, 2022). We now have a plethora of coding lan-
guages (exceeding human-spoken languages) and a wide variety of programming
paradigms to choose from (object-oriented, class-based, etc.; see Chap. 25). What
remains is the need for precision in translating human ideas into binary code for
digital computers.
But not all computers are electronic or digital. The astronomical Antikythera
mechanism (100 BCE) is considered an early mechanical analogue computer
(Freeth et al., 2021). Fluidic computers work in hazardous conditions using gases or
liquids to process data (Adamatzky, 2019; Wehner et al., 2016).
So, if our school students are to make the ‘Estonian leap’, what shortcuts to pro-
gramming should we provide them?
The authors of this book have provided a rich tapestry of coding contexts across a
range of student ages. In an attempt to draw meaning from this data, I have broadly
classified each programming environment into one of five types, and then indexed
27 Where Next for Coding in Schools? 403
these against the chronological student ages mentioned or inferred in each chapter
(see Fig. 27.1). Such classification is contestable, since many software tools cross
boundaries. Moreover, the use of these tools relates to the intended learning activi-
ties. These range from geometry (turtle graphics with robots), game-making, semi-
autonomous industrial robots and virtual reality. Each type of activity engages
different affordances of the programming environment.
This classification shows the trend from using tangible screen-free programma-
ble robots for younger students, through visual block-based coding, to hybrid and
textual coding for the later years of schooling. The trend is summarised in Fig. 27.2.
This general framework is not prescriptive but has emerged from the rich data in
the chapters of this book. Within it, we can infer a student’s exposure to at least four
different kinds of programming environment. Compared to a human spoken lan-
guage, each such environment may be considered small or restricted – the vocabu-
lary is smaller by contrast. However, the precision of thought required and
Fig. 27.1 Classification analysis of programming environments in Chaps. 2–25 by student age
404 A. E. Fluck
Fig. 27.2 A general framework for learning programming, with examples of learning activities
grammatical use is generally greater – the position of each punctuation mark mat-
ters! Therefore, when discussing how many programming languages a student
should encounter during their schooling, it may be best to limit the number. This
decision will be tempered by teacher confidence, student progression and alignment
to national priorities.
1
https://github.com/openqasm/openqasm
2
https://qiskit.org/
27 Where Next for Coding in Schools? 407
Fig. 27.4 The programming tool in IBM quantum experience, with a programme showing dual
superposition in the Bloch sphere result graphic
This is a good point at which to show quantum computing is accessible and not
entirely unlike programming environments already used in schools for digital pro-
gramming. The hybrid visual and text nature of the tools available closely resembles
those used for conventional digital computers. However, the probabilistic and
whole-computer parallelism aspects are significantly different.
Where can quantum computing fit into the general framework for learning pro-
gramming of Fig. 27.2?
408 A. E. Fluck
Younger students can play with the block coding and musical score metaphors to
see the visual effect on the Bloch sphere as a form of play-based learning. Older
students can use the hybrid development environment with Qiskit to become more
informed about probabilistic and parallelism aspects. An associated tangible robot
would be really helpful!
Various resources are available for schools to incorporate this transition from the
defined procedural use of bits to the non-deterministic use of qubits. These include
the following (Quantum Computing Report, 2022):
• IBM – Qiskit Textbook (beta) (https://qiskit.org/textbook-beta/); Quantum
Composer (https://quantum-computing.ibm.com/composer/files/new).
• Michael Nielsen – Quantum computing for the determined [video lectures]
(https://michaelnielsen.org/blog/quantum-computing-for-the-determined).
• Jack Ceroni – Quantum Computing resources for high school students (https://
unitary.fund/posts/high_school_resources.html).
• Microsoft – Quantum Katas (https://github.com/Microsoft/QuantumKatas); with
Brilliant – Quantum Computing (course) (https://brilliant.org/courses/
quantum-computing/).
This chapter has looked at the rapid technological advancements in computing and
viewed curriculum changes in schools to reflect these. Anecdotally, at the time of
writing, many schools are not keeping up with innovation, so it seems prudent to be
proactive rather than reactive. Quantum computing is raised as an example of how
this emerging aspect of coding could, and should, be incorporated into schooling.
On one hand, we want to provide students with scaffolded learning experiences
which enhance their cognition as they progress. The probabilistic nature and whole-
computer parallelism inherent in quantum computing can expand the range of cod-
ing paradigms for impressionable young people, giving them a broader perspective
than currently available languages. One might hope this will increase their flexibil-
ity of thinking beyond this particular area. On the other hand, schools have a duty to
prepare productive citizens with skills for life which are relevant to their futures.
Although not yet prevalent throughout society, quantum computers have the poten-
tial to profoundly influence every citizen, so general awareness is warranted. For
this to happen, significant resources will be needed for educational institutions to
develop curricula, train teachers and provide the equipment to teach these rapidly
emerging skills.
27 Where Next for Coding in Schools? 409
References
Lloyd, M., & Chandra, V. (2020). Teaching coding and computational thinking in primary class-
rooms: Perceptions of Australian preservice teachers. Curriculum Perspectives, 40, 189–201.
https://doi.org/10.1007/s41297-020-00117-1
Meijers, M. (2010). Notes for teachers. ICT Mindtools. https://dlb.sa.edu.au/nhsmoodle/file.
php/58/Tutorials/ictmindtools.net/knp/teachers.htm
Náfrádi, B., Choucair, M., Dinse, K. P., et al. (2016). Room temperature manipulation of long
lifetime spins in metallic-like carbon nanospheres. Nature Communications, 7, 12232. https://
doi.org/10.1038/ncomms12232
Nayak, J., Keane, T., Linden, T., & Molnar, A. (2022). Teaching high school students artificial
intelligence by programming Chatbots. In T. Keane & A. Fluck (Eds.), Teaching coding in
K-12 schools – Research and application. Springer-Nature.
Quantum Computing Report (2022). Education. Author. https://quantumcomputingreport.com/
education/
Wehner, M., Truby, R., Fitzgerald, D., et al. (2016). An integrated design and fabrication strat-
egy for entirely soft, autonomous robots. Nature, 536, 451–455. https://doi.org/10.1038/
nature19100
Wikipedia Contributors. (2022, June 28). High-level programming language. In Wikipedia, The
free encyclopedia. Retrieved 00:27, July 5, 2022, from https://en.wikipedia.org/w/index.
php?title=High-level_programming_language&oldid=1095413615
Wille, R., Van Meter, R. and Naveh, Y. (2019). IBM’s Qiskit tool chain: Working with and develop-
ing for real quantum computers. In Design, automation & test in Europe conference & exhibi-
tion (DATE), (pp. 1234–1240). https://doi.org/10.23919/DATE.2019.8715261
Index
© The Editor(s) (if applicable) and The Author(s), under exclusive license to 411
Springer Nature Switzerland AG 2023
T. Keane, A. E. Fluck (eds.), Teaching Coding in K-12 Schools,
https://doi.org/10.1007/978-3-031-21970-2
412 Index
G N
Game design, 99, 159, 162–165, 174, 178, New literacies, 129, 133
180, 183–185 Non-deterministic computing, 401
Game elements, 354
Gender, 148, 249, 278, 284, 285, 345, 349
General framework for learning programming, P
402–404, 407 Physical computing, xvii, 6, 54, 182, 186,
225–241, 401
Pre-school, 2–4, 13–21, 24, 39–55
H Primary education, xiii, xxi, 145–155, 172
Hardware/software co-design, 229, 230, 234, Problem-solving, 1, 7, 15, 47, 83, 99, 100,
235, 241 129, 132, 133, 143, 147, 149, 154, 197,
Hybrid programming, 3, 8, 201, 361–368, 198, 214, 252, 253, 258, 272, 277, 306,
374–382, 386, 401, 406 320–322, 325, 327, 328, 332, 339, 355,
360, 390, 392, 396
Programming difficulties, 191, 192, 197, 200
I Programming environments, 39, 48
Ideation, 127, 133, 306, 355 Python, xiii, 3, 7, 193, 264, 270, 273,
Inclusion, xvii, 40, 43, 85, 100, 147, 172, 173, 289–303, 360, 362–364, 366, 379,
195, 197, 202, 207, 210, 373 389, 402
Informatics education, xvi, xxi, xxii
Intended interaction, 227
iPad, 101, 209 Q
Quantum computing, xvii, 9, 401, 407, 408
J
Junior schoolchildren, 114, 122, 123, 125 R
Raspberry Pi, 225, 230–232, 291
Robotics, xv, 8, 277–286, 346, 347, 357,
K 398, 401
Kindergarten, 2, 24, 26, 32, 33, 36, 42, Robots, 2–4, 9, 15, 16, 18, 19, 24, 28, 54, 93,
146, 289 129, 135, 138, 139, 199, 226, 230, 279,
348, 352, 353, 356, 357, 403
M
Maker culture, 129, 139 S
Makey Makey, 4, 81, 84, 86, 88, 89, 92, 136, Science, Technology, Engineering and
137, 218–220 Mathematics (STEM), xiii, xv, xvi,
Mathematics, xiii, xv, xviii, xx, xxi, xxiii, 3, 4, xix–xxi, 8, 107, 211, 213, 277, 278,
13–17, 19–21, 24, 25, 36, 113, 114, 284, 285, 287, 343–349, 354–356
128, 132–135, 278, 294, 299, 337, Scratch, 3, 5–7, 45, 48, 49, 54, 55, 64, 67–71,
345, 347 73, 74, 77, 99, 106, 113–125, 135–137,
Mentoring, 355 159, 176, 178, 191, 199, 200, 218, 219,
Minecraft, 4, 81, 84, 86, 91, 92 221, 245, 247–250, 252–254, 257, 265,
Motivation, 7, 66, 68–70, 117, 118, 172–174, 274, 280, 283, 286, 289, 291–294, 360,
178, 182, 183, 185, 210, 237, 239, 278, 361, 393
279, 282, 283, 285, 292, 293, 295, 298, Social construction, 220
299, 311, 313, 314, 360, 365 Socio-emotional factors, 282
Index 413
V
T Virtual reality, 8, 361, 371, 372, 382,
Tangible programming, 199 383, 387
Textual programming, 8, 289, 290, 292, 295, Visual block programming, 7, 67, 283
359–363, 365, 367, 368, 377, 380, 381, Visual programming, 8, 48, 66, 191, 198–200,
393, 394, 396, 398, 404 218, 292, 308, 359, 360, 362, 363, 365,
Tinkering and prototyping, 236 367, 380, 394–398
TPACK, 212 Vocational education, 371–373