Nothing Special   »   [go: up one dir, main page]

Teaching High School Students Artificial Intelligence by Programming Chatbots

Download as pdf or txt
Download as pdf or txt
You are on page 1of 420

Therese Keane

Andrew E. Fluck Editors

Teaching
Coding in
K-12 Schools
Research and Application
Teaching Coding in K-12 Schools
Therese Keane • Andrew E. Fluck
Editors

Teaching Coding in K-12


Schools
Research and Application
Editors
Therese Keane Andrew E. Fluck
School of Education School of Education
La Trobe University University of Tasmania
Victoria, VIC, Australia Launceston, TAS, Australia

ISBN 978-3-031-21969-6    ISBN 978-3-031-21970-2 (eBook)


https://doi.org/10.1007/978-3-031-21970-2

© 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.

Prof. Dr. Don Passey


Don Passey is a Professor in the Department of Educational Research at Lancaster
University in the United Kingdom and is also an Honorary Professor of Amity
University in India. He is the chair of Technical Committee 3 (Education) for the
International Federation for Information Processing which has maintained strong
links with UNESCO since it was established under the auspices of UNESCO
in 1960.
Contents

1 Introduction: The Need for Programming and Computational


Thinking from Early Childhood Education Through
to Secondary Schooling���������������������������������������������������������������������������    1
Therese Keane

Part I Early Childhood Education


2 
Children (Aged 3–5 Years) Learning Mathematics Through
Programming, Thinking and Doing, or Just Doing?����������������������������   13
Hanna Palmér
3 Teaching Coding in Kindergarten: Supporting Students’
Activity with Robot Coding Toys������������������������������������������������������������   23
Jessica F. Shumway, Jody Clarke-Midura, Victor R. Lee,
Deborah Silvis, Lise E. Welch Bond, and Joseph S. Kozlowski
4 Programming Environments for the Development
of Computational Thinking in Preschool Education:
A Systematic Literature Review ������������������������������������������������������������   39
Konstantina Louka and Stamatios Papadakis

Part II Elementary/Primary School


5 
Developing Computational Fluency via Multimedia Stories ��������������   63
Rosa Bottino, Augusto Chioccariello, and Laura Freina
6 Scaffolding Engagement with Educational Technologies
to Develop Computational Thinking in Year 1 Girls����������������������������   81
Fiona Mayne and Belinda Bath
7 Enhancing Computational Thinking Through App Design
in Primary Schools����������������������������������������������������������������������������������   97
Jane Batham

vii
viii Contents

8 Program, Learn and Play: A Course of Extracurricular Activities


in Scratch Programming for Students in Grades 3–6�������������������������� 113
Ludmila Bosova
9 Integrating Programming in Other Subjects at Primary Level:
Tool, Glue or Ideation������������������������������������������������������������������������������ 127
Linda Mannila
10 Introducing Programming Concepts Through the Bebras Tasks
in the Primary Education������������������������������������������������������������������������ 145
Lina Vinikienė, Valentina Dagienė, and Gabrielė Stupurienė
11 
Supporting Primary Students with Disabilities and Neurological
Differences in Developing Digital Thinking Skills Through
an Inclusive Game-Making Club������������������������������������������������������������ 157
Matthew Harrison
12 
Game Making and Coding Fluency in a Primary Computing
Context������������������������������������������������������������������������������������������������������ 171
Mick Chesterman

Part III Secondary/High School


13 
The Problem with Programming: An Overview ���������������������������������� 191
Christina Chalmers
14 Expanding Teacher Capacity and Student Engagement
in Digital Literacies in the Primary Classroom:
An Informal Explorative Reflection ������������������������������������������������������ 207
Jonathon Mascorella and Maria Emmi
15 Why and How to Teach Physical Computing: Research
and Practice in Computer Science Education
at Secondary Schools ������������������������������������������������������������������������������ 225
Mareen Grillenberger
16 
Coding Across the Curriculum: Challenges for Non-specialist
Teachers���������������������������������������������������������������������������������������������������� 245
Karen Woo and Garry Falloon
17 Teaching High School Students Artificial Intelligence
by Programming Chatbots���������������������������������������������������������������������� 263
Jayanti Nayak, Therese Keane, Tanya Linden, and Andreea Molnar
18 
Teaching Coding and Computational Thinking with Model Train
Robotics: Social Factors That Motivate Students to Learn
Programming�������������������������������������������������������������������������������������������� 277
Takahisa Furuta, Yoshiaki Okugi, and Gerald Knezek
Contents ix

19 Initial Steps in Teaching Python at Lower Secondary School


Using the Platform Codeboard.io ���������������������������������������������������������� 289
Miroslava Černochová, Hasan Selcuk, and Martin Beneš
20  reating Mobile Applications with App Inventor Adopting
C
Computational Action������������������������������������������������������������������������������ 305
Christiane Gresse von Wangenheim, Nathalia da Cruz Alves,
Miriam Nathalie Fortuna Ferreira, and Jean C. R. Hauck
21 Learning Computational Thinking in Secondary School (Year 8)
in Germany in International Comparison:
Results from ICILS 2018������������������������������������������������������������������������ 319
Amelie Labusch and Birgit Eickelmann
22 Computational Thinking in Pre-vocational Education:
A Focus on Coding Unplugged �������������������������������������������������������������� 331
Diane van der Linde-Koomen, Herma Jonker, and Joke Voogt
23  Case of Girls Building Robots or Robots Building the Girls? �������� 343
A
Milorad Cerovac and Therese Keane
24 Applying Hybrid Programming in High Schools:
An Empirical Study Analysing Teachers’ Opinions ���������������������������� 359
Djordje M. Kadijevich
25 Hybrid VR Programming: Extending the Notional
Machine for C++�������������������������������������������������������������������������������������� 371
Peer Stechert and Goran Vukovic
26 
Cognitive Influences on Learning Programming���������������������������������� 389
Jason Zagami
27 
Where Next for Coding in Schools? ������������������������������������������������������ 401
Andrew E. Fluck

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

Belinda Bath is an educator with over 20 years of experience teaching interna-


tionally and across Australia. She holds qualifications in early childhood and gifted
education, management and leadership. Belinda’s professional journey has allowed
her to work in many different roles, including teacher, leader, consultant, child
development officer, board member and most recently, as a student herself. Belinda
is currently undertaking post-graduate studies, and her research project is investi-
gating gender and the impact of childhood experience on later career choices in the
science, technology, engineering and medical professions.

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).

Martin Beneš is a graduate of the Faculty of Education at Charles University, MA


in IT and Pedagogy for Lower and Upper Secondary School Education. PhDr
Martin Beneš is currently a PhD candidate at the same faculty. As part of his thesis,
he is investigating issues of minors gambling, software development and cybersecu-
rity. He teaches on MA courses for student teachers of informatics and for IT teach-
ers (Python programming, Didactics of Informatics) and on courses for student
teachers of Primary Education (IT didactics, Digital technology in primary educa-
tion, etc.) (Chap. 19).

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

started working as a mathematician-programmer, then moved into the education


system. From 1990 to the present, she has been a computer science teacher at a rural
school near Moscow, combining educational and scientific activities. Ludmila is the
author of more than 400 scientific papers on the theory and methodology of teach-
ing computer science and informatisation of education, computer science textbooks
for elementary and high schools. She is currently a Doctor of Pedagogical Sciences,
and Head of Department of Theory and Methods of Teaching Mathematics and
Informatics in Moscow Pedagogical State University. She has been a corresponding
Member of the Russian Academy of Education since 2022 (Chap. 8).

Rosa Bottino is Emeritus Research Director of the Italian National Research


Council (CNR) and directed for more than 11 years the Institute of Educational
Technology of CNR and was also President of the CNR Research Area of Genova
(Italy). She led competitive projects funded by the European Commission and
Italian Institutions, and acted as research evaluator of many European, International
and National research projects and Institutions. Dr. Bottino obtained national and
international awards such as IFIP Silver core and outstanding service awards,
SAPIO Award for “Scientific outstanding woman researchers”, and best paper
awards in a number of international conferences. Dr. Bottino is currently IFIP TC3
vice-chair and chair of the WCCE-2022 World Conference. She is the author of
more than 150 international and national scientific papers (Chap. 5).

Miroslava Černochová completed her doctorate at the Faculty of Mathematics


and Physics of Charles University, Prague. Since 1985, she has worked as a teacher
educator and researcher at the Faculty of Education at Charles University. She is
dedicated to the implementation of computer education in primary and secondary
schools and to the development of student teachers´ digital competence. In recent
years, she has contributed significantly to the national governments’ strategy to inte-
grate computing as a compulsory subject into the curriculum of primary, lower and
upper secondary schools. Her research is devoted to issues around shaping compu-
tational thinking (CT) of primary education student teachers and around mastering
key concepts and skills of primary school pupils when learning Computing, includ-
ing developing a methodology of how to identify and measure pupils’ CT level
(Chap. 19).

Milorad Cerovac is a lecturer at La Trobe University in Victoria, Australia. He had


17 years of experience in the Information Technology field, as a Software
Programmer and Database Specialist, before moving into teaching, where he has
taught Physics, Systems Engineering and Software Development. Milorad’s
research interests include the innovation capabilities of students in the Technologies
curriculum. Milorad has been heavily involved with the FIRST LEGO League in
Victoria and was co-founder/lead mentor for the RoboCats – a schoolgirl only
robotics team that participated in the FIRST Robotic Competition from 2014-2020
(Chap. 23).
Contributors xv

Christina Chalmers is a senior lecturer in STEM and Technologies Education at


the Queensland University of Technology. Her research focuses on group metacog-
nition, computer supported collaborative learning, digital pedagogies, and robotics-­
based STEM education. She currently coordinates the Technologies Curriculum
unit and a STEM master’s unit within the Faculty of Creative Industries, Education
and Social Justice. Chris is the project leader for the Robotics@QUT outreach pro-
gram and is the coordinator of the Children’s Technology Centre for the Australian
Research Council of Excellence for the Digital Child. Chris has published in top
international journals on mathematics, robotics education and STEM “Big Ideas”
(Chap. 13).

Mick Chesterman teaches at the Manchester Metropolitan Faculty of Health and


Education on Foundation and project-based units. His PhD studies involve families
exploring cultural and ecological issues of coding platform games together. He has
a history of teaching media making and web creation skills to facilitate positive
change for social groups. In recent years, he has run several outreach programs
in local communities and schools linked to the University. These workshops have a
focus on creative coding and the use of physical materials. He is the founder of a
making and repairing workshop called Todmorden Makery which works with adults,
young people and families to repair objects and transform old technology into art
projects (Chap. 12).

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).

Jody Clarke-Midura is Associate Professor of Instructional Technology and


Learning Sciences in the Emma Eccles Jones College of Education and Human
Services at Utah State University. Her research focuses on learning and assessment
with digital media, toys and games in the context of Science, Technology,
Engineering, Mathematics, and Computer Science (STEM+C). She holds a mas-
ter’s and doctorate from the Harvard Graduate School of Education (Chap. 3).

Nathalia da Cruz Alves is a PhD candidate of the Graduate Program in Computer


Science (PPGCC) at the Federal University of Santa Catarina (UFSC) and a Data
Scientist at FEESC/UFSC, Florianópolis, Brazil. She is also a researcher at the ini-
tiative Computing at Schools/INCoD/INE/UFSC focusing mainly on the learning
xvi Contributors

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).

Valentina Dagienė is principal researcher in computer science (informatics) edu-


cation at Vilnius University, Lithuania. Her main research area is informatics educa-
tion in schools including teacher training, curricula development and technology
enriched methodology. V. Dagienė has published more than 300 research papers in
international journals, 3 monographs and 60 textbooks. She organised more than 20
international conferences, e.g. ITiCSE in Vilnius (2014), and constructionism with
focus on computational thinking (2018). She is a founder and organises annual con-
ferences during International Olympiads in Informatics, e.g., in Japan 2018,
Azerbaijan 2019, Singapore 2020–2021 (online), Indonesia 2022. She established
and is editor-in-chief of international journals Informatics in Education and
Olympiads in Informatics (indexed by Scopus, WOS emerging list and other data-
bases). She has coordinated more than 50 national and international projects on
informatics education, STEM, teacher training, etc. (Chap. 10).

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).

Garry Falloon is Professor of STEM Education in the Macquarie School of


Education at Macquarie University. His background includes 22 years teaching and
leadership of primary and secondary schools in New Zealand, Education Foundation
Manager at Telecom New Zealand, working with Microsoft in the Partners in
Learning and Digital Learning Object projects, and as project lead for the New
Zealand Government’s $10m Digital Opportunities Project. His research interests
include mobile learning, digital learning in primary and middle schools, online and
blended learning, curriculum design, pedagogy and assessment in digitally sup-
ported innovative learning environments, learning in primary science and technol-
ogy, and educational research methods (Chap. 16).
Contributors xvii

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).

Takahisa Furuta is an associate professor in the Cooperative Faculty of Education,


Gunma University, Japan. His research interests are in technology education and
psychology of problem solving. Dr. Furuta has been involved in teaching computer
programming and computer hardware for preservice teachers and K-12 students
(Chap. 18).

Mareen Grillenberger is professor for Computer Science Education at lower sec-


ondary level at the Schwyz University of Teacher Education in Switzerland. With
her research group, she currently conducts research on educational escape games,
quantum computing and physical computing in lower secondary Computer Science
education. For many years, her main research interest has been in physical comput-
ing. In addition to a comprehensive theoretical exposition of the field, teaching sce-
narios were developed and evaluated in regular lessons in close cooperation with
teachers. She has conducted numerous workshops in this area and has thus been
able to transport the topic into many classrooms (Chap. 15).

Matthew Harrison is an experienced teacher, researcher and digital creator with a


keen passion for utilising technology to enhance social capacity building, belonging
and inclusion in education. He has taught in Australia, South Korea and the United
Kingdom at primary, secondary and tertiary levels. Matthew is currently coordinat-
ing Autism Intervention within the Master of Learning Intervention, and is the co-­
director of student experience at the University of Melbourne Graduate School of
Education. His research primarily focuses on neurodiversity, inclusive education
and the effective use of digital technologies as teaching and learning tools. As a
gamer, he has a particular interest in digital games-based learning and intervention
(Chap. 11).
xviii Contributors

Jean C. R. Hauck holds a PhD in knowledge engineering and a master’s degree in


computer science from the Federal University of Santa Catarina (UFSC) and a
degree in computer science from the University of Vale do Itajaí (UNIVALI). He
was a visiting researcher at the Regulated Software Research Centre – Dundalk
Institute of Technology – Ireland. He is currently a professor in the Department of
Informatics and Statistics at the Federal University of Santa Catarina, member of
the Software Quality Group (GQS) and member of the initiative Computing at
Schools (Chap. 20).

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).

Djordje M. Kadijevich earned a PhD in informatics in education from University


of Novi Sad, Serbia, in 1995, and a PhD in mathematics education from University
of Joensuu, Finland, in 2004. He currently works as full research professor at the
Institute for Educational Research, Belgrade, Serbia, where he conducts research in
mathematics, informatics, and statistics education. His most recent co-edited book
is Improving Computer Science Education (Routledge, 2013). His papers, pub-
lished by Elsevier, Routledge, Springer, and Wiley-Blackwell among others, have
been widely cited (about 1,400 times at present according to Google Scholar). Dr.
Kadijevich is a member of Working Groups 3.1 and 3.3 of the IFIP Technical
Committee on Education, the International Association for Statistical Education,
and the Committee for Education of the Serbian Academy of Sciences and Arts
(Chap. 24).

Gerald Knezek is Regents Professor of Learning Technologies at the University


of North Texas, in Denton, Texas, USA. He was Lead Principal Investigator for a
2016-2022 NASA-funded Space Science Education Consortium project
(NNX16AL63A) assessing impacts of technology-engaged computational thinking
activities with robotics and drones, on middle school students. Dr. Knezek has been
involved in teaching coding for K-12 students and teachers for more than 30 years
(Chap. 18).

Joseph S. Kozlowski currently works at Utah State University’s Edith Bowen


Laboratory School where he works directly with elementary students, trains preser-
vice teachers and conducts educational research. Kozlowski has a passion for bridg-
ing real life experiences to learning and prioritises getting students in the field to
build rich experiential knowledge. His ongoing research in mathematics education
relates to supporting early childhood mathematics through coding toy activities and
fostering creative thinking in mathematics (Chap. 3).
Contributors xix

Amelie Labusch works as a research assistant in the department of School


Education of Prof. Dr. Birgit Eickelmann at Paderborn University in Germany. Her
research interests focus on computational thinking and digitalisation processes in
education, and matters related to the associated developments and changes in
schools (Chap. 21).

Victor R. Lee is an associate professor in the Graduate School of Education at


Stanford University. Through his research, he asks what STEM knowledge, tools
and practices are important to know in order to enable active participation and criti-
cal engagement with our increasingly digitally-infused lives. Currently, this work
involves researching and designing experiences for K-12 teaching and learning
about data – often through a “quantified self” perspective, documenting and sup-
porting the development of computational thinking in elementary school class-
rooms, and analysing and supporting maker education in out-of-school settings. Lee
completed his PhD in Learning Sciences at Northwestern University (Chap. 3).

Tanya Linden is a Senior Teaching Fellow at the University of Melbourne. She


has a diverse educational background with qualifications and expertise that cover
information technology, enterprise systems and Web development. Her teaching has
been recognised as outstanding at the University of Melbourne and Victoria
University where she has been presented with teaching awards. Her research inter-
ests are in blended learning, educational technology, promoting STEM careers to
female students of various ages, multimedia development practices and enterprise
systems. She is well-published in all these areas and regularly presents her work
throughout North America, Europe and Australasia (Chap. 17).

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

Jonathon Mascorella is a leader in innovation and strategic technological integra-


tion in schools. His primary focus is on delivering strong outcomes for students and
teachers in using and implementing technologies that enhance learning and teach-
ing. In research, Jonathon focuses on the human experience through social con-
structs and context, intermixed with technology. His PhD focused on the interactions
between power-knowledge and policy implementation at a State, school and indus-
try level (Chap. 14).

Fiona Mayne is a senior lecturer in technology education and educational psy-


chology with the Graduate School of Education at the University of Western
Australia. Fiona has a developing international profile, and has considerable exper-
tise in qualitative participatory measures and methodologies for meaningful research
with children in the areas of young children’s rights, voice and agency in research,
as evidenced in her book entitled, The Narrative Approach to Informed Consent.
Her body of work to date has made a significant contribution to empirical, theoreti-
cal and methodological knowledge in early years research ethics, children’s rights-­
based participatory research and increasingly technology education (Chap. 6).

Andreea Molnar is an Associate Professor at the Swinburne University of


Technology, Department of the Computing Technology and an Anna Boyksen
Fellow at the Technical University of Munich. She was awarded a PhD in Technology
Enhanced Learning from the National College of Ireland. She has worked in differ-
ent countries such as the UK, USA and now in Australia. Her research focuses on
computing for the social good and incorporates various aspects from information
systems, HCI, educational technology and computer science education. She is a
Senior Editor for Information Technology & People (Chap. 17).

Jayanti Nayak is a PhD candidate at Swinburne University of Technology. She


has more than 10 years industry experience in the field of Computer science and
Product development. She has been teaching Computing and Computer Programming
in a high school setting in Australia. As Director of Arts and Technology at her cur-
rent school, she has been encouraging STEM and computing related careers to high
school students (Chap. 17).

Yoshiaki Okugi is Vice Principal of Nakanojo Junior-High School, Gunma, Japan.


He mainly taught technology classes and has been involved in improving teaching
methodologies and classroom management for more than 30 years. His main
research interests are in the practices of information education (Chap. 18).

Hanna Palmér is Professor of Mathematics Education at Linnaeus University in


Sweden. Her research is focused on early mathematics teaching and learning. Of
special interest is problem solving and digital technology in mathematics education.
She also studies the professional identity development of mathematics teachers. At
Linnaeus University she is the Dean of teacher education (Chap. 2).
Contributors xxi

Stamatios Papadakis has been a postdoctoral researcher in Educational


Technology, with an emphasis on mobile learning, in the Department of Preschool
Education at the University of Crete, Greece, since 2016. He has worked in several
international and national computational thinking and pedagogy projects, of Pre-K
to 16 Education. His scientific and research interests include the study of mobile
learning, especially on the use of smart mobile devices and their accompanying
mobile applications (apps) in Preschool and Primary Education, focusing on the
development of Computational Thinking and students’ understanding of numbers.
Furthermore, he currently investigates how a STEM learning approach influences
learning achievement through a context-aware mobile learning environment in the
preschool classroom and explains the effects on pre-schoolers’ learning outcomes
(Chap. 4).

Hasan Selcuk, PhD, is Assistant Professor at the Faculty of Education, Psychology


and Art, University of Latvia. Previously, Dr. Selcuk was a postdoctoral researcher
and lecturer at the Faculty of Education, Charles University in Prague. He received
his PhD in Education from King’s College London in 2017. In his PhD thesis, Dr.
Selcuk focussed on student perceptions of peer collaboration through the medium
of web-based collaborative writing among learners of English as a Foreign
Language. His research interests relate to computer-assisted foreign language writ-
ing, online small group learning and teaching computational thinking to primary
school pupils (Chap. 19).

Jessica F. Shumway is Associate Professor of Mathematics Education at Utah


State University. She centres her research on improving elementary mathematics
education, and currently investigates instructional practices and learning technolo-
gies that foster mathematical and computational thinking in preschool and elemen-
tary classrooms. Shumway was an elementary school teacher and mathematics
instructional coach in U.S. schools. She is the author of Number Sense Routines
books. She and her co-authors are members of the Coding in Kindergarten Research
Team at Utah State University and Stanford University, National Science Foundation
Grant #1842116 (Chap. 3).

Deborah Silvis is a Postdoctoral Researcher in Instructional Technology and


Learning Sciences at Utah State University, where she examines early childhood
computing. Her research primarily focuses on learning and teaching of young chil-
dren and is concerned with the ways in which human-technology interactions are
involved in transforming learning, society and ecologies (Chap. 3).

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

Gabrielė Stupurienė is a PhD in technological sciences (informatics engineer-


ing), is a researcher at Vilnius University (Faculty of Philosophy and Faculty of
Mathematics and Informatics). Her main research interest is Informatics/Computer
science education, computational thinking, STE(A)M education, digital competen-
cies, technology acceptance models. She is involved in international projects on
informatics education, computational thinking, STEAM education, teacher train-
ing. She is executive editor of international journal Informatics in Education and
has been involved for more than 10 years as a volunteer in the international Bebras
challenge on informatics and computational thinking (Chap. 10).

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).

Lina Vinikienė is a project coordinator and researcher at Vilnius University


Faculty of Philosophy. The areas of scientific interest are the assessment of student
competencies, design and development of the digital content, non-formal and for-
mal education activities. She is publishing scientific papers about teaching/learning
approaches, computational thinking assessment, development of informatics tasks.
Lina Vinikienė is involved in organising the Bebras challenge on informatics and
computational thinking. She implements seminars based on informatics activities
for teachers and students in primary and secondary schools. Also, she has experi-
ence with implementing Erasmus+ projects (e.g., IncluSMe, OnlineHe, 3C4Life)
(Chap. 10).

Christiane Gresse von Wangenheim is a professor in the Department of


Informatics and Statistics of the Federal University of Santa Catarina (UFSC),
Florianópolis, Brazil, where she coordinates the Software Quality Group focusing
on scientific research, development and transfer of software engineering models,
methods and tools and education. She also coordinates the initiative Computing at
Schools, which aims at bringing computing education to schools in Brazil. She
received the Dipl.-Inform. and Dr. rer. nat. degrees in Computer Science from the
Technical University of Kaiserslautern (Germany), and the Dr. Eng. degree in
Production Engineering from the Federal University of Santa Catarina (Brazil)
(Chap. 20).

Joke Voogt is emeritus professor ICT and Curriculum at the University of


Amsterdam. Her research interests are curriculum innovation and implementation
of digital technology, teacher professional development, twenty-first century skills
and research-practice relationships. She is co-founder of the EDUsummIT, a global
community of researchers, policymakers and educators committed to supporting the
integration of technology in education by promoting active dissemination of
research (Chap. 22).
Contributors xxiii

Goran Vukovic holds a master’s degree in media informatics. He is a teacher at the


RBZ Technik Kiel. His work interests include VR programming and the subject
media technology (Chap. 25).

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).

Karen Woo is a PhD candidate at Macquarie School of Education at Macquarie


University. Karen is researching the development of computational thinking and
twenty-first century competencies through coding. She is an experienced coding
and robotics educator working with pre-service teachers and primary-age students.
She also consults with schools on integration of technology in the classrooms
(Chap. 16).

Jason Zagami is a senior lecturer in the School of Education and Professional


Studies at Griffith University on the Gold Coast in Queensland, Australia, where he
teaches and conducts research on innovations in educational technologies, focusing
on the identification of emerging trends, educational gaming (including VR, AR and
VWs), student co-creation of secondary worlds, AI and robotic applications in
teaching, neural/cognitive activity measurement, and computer science education
(K12) with a focus on curriculum development and implementations involving
higher-order thinking skill development, concept developments through visualisa-
tion and manipulation, and challenges for female participation in computer science
education (Chap. 26).
Chapter 1
Introduction: The Need for Programming
and Computational Thinking from Early
Childhood Education Through
to Secondary Schooling

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

© The Author(s), under exclusive license to Springer Nature 1


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_1
2 T. Keane

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.

1.1 Early Childhood Education

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

Chapter 13, from Jonathon Mascorella, University of Technology Sydney, and


Maria Emmi from Loreto Kirribilli in Australia, presents a case study from an all-­
girls school. It provides a narrative reflection on the implementation of professional
learning activities for teachers and learning experiences for primary students. The
authors believe there is a potential relationship between developing teacher capacity
through professional learning, innovative teaching pedagogy to use technologies in
the classroom and the careful integration of digital literacies.
Chapter 14 is from Mareen Grillenberger from the Schwyz University of Teacher
Education in Switzerland. She provides an overview of the term physical computing
from the perspective of computer science education research. This chapter looks at
the new general curriculum “Lehrplan 21” and explores the role of computer sci-
ence in the new school subject called “Media and Computer Science”. Guidelines
that contribute to the success of lessons are presented, and their application is illus-
trated by means of tested, evaluated and revised teaching materials developed for
secondary schools.
Chapter 15 was written by Christina Chalmers from Queensland University of
Technology in Australia and provides an overview of 37 systematic reviews and 12
meta-analysis studies on computational thinking and programming. Chalmers uses
a PRISMA flow diagram to structure the systematic collection and review of the
relevant studies for this chapter. The review highlights the reported difficulties stu-
dents face when learning to program and discusses relevant programming tools and
computational thinking frameworks identified in the reviewed studies, which help
address these difficulties. Learning to program presents challenges for students at
every level of education.
Chapter 16 from Karen Woo and Garry Falloon from Macquarie University in
Australia draws on data from an Australian Research Council Discovery Project.
The project explores how non-specialist teachers balance the goals of their primary
discipline with the computing concepts or computational thinking skills they are
expected to also teach. They document how these challenges influenced the digital
technology components of an interdisciplinary unit of learning implemented by
non-specialist teachers, within the context of a coding animated narrative (CAN)
task, a 1- to 2-minute animated “micro-narrative”, using Scratch. Results from both
primary and secondary schools are reported. The findings suggest that whilst inter-
disciplinary approaches to teaching coding hold considerable appeal, major chal-
lenges exist for non-specialist teachers.
Chapter 17 was authored by Jayanti Nayak and Andreea Molnar from Swinburne
University, Therese Keane from La Trobe University and Tanya Linden from The
University of Melbourne in Australia. The authors use the concept of programming
chatbots to teach secondary school students (Years 7–10) about artificial intelli-
gence. Artificial intelligence and chatbots are not new concepts; however, their
popularity has gained traction in recent years with the normalization of smart
devices in the house. The introduction of chatbots offers the benefit of supporting
1 Introduction: The Need for Programming and Computational Thinking from Early… 7

domain-specific skills to create innovative products. It also lends itself to creative


open-ended projects. This chapter demonstrates how chatbots work by getting stu-
dents to learn how to program their own using Python.
Chapter 18 is from Takahisa Furuta from Gunma University in Japan, Yoshiaki
Okugi from Nakanojo Junior High School in Japan and Gerald Knezek from
University of North Texas. The authors write about a project to teach programming
through the process of writing code to control model trains in Japan (Takara-Tomy’s
Pla-Rail, a popular product line of train toys among Japanese children). They anal-
ysed teaching and learning practices in junior high schools (ages 12–15 years) and
developed a visual block programming environment called Chameleon. This is a
modified version of Scratch for teaching programming with tangible toys. They
found that the block programming environment had positive effects on motivating
students through collaborative interactions whilst working on their programs.
Chapter 19 is from Miroslava Černochová and Martin Beneš from Czechia
Charles University in Czechia and Hasan Selcuk from University of Latvia in
Latvia. Together, they have researched how to teach Python (using the platform
Codeboard.io) to eighth-grade students. The paper discusses how to introduce
Python to students in lower secondary schools by using RPG Maker to create their
own games. The authors discuss factors influencing students’ understanding of text-­
based programming languages, such as the teacher’s expertise in computer science
and programming, student’s motivation and their previous experiences with
programming.
Chapter 20 comes from Christiane Gresse von Wangenheim, Nathalia da Cruz
Alves and Jean Carlo R. Hauck from Federal University of Santa Catarina and
Miriam Nathalie F. Ferreira from the National Institute for Research and Technology
on Digital Convergence in Brazil. The authors describe a course that was developed
following an instructional design process. It was applied and evaluated in Brazilian
middle and high schools with students aged 9–20 years. Students learned to develop
a running mobile app with App Inventor. The results of this study demonstrated how
learning about user interface design, design thinking and agile software engineering
can have a positive impact on motivation, student learning and learning achievement.
In Chapter 21, Amelie Labusch and Birgit Eickelmann from Paderborn University
in Germany present research from the 2018 International Computer and Information
Literacy Study (ICILS 2018) focusing on Year 8 students. Their study found that
learning about computational thinking is crucial and they share their three findings
from the data: (1) Learning and teaching computational thinking is still missing/
upgradeable in many educational systems. (2) Individual characteristics, especially
social and migration background, have a significant impact on the acquisition of
computational thinking. (3) In the context of computational thinking, it is beneficial
to include aspects of problem-solving.
Chapter 22 is authored by Diane Van der Linde and Herma Jonker from
Windesheim University of Applied Sciences and Joke Voogt from the University of
Amsterdam in the Netherlands. They present a proof-of-concept study about the
implementation of computational thinking (CT) in pre-vocational education (ages
14–16 years) in the Netherlands. The authors present two case studies where
8 T. Keane

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.

1.4 Final Words from the Editors

All chapters provide a thought-provoking perspective of how programming and


computational thinking are taught to students from early childhood to secondary
schooling. Each chapter has been subjected to a double, blind peer review process
to ensure quality controls are in place. Each chapter presents a unique perspective,
the authors collectively agree on the importance of programming and computational
thinking skills development, regardless of which part of the world they reside in. We
noticed many similar challenges and successes across the world. The global view-
points taken from all contributors to this book make the case that teaching program-
ming to children from an early age is essential. The use of educational robots is one
method to teach students how to program in a fun and authentic way. However, this
is by no means the only way to teach coding. Other methods provided by the authors
of this book include game making, undertaking competitions or challenges and
other novel ways to increase student’s interest and participation in programming.
We hope that this book contributes to the body of work on the importance of
teaching coding and computational thinking to children from early childhood, pri-
mary and secondary schools. Each chapter of the book adds a new perspective to the
conversation and deepens our understanding of how to teach programming and
computational thinking to children across their schooling trajectory. We hope that
this book inspires educators, researchers and policymakers alike to support conver-
sations about pedagogy and reflective practice. Finally, we also would like to thank
the authors and reviewers for their contribution to this important conversation.
Warm wishes
Therese Keane and Andrew Fluck

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

© The Author(s), under exclusive license to Springer Nature 13


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_2
14 H. Palmier

distinct phases: preparation, development, implementation, retreat and renaissance.


A significant difference between the early implementation of programming in
schools in the 1960s and the current day is that the early initiatives were made by
small groups of enthusiasts, while now it is part of a widespread political agenda.
However, programming is more than coding and the similarity between the early
implementations and the current day is the relative paucity of what other knowl-
edge, for example, mathematics, can be learned while programming.
In this chapter, an educational preschool project integrating programming and
mathematics will be focused on (see also Palmér, 2017). In the Swedish preschool
curriculum, the following is expressed:
Education in the preschool should give children the opportunity to use mathematics to
investigate and describe their environment and solve everyday problems. Education should
also give children the opportunity to develop adequate digital skills by enabling them to
develop an understanding of the digitalisation they encounter in everyday life. (National
Agency for Education, 2018, p.10)

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.

2.2 Research on Young Children and Programming

Integrating programming and mathematics can be connected to the notion computa-


tional thinking. Brennan and Resnick (2012) divide computational thinking into
three dimensions: computational concepts (the concepts employed when program-
ming, for example, loop, algorithm), understanding of computational practices (for
example, the practices of debugging, problem-solving) and understanding of com-
putational perspectives (for example, understanding of programming and digitiza-
tion in everyday life). Bers et al. (2014) include abstraction, decomposition,
debugging, remixing and productive attitudes against failure in computational
thinking emphasizing that these are competencies of general applicability useful
beyond programming. For example, decomposition, debugging and productive atti-
tudes against failure are of relevance when working on problem-solving in mathe-
matics (Palmér, 2016). Also, Heikkilä and Mannila (2018) emphasize that young
children can develop their creativity as well as knowledge in problem-solving by
being involved in programming.
Today, there is a relatively large market of programmable kits for young children.
In a survey of computational kits that enable children aged 7 years and under to
explore computing ideas and practices, Yu and Roque (2018) identified 34 kits
which based on their physical features were categorized as physical kits with or
without electronics, virtual kits, hybrid kits with virtual programming blocks and
hybrid kits with tangible programming blocks. There are, however, quite a few stud-
ies on programming with children under the age of 5 years. Studies with children
2 Children (Aged 3–5 Years) Learning Mathematics Through Programming… 15

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.

2.3 The Role of the Preschool Teacher

Children having access to a programming environment, whether it be digital or


analogue, does not necessarily mean that they discover or develop computational
thinking or mathematical ideas. Furthermore, even if a child thinks mathematically
when programming, there is no guarantee that the child perceives the mathematics
as intended. In a Swedish study, four strategies preschool teachers used when teach-
ing mathematics was identified. One strategy was to confirm the mathematical rea-
soning or expressions that were used by the children. Another was to offer the
children strategies for solving a mathematical problem, for example, by showing a
child how to compare properties of geometrical shapes when sorting. A third strat-
egy was preschool teachers situating mathematical concepts into activities. Finally,
16 H. Palmier

a fourth strategy was to provide children with an expanded understanding of con-


cepts by providing new experiences of how concepts could be used or understood
(Björklund et al., 2018). All these strategies when teaching mathematics are possi-
ble in relation to programming.
In the Swedish preschool curriculum, it is stated that the preschool teachers are
responsible for every child being able to use digital tools in a way that stimulates
development and learning (National Agency for Education, 2018, p. 16). Thus,
regardless of which programming environment used, preschool teachers have an
important role to play. However, programming has seldomly been part of Swedish
preschool teacher educations. This, together with the limited research on young
children and programming, brings a risk that programming in preschool may
become fragmented and insufficient (Margado et al., 2010).
To successfully teach mathematics within a programming environment, a pre-
school teacher needs to have knowledge of both mathematics education and pro-
gramming. For example, if a preschool teacher does not know what a mathematical
pattern is and how patterns are built by units, it is impossible for the preschool
teachers to plan program activities in which patterns become the mathematical
object of learning. Besides knowledge in mathematics education, the preschool
teachers need to have knowledge of possibilities and limitations with the program-
ming environment to be used. Based on such knowledge, preschool teachers can
choose, for example, between digital and analogue programming, tablets or interac-
tive whiteboards, working individually or collectively with groups of children
(Mishra & Koehler, 2006).
Even though digital skills is explicitly stated in the Swedish preschool curricu-
lum, programming, however, is not. A study by Otterborn et al. (2020) showed that
two-thirds of Swedish preschools try to include programming in their activities.
These activities include both analogue and digital programming where the most
common is digital or a mixture of the two. The most common programming envi-
ronment was the use of robots developed for teaching purposes. Educational robots
can be programmed both with and without a tablet computer. The majority of pre-
schools that included programming in their activities had no strategy or policy about
programming. Instead, programming took place because of the teachers’ own initia-
tive where technology and mathematics were especially emphasized as motives for
why preschool children should be involved in programming. Other motivations
included the development of motor skills and the recognition of symbols (Otterborn
et al., 2020).

2.4 Project: Learning Mathematics Through Programming

In this combined development and research project, preschool children together


with their teachers worked with programmable robots especially designed for young
children (Fig. 2.1). In line with the Swedish curriculum for preschool, the program-
ming activities intended to make it possible for the children to explore and use
2 Children (Aged 3–5 Years) Learning Mathematics Through Programming… 17

Fig. 2.1 The programmable robot (BeeBot) and examples of gridded mats and child-developed
instructions used in the project

mathematics to investigate, reflect on and test different solutions to problems raised


by themselves and others. To enable this, the programming activities included
implementation of pre-planned activities as well as the children programming on
their own initiatives. Thus, the programmable robots and the connected material
were available for the children all the time in preschool. Working with both pre-­
planned and child-initiated activities is in line with research showing the importance
of children being both producers and consumers of digital technology (Gadanidis
et al., 2017).
The robot is programmed by using command buttons on the back of the robot.
The commands available are moving forward (arrow pointing in the forward direc-
tion of the robot), turning 90 degrees right or left (curved arrows), moving backward
(arrow pointing in the backward direction of the robot), GO (green button activating
the sequence of instructions), PAUSE (an equal sign on the button – makes the robot
temporarily stop) and CLEAR (says ‘clear’ on the button – erases the memory). Up
to 40 instructions can be set for each sequence. Each performed command is fol-
lowed by a blink of the eyes on the robot and a beep sound when the sequence of
steps is completed. The robot moves 15 cm when moving ‘one step’ forward or
backward. When turning, the robot turns on the spot.
Together with the robot, it is possible to use commercial mats with 15-cm
squares. When the robot is to be programmed to move on these gridded mats, space
(where and how to go) counting (number of squares and commands) and measuring
(the distance) are possible mathematical elements of the activity. In the combined
development and research project, two such mats were used, one picturing a farm
and the other picturing a treasure map (Fig. 2.1).
18 H. Palmier

2.4.1 Designing the Activities

To enable progression in relation to children’s age and their previous experiences,


the programming activities in the project were developed and introduced in four
rounds. The instruction for the teachers was to integrate the programming into ordi-
nary preschool activities. To enable agency and promote thinking and doing, not just
doing which have been noticed in earlier studies on programming, guided interac-
tion was used (Stephen & Plowman, 2008). For example, the teachers could initiate
de-bugging by helping the children to recognize when something in the program-
ming was not working according to the plan. However, the children had the agency
to decide what to do, either they could try to solve the problem or they could change
the goal through programming (Bers et al., 2014).
The activities will be presented briefly, with empirical examples to get an over-
view of what the children experienced. When each activity commenced, it was dic-
tated by the interest of the child who decided if and when that activity was further
explored. Even as new activities were introduced, the children could choose to work
with the activities from previous rounds and often they developed alternative activi-
ties merging from several rounds.
The activities in the first round focused on how to program the robot and con-
cepts to describe the programming. For example, the teacher could first program
one robot and ask the children to verbally and with gestures describe its movements
on the gridded mat. Also, the children were asked to program their robots, making
them move the same way as the teacher’s robot, and the similarities and differences
were discussed. Gradually, and related to the experiences of the children, the teach-
ers included more movements and more concepts (for example, forward, right, left,
counting steps, backward, outside, inside, at first, after, rotate).
Teacher: Why didn’t my robot end up in the same place as yours?
Child: Maybe we did not press the arrow similar times?
Teacher: How many grids did your robot move before stopping at the house?
Child: One, two, three. Three grids. And yours. One, two, three, four. Four. Then I will
add one more on my robot.

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

sequence (communicating the programming of the robot) (Gelman & Gallistel,


1978). Also, understanding of the symbols (arrows) on the robot and symbols in
general (programming friend or draw map) was included in several of the activities.

2.5 Thinking and Doing, or Just Doing?

To investigate the mathematics preschool children learned by being involved in the


programming activities, a pre- and post-test design was used (Palmér, 2017). These
tests focused on spatial thinking, symbols and counting as these were the mathemat-
ical content focused on when designing the activities. Due to several reasons, differ-
ences between the children were expected in both pre- and post-test. The children
were of various ages (3–5 years) and they had different previous experiences of both
mathematics and programming. To varying degrees, they explored various activi-
ties, such as drawing their own maps, while others preferred to program their
friends. However, despite these expected differences, there were some regulari-
ties found.
In the post-test, all children could program the robot based on instructions. These
instructions could be verbal (program the robot to move from a to b), a grid map
with a drawn movement or an instruction based on symbols (arrows). Thus, they
understood the relationship between the instructions and how to program the robot.
Some of the children programmed the robot in several stages. That is, first they
programmed ‘two forward and rotate to the left’, and after that they pressed go and
let the robot move two forward and rotate. Then they added the continuation of the
programming, moved the robot to the initial starting place and again pressed go.
Thus, the children decomposed the task into sub-tasks.
Another method the children used to program the robot was to look at the paper
map and, for example, say ‘two forward’ and then press the arrow for forward on the
robot twice. After that, they looked at the map again saying, ‘rotate’, and then they
pressed the rotate arrow on the robot. A third strategy was to move the robot by hand
on the big grid map at the same time as pressing the commands. A fourth strategy
was to move one hand on the big grid at the same time as pressing the commands on
the robot with the other hand. A variant of this was, instead of moving one hand one
step at a time on the big grid map, moving all steps in the same direction at the same
time saying, for example, ‘one, two forward’, and then pressing the forward button
twice on the robot. These examples show that several modalities were often used by
the children simultaneously.
Another task in the post-test was the children describing the programming they
just had made with symbols. Some of them let the robot drive the distance several
times, drawing a bit at a time (decomposing), while others drew the whole distance
at once. Also, they were to program based on an instruction with symbols. Quite
often, the children could predict exactly where the robot would end, and if not, they
were very close in their predictions. Similarly, as mentioned above, some of the
children moved their hand along the grid map at the same time as they said, for
2 Children (Aged 3–5 Years) Learning Mathematics Through Programming… 21

example, ‘backward’ or ‘pause’, showing knowledge of what each symbol would


make the robot do.
In summary, the post-test showed that the children had been both thinking and
doing, not just doing. The children had developed their spatial thinking and their
understanding of symbols. Also, they verbally used the terminology ‘forward’,
‘backward’, ‘rotate’ and ‘turn’ when explaining the meanings of the symbols. At the
same time as they used these words, they often used gestures (hands) and move-
ments (body) to show how the robot would move when using the different symbols.

2.6 Conclusion

Which mathematical competencies and skills becoming possible to learn when


working with programming depends on the kind of programming activities the chil-
dren are involved in. In this project, mainly spatial thinking, counting and symbols
were included in the activities. Through working with both pre-planned and child-­
initiated activities, the children became both producers and consumers of digital
technology. Planning the project in several rounds with clear goals for what the
children were to explore counteracted the programming becoming fragmented.
Together with the design of the activities, the preschool teachers had an important
role. The teachers were present cooperating with the children, not in the sense of
directing but instead enabling. Through the project, the children had agency to vary-
ing degrees to explore various activities. Despite the children exploring various
activities to different degrees, the children, in line with the design of the activities,
had developed their spatial thinking, their counting abilities and their understanding
of symbols. Thus, the results show that programming is one possible way to work
with mathematics in preschool with children aged 3–5 years.

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

Jessica F. Shumway , Jody Clarke-Midura , Victor R. Lee ,


Deborah Silvis , Lise E. Welch Bond , and Joseph S. Kozlowski

3.1 Introduction

Teaching coding and computational thinking (CT) in schools is garnering attention


in the United States, including in the early childhood grades (Kindergarten to Grade
2). Schooling as situated in the current digital and information technology society is
increasingly requiring the teaching of CT, which is often considered a new kind of
literacy (Bers et al., 2019; Wing, 2006). It has been argued that CT is one of the
most important skills for students to learn (Kafai & Burke, 2014), and programming
is an important context for enabling students to develop CT (Pea & Kurland, 1984;
Shute et al., 2017). As a result, CT and coding instruction are becoming more com-
mon in K-12 classrooms. An important distinction, however, is that coding in early
childhood classrooms looks much different than coding in secondary settings (Lin
& Weintrop, 2021). This has led to the production and marketing of various block-­
based activities and robot toys for young children to use in service of learning cod-
ing and CT (Bakala et al., 2021; Hamilton et al., 2020; Papadakis, 2021).

J. F. Shumway (*) · L. E. Welch Bond


School of Teacher Education & Leadership, Utah State University, Logan, UT, USA
e-mail: jessica.shumway@usu.edu
J. Clarke-Midura · D. Silvis
Department of Instructional Technology & Learning Sciences, Utah State University,
Logan, UT, USA
e-mail: jody.clarke@usu.edu; deborah.silvis@usu.edu
V. R. Lee
College of Education, Stanford University, Stanford, CA, USA
e-mail: vrlee@stanford.edu
J. S. Kozlowski
Edith Bowen Laboratory School, Utah State University, Logan, UT, USA
e-mail: joseph.kozlowski@usu.edu

© The Author(s), under exclusive license to Springer Nature 23


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_3
24 J. F. Shumway et al.

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

Manufacturer Terrapin Learning Primo toys


resources
Movements Forward Forward Forward
Rotate right 90° Rotate right 90° Rotate right 90°
Rotate left 90° Rotate left 90° Rotate left 90°
Back Back Back
Code blocks (codes that
correspond to the movement of
the robot)

Fig. 3.1 Adapted from Engeström’s (1987) image of an activity system

meaningful objects (coding, mathematics and computational thinking) with mediat-


ing artifacts (robot coding toys). This activity occurs within a community that oper-
ates with rules and division of labour, for instance, collaborative programming and
negotiation of which codes to use in the context of the rules for what the codes
instruct the robot toys to do. Hence, learning to code is planned and analysed as an
26 J. F. Shumway et al.

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.

3.2 Local Vignette of Coding in Kindergarten

3.2.1 Tasks for Introducing a Robot Coding Toy: Learning


Codes and Sequencing Codes

We provide a description of a first session with 5- and 6-year-old children gathered


on the rug for their technology centre in their kindergarten classroom. The teacher-­
researcher leading this activity introduced the Botley coding toy by asking the chil-
dren what they noticed about the robot. The children—pseudonyms Larissa, Hyrum,
James and Simon—discussed Botley’s structure (plastic eyes, plastic wheels, blue
box-like body) and remote control (arrows, trash can symbol, green GO button; see
Table 3.1). The teacher then explained that they could tell Botley how to move by
putting instructions in the remote using the arrow buttons, called codes. This pro-
cess of focusing on what the children notice and introducing specific arrows is typi-
cal for our first activities.
The teacher and children then spent time programming forward and backward
linear movements and observing Botley’s movements across the grid-structured
mat. The teacher used the grid mat to emphasize that one forward or backward
arrow instructs Botley to move only one grid space.
Kindergarteners frequently struggle with turns representing rotation on a point.
That was the case in the episode below when the teacher asked the children what the
3 Teaching Coding in Kindergarten: Supporting Students’ Activity with Robot Coding… 27

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.

3.2.2 Debugging a Buggy Program: What Happened?

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?

• Teacher: There’s a bug in the program. This is what programmers do sometimes.


They have to figure out where the bug is to fix it…Show me in this program
((pointing to the program on the program organizer)) where is the bug in the
program ((holding out plastic toy bug)).
• Larissa: ((Places the toy bug on the ROTATE LEFT code on program organizer.))
30 J. F. Shumway et al.

• Teacher: Say, it’s a bug!


• Students: It’s a bug!
• Larissa: It’s the wrong way! (see Fig. 3.3, scene #4).
• Simon: ((reaches for a ROTATE RIGHT code)).
• Hyrum: ((points at the ROTATE RIGHT code)).
After some discussion, the teacher asked Larissa to “switch it out”, and Larissa
switched the ROTATE LEFT code with a ROTATE RIGHT code, successfully
debugging the program with a swapping code strategy. She then defended her
debugging strategy with a rotation gesture with her hand (see Fig. 3.3, scene #5).
To summarize, this portion of the vignette shows how learning tasks can involve
operating the coding toy so that the robot produces “incorrect” behaviours, using an
external representation of codes (the program organizer) with the students and
explicitly naming some of their CT activities (such as debugging) as they emerge.
In the next section, we revisit portions of this vignette for illustrative purposes.

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.

3.3.1 Design Elements for Robot Coding Toy Tasks

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.

3.3.1.1 Introductory Tasks Focused on Context Proficiencies

In designing tasks to elicit engagement with specific CT skills such as algorithmic


thinking, debugging and decomposition, we found there were additional knowledge
and skills that were contextual to the grid-agent paradigm that students needed to
understand first. Specifically, we found students needed four context-specific
3 Teaching Coding in Kindergarten: Supporting Students’ Activity with Robot Coding… 31

grid-agent proficiencies to effectively engage in algorithmic thinking, debugging


and decomposition. These four context proficiencies are listed, defined and contex-
tualized in Table 3.2.
Drawing from the CHAT perspective, these context proficiencies emerged as
rules for coding activity, in particular the meaning of the codes and how to use them
to operate the robot. Students’ activity with the mediating artifact (robot toy) to
engage in the object (coding) proved difficult without first exploring the rules (con-
straints of the toy and learning to use codes). This exploration of the rules occurred
within the community (small group) as the students divided the labour (inputting the
codes, providing ideas for the code needed, gesturing predicted movements), which
thereby allowed students to better use the artifact to engage in coding. Hence, we
found that it was important to design the introductory tasks to elicit students’ activ-
ity in the context proficiencies. This was apparent in encouraging students to notice
and explore individual commands for the robot as a way of cuing context proficien-
cies. Students’ gestures were a mode they explored and expressed their understand-
ings of these context proficiencies.
It is worth noting that important mathematical work takes place here, too. The
context proficiencies are anchored in spatial concepts. Students explored spatial
orientation and reasoning as well as measurement and countable objects (grid
spaces or units of movement across grid spaces) in these tasks (Shumway et al.,
2021). Spatial orientation, in particular, can be a mediator of the tasks, because tasks
tend to be more challenging for students who are not seated sharing the robot’s
perspective on the grid space (Clarke-Midura et al., 2021a, b).

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.

3.3.1.2 Tasks for CT Strategies

Tasks can be designed to elicit specific CT competencies or component skills. For


example, in the What Happened? portion from the above vignette, we focused on
debugging and had a bug at the beginning of the program (a rotation bug). This task
had three design elements (an intentional bug, using the rotational bug, introducing
the bug at the beginning of the program) that leveraged students’ sense of spatial
rotation while teaching how to precisely symbolize a specific kind of rotation (right
versus left). Simultaneously, this task elicited debugging strategies. When Hyrum
ran the buggy program and the robot went toward Larissa, students’ recognition of
the problem was first expressed by giggling and Larissa moving her body so that the
robot did not run into her.
To debug this, there were two important actions from the children: (1) Larissa
pointed to the ROTATE LEFT arrow in the program organizer, identifying the bug
in the program and (2) Simon placed his hand on the goal, indicating that it was the
space on the grid where the robot needed to land. Together, these led to the debug-
ging strategy of swapping out rotations (Silvis et al., 2021). We found that debug-
ging in kindergarten is more than simply recognizing, finding and fixing bugs, but it
also requires knowing that debugging the code will fix the problem in the robot’s
movements or path. Often, young students want to fix the robot’s movement by
physically moving the robot rather than working with the code. We also found that
debugging tasks are more challenging when the strategy involves modifying the
beginning or middle of the program and when the program includes rotations.
Varying these design elements (e.g. embedding a bug in the middle of the code or
using a different error that does not involve the turn code) changes the difficulty of
the task.
Some of the design elements for eliciting specific strategies we have identified
from analysing groups of kindergarten students using robot coding toys include the
following:
• Create an engaging need for a solution (e.g. getting a ball to the goal, observing
a robot’s secret program and trying to recreate it, planning an adventure).
• Provide an intentional progression of challenges (e.g. programs with only one
rotation leading to programs with multiple rotations, programs with less than
four codes leading up to programs with four or more codes).
• Intentional planning of bugs (e.g. the above vignette with varying types of bugs
for different strategies: swapping, wipe and start over).
• Intentional planning for decomposition strategies (e.g. challenges where the
robot makes “stops” along the way to highlight segments of codes within long
programs, need to break apart a program).
• Intentional planning for algorithmic thinking strategies (e.g. tasks that require
coding one at a time versus observing a whole program run and writing the pro-
gram in chunks).
3 Teaching Coding in Kindergarten: Supporting Students’ Activity with Robot Coding… 33

3.3.1.3 Tasks for Play

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.

3.3.2 Design Elements for Robot Coding Toy


Instructional Practices

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.

3.3.3 Design Elements for Leveraging or Supplementing


the Robot Coding Toy’s Features

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

In the moment of a group coding activity, mastery could be demonstrated by student


gestures or the coding of one of the robot toys. However, there is a need in the early
childhood CT research community for more formal assessment tools and resources
(Weintrop et al., 2021). In addition to developing and refining tasks with student
groups for use in the classroom, we have also been designing assessments of CT
with this toy genre. The assessment we have created, through an evidence-centred
design approach (Clarke-Midura et al., 2021a, b) involved a 10″ × 10″ 2-D grid and
toy agents that students could hold and move along the grid with their hands (see
Fig. 3.4). The assessment items involved storylines about the agent moving from

Fig. 3.4 Kindergarten student working on an assessment item


36 J. F. Shumway et al.

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

Konstantina Louka and Stamatios Papadakis

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

K. Louka · S. Papadakis (*)


Department of Preschool Education, University of Crete, Crete, Rethymnon, Greece
e-mail: stpapadakis@uoc.gr

© The Author(s), under exclusive license to Springer Nature 39


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_4
40 K. Louka and S. Papadakis

developmentally appropriate technologies is crucial for successfully introducing


basic coding concepts in preschool education (Macrides et al., 2021), such as debug-
ging and sequence (Bers et al., 2019). Although there are many programming envi-
ronments designed to attract preschoolers’ interest in coding, little empirical
research has been conducted on the effectiveness of these environments in develop-
ing CT and coding skills in early childhood education (Pila et al., 2019). In a general
sense, a programming environment combines hardware and software that allows a
developer to build applications. Furthermore, a summary of current empirical
research is needed. The vast number of coding environments that have flooded the
digital market, especially mobile apps, impedes their evaluation, making the right
programming environment choice a complicated process (Hirsh-Pasek et al., 2015).
Consequently, the reasonable question arises: Which programming environments
are suitable for cultivating CT and coding skills in preschool education?
The literature review will briefly present environments that cultivate CT and cod-
ing skills in preschool education. This chapter aims to provide a supportive guide
for early childhood education teachers to plan activities to promote CT and coding
skills using environments with educational value, as demonstrated by empirical
studies.

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

The search was performed in the 20 most well-known bibliographic databases


(Table 4.1). This search method was selected since no database is considered com-
plete (Xiao & Watson, 2017).

4.2.2 Inclusion and Exclusion Criteria

The following specific inclusion criteria were used:


• Journal articles with empirical data.
• Empirical studies on programming environments for CT development.
• Articles referred to or focused on basic CT concepts in preschool children.
• Articles published from January 2012 to December 2021.
4 Programming Environments for the Development of Computational Thinking… 41

Fig. 4.1 The PRISMA flow diagram of the literature search and review process

Concerning the exclusion criteria, the following were used:


• Non-English publications.
• Participants in empirical studies were not restricted to preschoolers.
• Publications were already registered in other bibliographic databases.
• Publications were not accessible.
• Publications included a simplified description of a programming environment.
• Published empirical studies with a focus on preschoolers with special needs.
42 K. Louka and S. Papadakis

Table 4.1 Returned results per data source


Initial 1st stage 2nd stage 3rd stage 4th stage
Data source search (Identification) (Screening) (Eligibility) (Included)
ACM (Association for 145,385 300 9 1 1
Computing Machinery)
Digital Library
Cambridge Core – Journals 84,446 300 0 0 0
and Books Online
CiteSeerX 114 114 0 0 0
Digital Library – CSDL | 227 7 0 0 0
IEEE Computer Society
EBSCO Education Research 11,656 300 3 2 2
Complete
Emerald Insight 23 23 0 0 0
ERIC – Education Resources 640 300 10 2 1
Information Center
Google Scholar 17,800 300 62 14 10
Ingenta Connect 3 3 1 0 0
JSTOR 209 209 0 0 0
Learning & Technology 18 18 3 1 1
Library
LISTA (Library, Information 16 16 15 0 0
Science & Technology)
ProQuest 51,272 300 9 1 1
SAGE Journals 167 167 0 0 0
ScienceDirect 2448 300 10 6 6
Scopus 46 46 5 2 2
Springer Science + Business 678 300 16 8 8
Media
Taylor & Francis 405 300 5 2 2
Web of Science 63 63 7 3 3
Wiley 607 300 1 1 1
Summary 316,223 3666 156 43 38

4.2.3 Systematic 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

Table 4.2 Studies included in the review


Participants’ Participants’
Number Authors Year number age Tool(s)
1 Angeli and Valanides 2019 50 5–6 years Bee-Bot
2 Arfé, Vardanega, 2019 80 5–6 years Code.org
Montuori and Lavanga
3 Bers, Flannery, Kazakoff 2014 53 5–6 years CHERP and Lego
and Sullivan robotic kit
4 Bers, Gonzalez and 2019 172 3–5 years KIBO
Torres
5 Çakır, Korkmaz, İdil and 2021 40 5 years LEGO® WeDo 2.0®
Erdoğmuş
6 Çiftci and Bildiren 2020 28 4–5 years Code.org
7 Critten, Hagon and 2021 15 2–4 years Bee-Bot
Messer
8 Di Lieto, Inguaggiato, 2017 12 3–5 years Bee-Bot
Casto, Cecchi, Cioni and
Dario
9 Elkin, Sullivan and Bers 2016 64 3–5 years KIBO
10 Falloon 2016 32 5–6 years Daisy the Dinosaur &
ScratchJr
11 Fessakis, Gouli and 2013 10 5–6 years Ladybug Leaf &
Mavroudi Ladybug mazes,
logo-based
environments
12 Gordon, Rivera, 2015 22 4–6 years SoRo Toolkit
Ackermann and Breazeal
13 Heikkilä and Mannila 2018 – 4–5 years Blue-Bot
14 Heljakka and Ihamaki 2019 20 5–6 years Dash robot
15 Kazakoff, Sullivan and 2013 29 4–5 years CHERP and LEGO
Bers WeDo
16 Khoo 2020 3 5 years Colby, the mouse robot
and OZO-bot
17 Lin, Chien, Hsiao, Hsia 2020 7 5–6 years mBot, Arduino robot
and Chao car
18 Clarke-Midura, 2021 16 5–6 years Code-a-pillar
Kozlowski, Shumway
and Lee
19 Misirli and Komis 2014 674 4–6 years Bee-Bot
20 Murcia and Tang 2019 8 3–4 years Cubetto
21 Nam, Kim and Lee 2019 53 5–6 years TurtleBot
22 Newhouse, Cooper and 2017 50 5–6 years Bee-Bot and Sphero
Cordery
23 Papadakis, 2016 43 5 years ScratchJr
Kalogiannakis and
Zaranis
24 Pila, Alade, Sheehan, 2019 28 4–5 years Daisy the Dinosaur and
Lauricella and Wartella Kodable
(continued)
4 Programming Environments for the Development of Computational Thinking… 45

Table 4.2 (continued)


Participants’ Participants’
Number Authors Year number age Tool(s)
25 Portelance, Strawhacker 2016 62 5–8 years ScratchJr
and Bers
26 Repiso and González 2019 131 3–6 years Bee-Bot
27 Roussou and Rangoussi 2019 18 4–6 years Colby, the mouse robot
28 Saxena, Lo, Hew and 2020 11 3–6 years Bee-Bot
Wong
29 Strawhacker and Bers 2019 57 5–7 years ScratchJr
30 Strawhacker and Bers 2015 35 5 years CHERP and LEGO
WeDo
31 Strawhacker, Lee and 2018 222 5–7 years ScratchJr
Bers
32 Sullivan and Bers 2016 60 4–7 years CHERP and Kiwi
robotic kit
33 Sullivan and Bers 2018 98 3–6 years KIBO robotics kit
34 Sullivan and Bers 2019 105 5–7 years KIBO robotics kit
35 Sullivan, Bers and 2017 28 4–7 years KIBO robotics kit and
Pugnali ScratchJr
36 Sullivan, Kazakoff and 2013 37 4 years CHERP and LEGO
Bers WeDo
37 Sung, Ahn and Black 2017 66 5–7 years ScratchJr
38 Wang, Choi, Benson, 2021 3 4 years Code-a-pillar
Eggleston and Weber

Table 4.3 Summary of the applied programming environments


Studies
Bee-Bot 1, 7, 8, 19, 26, 29, 22
Blue-Bot 13
Colby robotic mouse 16, 28
Code-a-pillar 18, 39
Ladybug Leaf and Ladybug mazes 11
ScratchJr 10, 23, 25, 30, 32, 36, 38
Daisy the Dinosaur 10, 24
Kodable 24
KIBO robotics kit 4, 9, 33, 34, 35, 36
LEGO Education WeDo 37, 31, 15, 5, 3
Evo 16
The Dash and Dot robot 14
Turtle Robot 21
Cubetto 20
Sphero Mini Robot Ball 22
Social Robot (SoRo) 12
Code.org 2, 6
mBot, Arduino robot car 17
46 K. Louka and S. Papadakis

4.3 Educational Programming Environments


for Preschoolers

4.3.1 Logo Family Programming Environments

These programming environments are based on the Logo programming environ-


ment (Papert, 1980), which involved a turtle that a child could move around the
screen with just a few commands. Noteworthy is the fact that to this day, they con-
tinue to exist and inspire the construction of new systems as listed below in subcat-
egories (Fessakis et al., 2019).

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.

Code-A-Pillar It is a programmable game with a caterpillar shape (Fig. 4.5). It


features a motorized head and eight reconnecting segments for multiple combina-
tions: three segments for forwarding movement, two for turning 90° right, two for
turning 90° left and a segment for audible action indicators. Each segment can be
detached and reconnected (Clarke-Midura et al., 2021).

Fig. 4.2 The Bee-Bot


programmable floor robot
4 Programming Environments for the Development of Computational Thinking… 47

Fig. 4.3 The Blue-Bot


programmable floor robot

Fig. 4.4 Robot mouse


Colby

Fig. 4.5 Code-a-pillar

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

4.3.2 Visual Programming Environments

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.

4.3.3 Commercial Programming Learning Environments


for Entertainment Purposes

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

Fig. 4.6 Screenshot of ScratchJr interface

Fig. 4.7 Screenshot of Daisy the Dinosaur in challenge mode


50 K. Louka and S. Papadakis

Fig. 4.8 Screenshot of


Kodable

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).

4.3.4 Physical Computing Environments

Physical computing environments refer to electromechanical systems regulated by


software and incorporate mechanical components such as sensors, motors and
switches (Fessakis et al., 2019).

4.3.4.1 Educational Robotics Environments

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

Fig. 4.9 KIBO robotics kit

Fig. 4.10 LEGO Education WeDo 2.0

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

Fig. 4.11 Evo Ozobot

Fig. 4.12 The Dash and


Dot robot

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).

Sphero Mini It is a small robot equipped with a gyroscope, acceleration sensors,


led lights and motor encoders. It is accompanied by six tiny bowling pins and three
traffic cones and is equipped with a built-in Bluetooth to connect to smart mobile
devices (Fig. 4.16).
4 Programming Environments for the Development of Computational Thinking… 53

Fig. 4.13 mBot, Arduino


robot car

Fig. 4.14 Turtle Robot

Fig. 4.15 Cubetto

Fig. 4.16 Sphero Mini


Robot Ball

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

Fig. 4.17 Social Robot


(SoRo) toolkit

Reviewed research using physical computing environments has shown that it is


possible to teach basic computational thinking skills to preschoolers such as sequence,
debugging, looping and conditionals (Brennan & Resnick, 2012). The research results
on the cultivation of sequence, error correction and repetition skills were mainly posi-
tive, with the older children in the samples scoring higher on the more complex con-
cepts of computational thinking such as conditionals. It is worth mentioning that the
conclusions concerning children aged 3 years were also positive (Bers et al., 2019).

4.3.5 Miscellaneous Unplugged Applications


and Environments

Computational thinking is cultivated through learning scenarios without using a


computer (Fessakis et al., 2019). The systematic literature review did not reveal any
empirical studies that correspond to this category.

4.4 Discussion

The use of developmentally appropriate programming environments is the corner-


stone for successfully integrating CT and coding skills in preschool education
(Macrides et al., 2021). The present research shows that developmentally appropri-
ate programming environments can be used in preschool education. ScratchJr is a
well-known programming environment for developing basic CT and coding con-
cepts and was used in seven of the studies reviewed with positive results. Floor
robots (roamers) have also proved popular. Bee-Bot is prominent in researchers’
preferences since it was used in seven studies to develop CT in preschoolers.
Regarding educational robotic environments, the review highlighted six studies
with KIBO and five studies with LEGO WeDo used as a programming environment
for teaching introductory programming concepts (see Fig. 4.18).
Fessakis et al. (2013) argued that the practical and methodical integration of pro-
gramming in preschool education is determined by the programming environments
and by designing and implementing appropriate teaching interventions for the
4 Programming Environments for the Development of Computational Thinking… 55

ϳ ϳ
ϲ
ϱ

Ϯ Ϯ Ϯ Ϯ
ϭ ϭ ϭ ϭ ϭ ϭ ϭ ϭ ϭ ϭ

Fig. 4.18 Popular programming environments based on research

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

García-Valcárcel-Muñoz-Repiso, A., & Caballero-González, Y. A. (2019). Robotics to develop


computational thinking in early Childhood Education. Comunicar. Media Education Research
Journal, 27(59), 63–72. https://doi.org/10.3916/C59-­2019-­06
Gordon, M., Rivera, E., Ackermann, E., & Breazeal, C. (2015). Designing a relational social robot
toolkit for preschool children to explore computational concepts. In Proceedings of the 14th
international conference on interaction design and children (pp. 355–358). ACM. https://doi.
org/10.1145/2771839.2771915
Haddaway, N. R., Collins, A. M., Coughlin, D., & Kirk, S. (2015). The role of Google Scholar in
evidence reviews and its applicability to grey literature searching. PLoS One, 10(9), Article
e0138237. https://doi.org/10.1371/journal.pone.0138237
Heikkilä, M., & Mannila, L. (2018). Debugging in programming as a multimodal practice in early
childhood education settings. Multimodal Technologies and Interaction, 2(3), 42. https://doi.
org/10.3390/mti2030042
Heljakka, K., & Ihamäki, P. (2019). Ready, steady, move! Coding toys, preschoolers, and mobile
playful learning. In P. Zaphiris & A. Ioannou (Eds.), Learning and collaboration technologies.
Ubiquitous and virtual environments for learning and collaboration (pp. 68–79). Springer.
Hirsh-Pasek, K., Zosh, J. M., Golinkoff, R. M., Gray, J. H., Robb, M. B., & Kaufman, J. (2015).
Putting education in “educational” apps: Lessons from the science of learning. Psychological
Science in the Public Interest, 16(1), 3–34. https://doi.org/10.1177/1529100615569721
Kazakoff, E. R., Sullivan, A., & Bers, M. U. (2013). The effect of a classroom-based intensive
robotics and programming workshop on sequencing ability in early childhood. Early Childhood
Education Journal, 41, 245–255. https://doi.org/10.1007/s10643-­012-­0554-­5
Khoo, K. Y. (2020). A case study on how children develop computational thinking collabora-
tively with robotics toys. International Journal of Educational Technology and Learning, 9(1),
39–51. https://doi.org/10.20448/2003.91.39.51
Levy, Y., & Ellis, T. J. (2006). A systems approach to conduct an effective literature review in sup-
port of information systems research. Informing Science Journal, 9, 181–212.
Lin, S. Y., Chien, S. Y., Hsiao, C. L., Hsia, C. H., & Chao, K. M. (2020). Enhancing computational
thinking capability of preschool children by game-based smart toys. Electronic Commerce
Research and Applications, 44, Article 101011. https://doi.org/10.1016/j.elerap.2020.101011
Lye, S. Y., & Koh, J. H. L. (2014). Review on teaching and learning of computational thinking
through programming: What is next for K-12? Computers in Human Behavior, 41, 51–61.
https://doi.org/10.1016/j.chb.2014.09.012
Macrides, E., Miliou, O., & Angeli, C. (2021). Programming in early childhood education: A sys-
tematic review. International Journal of Child-Computer Interaction, Article 100396. https://
doi.org/10.1016/j.ijcci.2021.100396
Misirli, A., & Komis, V. (2014). Robotics and programming concepts in Early Childhood
Education: A conceptual framework for designing educational scenarios. In C. Karagiannidis,
P. Politis, & I. Karasavvidis (Eds.), Research on e-Learning and ICT in education (pp. 99–118).
Springer.
Moher, D., Liberati, A., Tetzlaff, J., Altman, D. G., Altman, D., & The PRISMA Group. (2010).
Preferred reporting items for systematic reviews and meta-analyses: The PRISMA statement.
International Journal of Surgery, 8, 336–341. https://doi.org/10.1016/j.ijsu.2010.02.007
Murcia, K. J., & Tang, K. S. (2019). Exploring the multimodality of young children’s coding.
Australian Educational Computing, 34(1), 1–15. Retrieved from https://journal.acce.edu.au/
index.php/AEC/article/view/208
Nam, K. W., Kim, H. J., & Lee, S. (2019). Connecting plans to action: The effects of a card-­
coded robotics curriculum and activities on Korean kindergartners. The Asia-Pacific Education
Researcher, 28(5), 387–397. https://doi.org/10.1007/s40299-­019-­00438-­4
Newhouse, C. P., Cooper, M., & Cordery, Z. (2017). Programmable toys and free play in early
childhood classrooms. Australian Educational Computing, 32(1), 1–15.
Papadakis, S. (2020). Robots and robotics kits for early childhood and first school age. International
Association of Online Engineering, 14(18). https://doi.org/10.3991/ijim.v14i18.16631
58 K. Louka and S. Papadakis

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

Rosa Bottino , Augusto Chioccariello , and Laura Freina

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

R. Bottino · A. Chioccariello (*) · L. Freina


Institute for Educational Technologies of the Italian National Research Council, Genoa, Italy
e-mail: bottino@itd.cnr.it; augusto@itd.cnr.it; freina@itd.cnr.it

© The Author(s), under exclusive license to Springer Nature 63


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_5
64 R. Bottino et al.

(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).

5.1.1 Becoming Fluent in a Language: The Role of Reading

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.

5.2 Local School Context

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.

5.2.1 The Longitudinal Research Project

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

Fig. 5.2 Students in grade 1 working with Cubetto

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/)

environment is a social platform where young programmers can interact, exchange


ideas and learn from one another. This is yet another important element, since it
offers a community of practice for sharing work, getting hints and motivation and
5 Developing Computational Fluency via Multimedia Stories 69

fostering ‘computational participation’ which moves beyond the individual to


embrace wider social networks. Students started by freely assembling simple ani-
mations according to their interests and, as they get more proficient in the program-
ming language, moved to more structured activities designed to encourage
progression.
In grades 4 and 5 (8- to 11-year-olds), activities were organized over two differ-
ent periods. In the first months of the school year (from September to January), the
focus was on individual work; students were free to explore while the teacher occa-
sionally brought the class’s attention to specific programming concepts or proposed
a specific challenge. The freedom the students were granted was the result of careful
planning of the learning activities and materials. Online tutorials and ‘Scratch
Programming Cards’ available in the programming environment were translated
into Italian, along with other custom-developed materials designed, for example, to
foster children’s ability to ‘read’ others’ programs. Shared Scratch programs can be
viewed and remixed by other users, and children enjoy looking at others’ work,
often reusing their programs. Taking advantage of this, activities based on remixing
other people’s work and/or specially created examples were designed. During these
months, some tangible programmable kits were also used (usually LEGO, pro-
grammed with Scratch). Furthermore, some preliminary activities were organized
with the aim of supporting the development of skills that would be needed for the
creation of larger and more complex programs. Among these was the ‘Pass-it-on’
activity, which is the object of this study.
In the following months (from February to June), the focus shifted to larger proj-
ects carried out by small groups of students on a specific theme studied in class (e.g.
ancient Egypt, the history of the city of Genoa, hydro-geological risk, European
citizenship). Each group focused on one specific point of view on the chosen topic
with the aim of presenting their work at the end of the year to an external audience
(another class, families, the school head, etc.). This gave students a deadline for
completing their project, boosting their motivation to tackle and solve any emerging
problems. The project activity format adopted an iterative approach (Resnick &
Rosenbaum, 2013), going through a cycle of design, implementation, review and
revision: students decided what to create, implemented it, presented their creation to
the class and then, taking their peers’ comments into consideration, revised their
prototype, moving forward to the following cycle.

5.3 The Role of Structured Activities in Developing


Computational Fluency

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.

5.3.1 The “Pass-It-On” Activity

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.

5.4 Collected Data and Key Findings

Data were collected through the following: researchers’ classroom observations,


analysis of the students’ output, a student questionnaire and semi-structured inter-
views with the teachers. Key data and findings are presented below.
The researchers’ observations showed that several students thought they had to
continue the story as the previous author had imagined it and so wanted to ask them
how to do so. One student commented that they felt less freedom than usual in this
Pass-it-on activity because they could not invent the whole story but had to work
with someone else’s ideas.
From a technical point of view, some students found it hard to continue the exist-
ing project where the lack of instructions made it difficult to understand how to run
5 Developing Computational Fluency via Multimedia Stories 73

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,

Table 5.1 Collected digital stories classified according to degree of coherence


Class n. students n. stories Coherent Partially coherent Not coherent
Grade 4 C 20 24 20 2 2
Grade 4 D 21 18 8 6 4
Grade 5 C 10 7 4 2 1
Grade 5 A 23 19 9 4 6
Total 74 68 41 14 13

5
All the developed stories are available at https://scratch.mit.edu/studios/31366585/
74 R. Bottino et al.

Fig. 5.6 Data from the final questionnaire submitted to students

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

Since the introduction of computation thinking (CT) in compulsory education is


spreading in many countries, it is important to define activities and curricula to sup-
port its introduction in schools. Among other things, these need to help teachers
cope with a domain (new digital technology) that they may not be so proficient in.
While several curricula already exist that address programming abilities for students
of all ages, these often focus on code production; other key programming abilities,
such as being able to write a program that can be easily used by others and the abil-
ity to read someone else’s code, are sometimes neglected.
This chapter described a digital storytelling activity that was tested with grade 4
and 5 students (9–11 years old) in an Italian primary school as part of a broader
longitudinal study on CT introduction in (primary) schools. The activity in question
is an intermediate step between (a) an initial approach to free coding of small ani-
mations and short stories and (b) longer and more complex group work strictly con-
nected to the standard curriculum. The activity involves cooperative creation of
digital stories that are assembled from the work of three different authors (or author
pairs): one who starts the story, a second that continues it and a third in charge of
finishing the story. To take part in the activity, students need to read and understand
the code written by other programmers in order to continue the narrative by building
on the code that drives it. This requirement raises their awareness of the need to a
write readable code so other students can understand their stories and, in turn, build
on them.
The creation of interactive multimedia storytelling can be a fruitful context for
promoting children’s computational fluency as a means for creative expression.
Storytelling is a familiar context for teachers, who can reuse familiar pedagogical
approaches employed to teach reading and writing natural languages for the pur-
poses of developing fluency in a programming language. To this end, a longitudinal
approach is required, where students develop the necessary skills and knowledge
throughout the 5-year span of primary school. During this period, there is a need to
strike an appropriate balance between student agency and autonomy, on the one
hand, and the structuring of learning activities on the other. This work describes in
detail a structured activity aimed at providing a rich context to allow students to
develop knowledge and skills required for reading and understanding programs, as
well as producing readable code. The experience showed that the activity was age-­
appropriate and interesting for the participating students, while teachers often felt
the need for deeper technical knowledge and skills. This experience suggests that
76 R. Bottino et al.

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

Ackermann, E. (2008). Notation chez l’enfant: Du Graphique au numérique. In Apprendre demain:


Sciences cognitives et éducation à l’ère numérique (pp. 77–94). Hatier. http://andler.dec.ens.fr/
pdf/Andler2009-­02-­10ApprendredemainHatier1-­163.pdf
Aivaloglou, E., & Hermans, F. (2016). How kids code and how we know: An exploratory study
on the scratch repository. In Proceedings of the 2016 ACM conference on international
­computing education research (pp. 53–61). Association for Computing Machinery. https://doi.
org/10.1145/2960310.2960325
78 R. Bottino et al.

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

Fiona Mayne and Belinda Bath

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

© The Author(s), under exclusive license to Springer Nature 81


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_6
82 F. Mayne and B. Bath

6.2 Background

Educational Technologies Typically include the software, hardware and Internet


applications that are used ethically to create and manage processes and resources to
facilitate learning (Hlyna & Jacobsen, 2009). Educational technologies in learning
and teaching can also be considered to be ‘creative technologies’ when used with
purpose to enhance collaboration, disruptiveness, open-endedness and creativity
(Connor & Sosa, 2018). Educational technologies are regarded as valuable tools for
children to develop the skills they need to respond to challenges, create solutions to
authentic problems and drive change into the future (Zagalo & Branco, 2015), while
also developing critical thinking, curiosity, empathy and an awareness of societal,
environmental and ethical issues (Black & Howell, 2022).
According to Howell and McMaster (2022), in order to harness the power of
educational technologies for learning, children need to develop digital fluency
which involves acquiring the skills and dispositions to not only know how to use
technology (digital literacy), but also to apply critical and creative thinking to the
questions of ‘when’ and ‘why’ to use digital technologies. In relation to coding,
children in the early years of formal schooling could be expected to have acquired
several digital literacies related to computational thinking, such as being able to
break a complex task into its individual steps and being able to follow directional
arrows. Children at this stage should also have a general understanding of the func-
tional features that characterize a robot (ACARA, 2015). These skills are likely to
vary according to the child’s level of exposure to digital technologies at home and
during their early schooling.
The theoretical underpinnings of educational technology, which include the con-
cepts of scaffolding developed by Wood et al. (1976) and the zone of proximal devel-
opment introduced by Lev Vygotsky in the 1920s, are instrumental theories in the
development of digital fluency (Niessen, 2013). Scaffolding is where a child is sup-
ported to ‘solve a problem, carry out a task or achieve a goal which would be beyond
his [or her] unassisted efforts’ (p. 90). The ‘zone of proximal development’ dis-
cussed in Vygotsky’s Mind in Society is a social constructivist notion relating to the
distance between a child’s ability to independently solve a problem and what can be
achieved with the support of a more knowledgeable adult or peer (Cole et al., 1978).
Building on the theory of constructivism (Jean Piaget) and social constructivism
(Lev Vygotsky) is a third theory relevant to this discussion, constructionism.
Constructionism holds that learning is most effective when the learner actively
engages in the construction of a meaningful product rather than beginning with
teaching abstract concepts to children (Papert, 1980). When teaching coding, Papert
(2020) argued that it is best for children to learn to use educational technologies
‘through working on projects, not before working on projects’. He went on to sug-
gest that there should be less emphasis on the technical skills of correctly writing a
computer code and more emphasis on developing new ideas and theories through
teacher mediation and interactions with people and objects (“Foreword”).
6 Scaffolding Engagement with Educational Technologies to Develop Computational… 83

A fourth theory of connectivism was introduced by George Siemens in 2005 in


response to a need for a combined theory of learning that reflected the pervasive
integration of technology in the twenty-first century (Siemens, 2005). In contrast to
other well-known theories such as behaviourism, cognitivism and constructivism in
which learning is an internal social process, connectivism also takes account of ‘the
value of what is being learned’ outside a person via technology (Siemens, 2005,
p. 3). According to Utecht and Keller (2019), learning should no longer be exclu-
sively concerned with acquiring factual information, but instead be concerned with
becoming an agile learner who can harness the ubiquity of the connected world to
create meaning in an ever-changing technological landscape (Siemens, 2005). For
example, Siemens stated that it is more critical for a learner to focus on their capac-
ity to know, than what is known. Connectivism emphasizes the importance of con-
tinual learning and applying that learning within connected learning environments
that bridge time and space (Utecht & Keller, 2019).
In keeping with the various theories of learning discussed here, effective digital
pedagogy in the early years is thought to be evidenced by children being engaged in
creative, experimental and purposeful activity with creative technologies (Howell &
McMaster, 2022). In a classroom, this involves empowering children to work with
technologies in creative and experimental contexts while ensuring that the technolo-
gies are embedded into the learning experience in a purposeful way. What has
become clear as a result of Siemens’ work on connectivism is that the practice of
criticality has become a core digital literacy that educators must teach their students
if they are to succeed in the modern technological world (Utecht & Keller, 2019). It
is also important to remember that children learn best when engaged in learning
experiences that foster positive social emotional development. With this in mind,
different types of educational technologies foster different types of learning and it is
essential that teachers make informed decisions about what works best for their
students (Pugnali et al., 2017).

6.2.1 Coding and Young Children

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

With regard to its relevance to young children, there is increasing recognition


that ‘introducing computational thinking concepts to children early on in school’ is
desirable (Curran et al., 2019, p. 19) due to the benefits related to developing
problem-­ solving skills along with logical, efficient and innovative thinking
(Mohaghegh & McCauley, 2016). However, it is interesting to note that teaching a
young child to code does not necessarily result in the development of computational
thinking skills. Instead, opportunities for growth in computational thinking in young
children should be provided via rich experiences that involve intentional thinking
and generation of solutions, which in turn foster deeper understanding and higher-­
order thinking (Grover, 2013).
In recent times and often within a climate of moral panic surrounding screen
time as an enemy of early childhood practice (Straker et al., 2018), ‘unplugged’
coding play has come to be accepted as the preferred way to introduce young chil-
dren to coding concepts (Lee & Junoh, 2019). This unplugged approach de-­
emphasizes technology-based activities and instead emphasizes the use of hands-on
manipulatives that focus on the steps that make up daily routines and the sets of
instructions (algorithms) used to complete those tasks. According to Pugnali et al.
(2017), other common approaches include graphical (onscreen) applications such
as Minecraft Education Edition which includes a Code Builder capability to enable
young learners to use visual block coding (pre-written sections of code that snap
together) to code sequences, repeat loops and add variables; tangible (hands-on)
resources such as robotics (e.g., Ozobots) that include coding ‘buttons’ on the tech-
nology itself and/or other physical means of coding, which can also afford opportu-
nities for teamwork and collaboration, development of fine motor skills and
hand–eye coordination; and hybrid (both graphical and tangible) interfaces such as
Micro:bit and Makey Makey. These authors went on to report that in their study,
young children (4–7 years old) were found to successfully learn basic computa-
tional thinking skills when provided with ‘developmentally appropriate tools and
proper curricular instruction’ (p. 186).

6.2.2 Coding in the Australian School Context

The term ‘coding’ is not mentioned in the Australian Curriculum: Digital


Technologies subject sequence of content for Foundation (typically children who
are turning 5 years old) to Year 10 (adolescents between 15 and 16 years old) or in
the sequence of achievement Foundation to Year 8 documents. Instead, the term
‘programming’ is introduced in Years 7 and 8 (typically children 12–14 years old)
in the ‘strand’ of producing and implementing, although this is restricted to the
context of working with programming languages. While the term ‘computational
thinking’ is also omitted from the digital technologies’ sequence of content docu-
ments, Foundation to Year 2 students are expected to be able to master a range of
skills that can be regarded as computational thinking. These skills include collect-
ing, sorting and displaying familiar data from a range of sources and recognizing
6 Scaffolding Engagement with Educational Technologies to Develop Computational… 85

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.

6.3 Local Research Vignette

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

predetermined educational technologies (described below). The collaboration was


of value to the Year 1 class as it provided an introduction to educational technolo-
gies generally used with older students and not otherwise available to the students.
As the group of preservice teachers comprised those undertaking both the early
childhood and primary courses, it was determined that the best fit would be Year 1
as it straddled both specializations. The collaboration took place in 2021 with two
different groups of preservice teachers on two separate occasions.
The task required the preservice teachers to work in groups to research one of
four educational technologies: Micro:bit (a 3 cm × 4 cm computer circuit board with
a grid of 25 LED lights, buttons, sensors and input/output capability that can be
programmed), Makey Makey (a 4 cm × 6 cm computer circuit board with input/
output capability), Ozobots (a golf ball-sized robot on wheels with light sensors that
can be programmed ‘unplugged’ using colour codes or via a block coding program)
and Minecraft Education Edition (an open-world game-based learning tool). After
preparing and presenting a professional development workshop for their peers on
their given tool, each group was required to devise a 1-h lesson that used that tool to
teach an aspect of design (part of the Design and Technologies subject) and encour-
aged the development of computational thinking in the Year 1 students. Initially, this
was a significant challenge to the preservice teachers as Micro:bit, Makey Makey,
Ozobots and Minecraft Education Edition (Fig. 6.1) are not typically used with Year
1 students and are not commonly used to teach concepts of design or computational
thinking with young learners. This task was deemed appropriate for masters-level
preservice teachers and addressed a number of Australian Institute for Teaching and
School Leadership (AITSL) professional standards at the graduate level.

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.

6.4 How This Was Applied in the Classroom

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

Curriculum Technologies – Recognize/explore digital systems


Technologies – Develop/communicate design ideas through modelling
integration Media Art – Using images and sounds to communicate ideas

Students will be able to design and code a


Learning Micro:bit character (as a pixelated image) Computational thinking:
goals and use it to play a pre-coded Micro:bit Re- • abstractiion
action game with their partner. • data collection
• data representation
• data interpretation
After designing their character on a grid, • specification
What did students code their characters onto their • algorithms
the Micro:bit via Microsoft's MakeCode editor • implementation
(i.e. using the Micro:bit computer-based • digital systems
children block coding language). Students then play • interactions
do? the ‘Reaction’ game by pressing on foil • impacts
pieces previously set up to create a circuit.

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

Curriculum Technologies – Representing data as pictures, symbols and diagrams


Technologies – Explore opportunities for design
integration Science – Light and sound can be produced and sensed

Students will be able to distinguish con-


Learning ductive and non-conductive materials using Computational thinking:
fair testing, and design and build a musical
goals instrument using a range of conductive ma- • abstraction
terials. • data collection
• data representation
• data interpretation
With a circuit already prepared, students • specification
What did use Makey Makey to investigate What is • algorithms
the conductive? by testing a range of materi- • implementation
als. With support, students go on to use • digital systems
children the circuit modelled to them and their • interactions
do? knowledge of conductive materials to de- • impacts
sign a Makey Makey musical instrument.

Extension Students can be afforded greater autonomy in their instrument design.

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

Technologies – Ways objects can be moved using technology


Curriculum Technologies – Communicate design ideas through a sequence of steps
integration Maths – Using materials to model authentic problems, and giving and re-
ceiving directions to unfamiliar places

Students will be able to design and con-


Learning struct a map of their neighborhood that in- Computational thinking:
cludes major landmarks and buildings, and
goals code the Ozobot’s path to visit these using • abstraction
drawn colour codes. • data collection
• data representation
• data interpretation
After reading Map My Neighborhood by • specification
What did Jennifer Boothroyd, students work in small • algorithms
the groups to identify and map major land- • implementation
children marks, creating buildings (using maths • digital systems
nets) and code (by drawing) an Ozobot • interactions
do? • impacts
path to visit each location in turn.

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

6.4.4 Minecraft Education Edition

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).

Minecraft Education Edition

Technologies – Characteristics and behaviours of individual materials


Curriculum Technologies – Develop design ideas through drawing and modelling
integration Literacy – Recreate texts imaginatively using drawing and digital forms of
communication

Students will be able to design and build a


Learning stronger fourth pig’s house using a range of Computational thinking:
goals materials that would withstand various at- • abstraction
tempts by the big bad wolf to destroy it. • data collection
• data representation
• data interpretation
After reading the Three Little Pigs story, • specification
What did students use pens and paper to design a • algorithms
the house for a fourth pig considering the • implementation
children properties of materials. With support stu- • digital systems
dents then transfer their design into the • interactions
do? • impacts
Minecraft program.

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

6.5 Key Findings and Discussion

Findings are presented as a summary of computational thinking that was evident


across all four learning experiences described above. Table 6.1 presents the ten
components of computational thinking as defined by the Australian Curriculum,
Assessment and Reporting Authority (ACARA): abstraction, data collection, data
representation, data interpretation, specification, algorithms, implementation, digi-
tal systems, interactions and impacts. This table highlights each of the learning
experiences that provided students with opportunities to develop a wide range of
computational thinking skills. Table 6.1 also shows that the skills of abstraction,
data representation and data interpretation were practiced in all four learning expe-
riences. Further, data collection, specification, algorithms and implementation were
present in three out of four lessons. Table 6.1 also highlights that in each of the four
learning experiences, students were exposed to an average of eight out of ten aspects
of computational thinking.

6.5.1 How Was the Development of Computational


Thinking Supported?

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.

6.5.2 Embracing Connectivism as a Component


of Computational Thinking

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

6.5.3 Wider Considerations for Success

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

ACARA. (2015). Australian Curriculum: Technologies F–10. Australian Curriculum, Assessment


and Reporting Authority (ACARA). Available at: https://www.australiancurriculum.edu.
au/f-­10-­curriculum/technologies
ACARA. (2021). Computational thinking: Key concepts. Australian Curriculum, Assessment and
Reporting Authority (ACARA). https://www.australiancurriculum.edu.au/f-­10-­curriculum/
technologies/digital-­technologies/structure/. Accessed 10 Mar 2022.
Black, A., & Howell, J. (2022). Creative technologies and play. In H. Jennifer & M. Natalie (Eds.),
Teaching with technologies (pp. 94–118). Oxford University Press.
Cole, M., John-Steiner, V., Scribner, S., & Souberman, E. (1978). Mind in society: The develop-
ment of higher psychological processes. Harvard University Press.
Connor, A. M., & Sosa, R. (2018). The A–Z of creative technologies. EAI Endorsed Transactions
on Creative Technologies, 18(15):1–13.
Curran, J., Schulz, K., & Hogan, A. (2019). ‘Coding and computational thinking: What is the
evidence?’ Education for a changing world initiative. State of New South Wales Department
of Education.
Grover, S. (2013). Opinion: Learning to code isn’t enough. https://www.edsurge.com/
n/2013-­05-­28-­opinion-­learningto-­code-­isn-­t-­enough. Accessed 23 Mar 2022.
Hlyna, D., & Jacobsen, M. (2009). What is educational technology anyway? Canadian Journal of
Educational Technology, 35, 2. https://doi.org/10.21432/T2N88P
Howell, J., & McMaster, N. (2022). Developing a digital pedagogy in foundation to year 3.
In J. Howell & N. McMaster (Eds.), Teaching with technologies (pp. 119–141). Oxford
University Press.
Lee, J., & Junoh, J. (2019). Implementing unplugged coding activities in early childhood
classrooms. Early Childhood Education Journal, 47(6), 709–716. https://doi.org/10.1007/
s10643-­019-­00967-­z
Mohaghegh, M., & McCauley, M. (2016). Computational thinking: The skill set of the 21st cen-
tury. International Journal of Computer Science and Information Technologies (IJCSIT), 7(3),
1524–1530.
Niessen, S. (2013). What is digital fluency. EC&I 830, University of Regina.
Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas (1st ed.). Basic Books.
Papert, S. (2020). Mindstorms: Children, computers, and powerful ideas (Revised ed.).
Basic Books.
Pugnali, A., Sullivan, A., & Bers, M. U. (2017). The impact of user interface on young chil-
dren’s computational thinking. Journal of Information Technology Education. Innovations in
Practice, 16(1), 171–193. https://doi.org/10.28945/3768
Qian, Y., & Lehman, J. (2017). Students’ misconceptions and other difficulties in introductory
programming: A literature review. ACM Transactions on Computing Education (TOCE),
18(1), 1–24.
96 F. Mayne and B. Bath

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

© The Author(s), under exclusive license to Springer Nature 97


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_7
98 J. Batham

The potential benefits of block-based coding projects for fostering computational


thinking skills in children have been explored through various studies (e.g. Chen &
Huang, 2017; Fronza et al., 2015) and engagement in the design process has also
been shown to allow opportunities for computational thinking (e.g. Ehsan et al.,
2021; Fronza et al., 2019). This chapter presents two examples of practice in which
primary school students were engaged in a design process to develop app proto-
types. The extent to which the learning experiences afforded opportunities for the
development of computational thinking skills is analysed through reflection on the
teaching and learning process.

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

teachers with limited previous experiences in programming participated in a project-­


based learning experience through a graduate course, successfully creating their
own apps using MIT App Inventor. The study results highlighted the effectiveness
of the app development projects in developing computational thinking skills while
creating useful digital solutions to meet real-world needs.
Both studies that involved school students designing and creating apps reported
successful outcomes. In a Chinese case study (Chen & Huang, 2017), middle school
students used MIT App Inventor to create games in a course that successfully
employed a project-based learning approach and a design thinking framework to
engage and motivate them. In the second study by Fronza et al. (2015), high school
students created apps using MIT App Inventor during a summer school course in
Italy. This study showed that app development is useful for fostering computational
thinking skills. No papers describing the effectiveness of app design and develop-
ment projects for enhancing computational thinking in primary school settings were
located.
Since there are very few studies involving app design and development projects
in schools, a broader literature search explored recommendations for teaching com-
putational thinking to children. Studies investigating the development of computa-
tional thinking through the use of the popular visual block-based programming
environment, Scratch (e.g. Brennan & Resnick, 2012; Zhang & Nouri, 2019), found
that reducing issues with syntax and providing visual feedback were useful in devel-
oping computational thinking skills. Reviewing coding apps for young children,
Papadakis (2021) found that some computational thinking skills such as algorithmic
thinking could be developed through simple puzzle-based apps, but that these apps
miss allowing students to use code for creative expression and did not encourage
collaboration, portraying coding as a solitary activity. Ehsan et al., (2017) reviewed
apps designed to teach coding skills or computational thinking to young children
aged 5–8 years, identifying 12 apps that used a problem-solving approach to develop
computational thinking skills. They did not find evidence that key concepts such as
problem decomposition and data concepts could be developed through the puzzles
and games, but other skills such as abstraction, algorithmic thinking and pattern
recognition could be improved. Another study by Ehsan et al. (2021) showed that
engaging in engineering design processes through an unplugged activity can pro-
vide opportunities for young children to use computational thinking practices. Siko
and Barbour (2013) explored game design projects using PowerPoint. They noted
that many teachers lack the requisite skills to teach coding using a programming
language, so a “low tech” alternative using familiar presentation software enables
students to learn through constructing an interactive digital artifact without needing
to learn a coding language. Such projects were useful in developing twenty-first-­
century skills including collaboration, problem-solving and creativity. These studies
show that although some computational thinking skills can be developed through
apps that focus on coding skills, creative, collaborative projects that employ design
thinking processes can provide effective opportunities to develop computational
thinking skills, without the use of text-based coding.
100 J. Batham

In spite of the large number of researchers, curriculum writers and politicians


who advocate for the inclusion of computational thinking skills within the curricu-
lum, what constitutes computational thinking remains somewhat ill-defined (Tedre
& Denning, 2016). Zhang and Nouri (2019) grouped the various definitions of com-
putational thinking found in the literature into three categories: broad, operational
and educational definitions.
Of the broad definitions describing computational thinking generically, Wing’s
(2006) definition of computational thinking as a universally applicable skillset that
has usefulness beyond computer science and should be taught to all children is often
quoted (e.g. Chen & Huang, 2017; Ehsan et al., 2021). Tedre and Denning (2016)
caution against claims that computational thinking is a universal skill, applicable
across disciplines, arguing that the value of computational thinking skills in com-
puter science is sufficient without exaggerating the potential applications. Wing
(2011) later offered a refined definition of computational thinking as thought pro-
cesses required to define a problem in a way that it can be solved using a computer.
This is similar to Aho’s (2011) definition that computational thinking involves for-
mulating problems so solutions can be represented algorithmically.
An operational definition of computational thinking presented by Barr and
Stephenson (2011) was developed by the International Society for Technology in
Education (ISTE) and the Computer Science Teachers Association (CSTA). The
definition expands upon generic definitions, specifying a list of six characterising
concepts and skills, including formulating problems, logically organising and ana-
lysing data, abstraction, algorithmic thinking, achieving efficient solutions through
recursion and iteration and generalising the problem-solving process to a wide vari-
ety of problems. Repenning et al. (2016) developed a three-stage, iterative compu-
tational thinking process based on Wing’s (2011) definition, identifying the stages
as process formulation, solution expression and execution and evaluation.
Educational definitions and frameworks identify specific skills, concepts and
practices that describe computational thinking. Brennan and Resnick’s (2012)
framework organises the aspects of computational thinking into three key dimen-
sions: computational concepts (the concepts that designers engage with as they
develop digital solutions, including loops, sequences, variables and Boolean logic),
computational practices (what the designers do as they develop solutions, e.g.
abstracting, modularising, debugging and testing) and computational perspectives
(ways that designers view the process and their relationship to the world around
them, such as expressing, connecting and questioning). Other such definitions (e.g.
Grover & Pea, 2013) include lists of various skills, concepts and practices with
some overlapping; however, a comprehensive or generally accepted list was not
found. Grover and Pea (2013) purport that building computational thinking skills
and dispositions should be emphasised in schools. The Australian Curriculum–
Digital Technologies (ACARA, 2014) specifies six key concepts that underpin their
framework for knowledge and practice. Additionally, six computational thinking
skills and concepts were identified (ACARA Digital Technologies in focus proj-
ect, 2020).
7 Enhancing Computational Thinking Through App Design in Primary Schools 101

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

Fig. 7.1 Sample app screens created in keynote

Fig. 7.2 Example of student-created app in Thunkable

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).

7.4 Reflection on the Example Projects

In this reflection, the design thinking process is juxtaposed with a three-stage


computational thinking process presented by Repenning et al. (2016). It com-
mences with understanding the problem and then moves to expressing the solution
in a way that can be solved using a computer and finally executing and evaluating
the solution. The initial stage of this process, problem formulation, aligns directly
with the investigating and defining stage of ACARA’s (2014) design process. The
solution expression phase involves generating and designing the solution and pro-
ducing the solution. Implementation of the solution can be aligned with execution.
Both processes include evaluation of the solution in the final stage (see Fig. 7.3).
104 J. Batham

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

Students in Vignette 1 used computational practices of abstraction when identifying


the most useful and important information that would need to be included in the app
and problem decomposition when they determined the main screens to include in
their app and allocating sections to team members. The functionality of the geogra-
phy apps was limited to providing information about the country, but students
defined the simple problem in terms of data. This aligned with curriculum
7 Enhancing Computational Thinking Through App Design in Primary Schools 105

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

During this phase, the Year 3 students engaged in computational perspectives of


connecting and questioning. Students empathised with target users and considered
information a family might need if relocating to another country, such as housing,
currency and schooling. Some groups incorporated a section on useful phrases,
understanding that basic communication would be an important need for the family.
Brennan and Resnick (2012) highlighted the value of creating with others and for
others, noting that having an authentic audience for their creations was motivating
for children. Although the app prototypes were being created for fictitious users, the
idea of creating something potentially useful added to the authenticity of the project
and motivated the students.
The computational perspectives of expressing and connecting were prime moti-
vators for girls seeking to participate in the extracurricular project. The open-ended
project allowed for creativity of expression. The autonomy afforded to the teams by
the project-based approach was very appealing. The girls were strongly motivated
by opportunities to work collaboratively in teams and the possibility of creating an
app that would make a positive contribution to others. They also had opportunities
to connect with others beyond their school community through developing relation-
ships with industry mentors and conducting surveys and interviewing experts as
they researched their problem. In the early stage of the project, the teams who were
able to meet with their mentors face to face established effective relationships more
quickly. Due to Covid-19 restrictions, geographical location and work commit-
ments, it was not always possible for the mentors to meet the girls at school. Many
girls were reluctant to speak during Zoom meetings if they had not previously met
the mentor face to face.
106 J. Batham

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

The opportunities for developing and applying a variety of computational concepts


was limited by the functionality of Keynote and the skills of the Year 3 students.
Evidence that the students were developing concepts of sequencing and events was
seen through the students’ confidence in applying the modelled sequences during
their group construction and in the creativity that some groups showed in creating
more complex structures within the app prototype. A simple way for students to
incorporate other concepts in the project was not found.
The Thunkable platform and the complexity of the apps developed by the girls
allowed them to develop and apply the full range of computational concepts,
depending on the requirements to solve the particular problems the teams had iden-
tified. Most teams needed to develop data concepts, either to set up variables to keep
track of the users’ interactions or to draw upon more complex external databases. In
one app, the girls handled multiple variables to count single-use plastic items and
used conditionals and Boolean operators to trigger alerts when the count reached
predetermined levels. Another team developed very complex, nested IF statements
using multiple variables for their checklist app. Upon the user completing the
checklist, the app opened to a map screen that drew from an external database devel-
oped by the girls and, using the GPS function in the device, zoomed in on the user’s
location. As part of the solution expression process, the girls used a variety of other
apps, including the Tynker block-based coding platform, web development and
video creation software to create content to embed within the Thunkable app, pro-
viding further opportunities for developing 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

7.4.3 Execution and Evaluation

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.5 Facilitating Diagram and Supporting Resources

Keynote < https://www.apple.com/au/keynote/>: a powerful presentation tool with


a simple interface. The collaborative features are useful for students working
in groups.
Thunkable < https://thunkable.com/#/>: an online app development platform
that uses block-based coding. Users can create iOS or Android apps.
Techgirls Movement < https://www.techgirlsmovement.org>: an organisation
committed to encouraging equity in the technology industry. The annual Techgirls
Competition is open to girls aged 7–17 years and launches on International Women’s
Day, March 8, each year.

7.6 Conclusion

Both projects were demonstrated to provide many opportunities to develop compu-


tational thinking skills. The constrictions of the Year 3 project and the limitations of
Keynote as an app development platform limited the extent to which the students
110 J. Batham

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

© The Author(s), under exclusive license to Springer Nature 113


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_8
114 L. Bosova

interdisciplinary connections, both at the level of the conceptual apparatus and at


the level of tools, i.e. methods and means of cognition of reality. In fact, informatics
is a meta-discipline in which a language common to many scientific fields has been
formed. School informatics, like any general school subject, is primarily aimed at
achieving the main goals of general education; the planned results of teaching infor-
matics at school are focused to form the universal competencies, new literacy and
digital skills.
Educational institutions in Russia operate in accordance with the Federal State
Educational Standards (FSES). Currently, compulsory study of informatics is car-
ried out in grades 7–9 (the level of basic general education). At the level of primary
general education, the mathematics and informatics subject area is allocated, but
compulsory study of informatics as an independent subject is not provided. The
fundamental concepts of informatics (algorithm, performer, team, program, etc.)
are integrated into mathematics and, as a rule, they are studied theoretically, without
using a computer. The formation of elementary digital skills (creating short text
documents, presentations, processing graphic images, creating diagrams, searching
for information on the Internet) is provided as part of the technology course
(Ministry of Education & Science, 2009). At the choice of educational participants,
the curriculum of Russian schools (starting from the second grade) can include
informatics. Learning materials for this, such as curricula, textbooks, workbooks,
manuals, etc., are based on the rich experience of teaching informatics to junior
schoolchildren, as originated from the mid-1980s of the last century. So, these are
dated. At the same time, the theoretical component prevails in most textbooks for
junior schoolchildren, which has nothing to do with the formation of digital skills;
no attention is paid to teaching programming to junior schoolchildren. With such an
approach, students lose interest in the dry theoretical courses of school informatics.
Many of them are trying themselves to acquire basic programming skills outside
school. One of the real chances to implement a large-scale early start in mastering
programming within the school is the “Program, Learn and Play” extracurricular
course. The main idea of this is to create ready-to-use products with one’s own
hands in the Scratch programming environment.
In the Scratch environment, students can fully unleash their creative talents by
creating cartoons, games, animated postcards, presentations, training programs,
simulators or interactive tests. They can come up with various objects, determine
how these objects will look in different conditions and move them around the screen.
They establish object interactions, compose stories and draw and animate their
invented characters on the screen, while mastering graphic and sound information
processing technologies, animation technologies and multimedia technologies.
The teaching potential of the Scratch programming environment allows self-­
consideration as a promising tool for organizing interdisciplinary project-based
educational and cognitive activity of a student. This promotes the personal and cre-
ative development of a child and his/her recreation of a unified picture of the world,
bridging the various subjects studied at school.
Students working on projects in Scratch have the opportunity to acquire impor-
tant computational concepts such as repetitions, conditions, variables, data types,
8 Program, Learn and Play: A Course of Extracurricular Activities in Scratch… 115

events and processes and express themselves in computer creativity. Performing


collective projects, students unite in groups, sharing the roles of programmer,
screenwriter, sound engineer and artist. Choosing a business to her/his liking, the
student can more fully self-actualize and, no less importantly, actualize the knowl-
edge gained through “formal” channels.
Thanks to the ability to choose the interface language, of which more than 50 are
currently supported, programming in the Scratch environment is widely used all
over the world (Eliseeva, 2017; Laboratory of Information Technologies, 2022;
Scratch Foundation, n.d.). Many Russian teachers are familiar with it and include
elements of work in this environment in informatics, or conducting extracurricular
classes with schoolchildren (Bosova, 2014, 2018; Pashkovskaya, 2018; Sorokina &
Bosova, 2019; Tarapata & Prokofiev, 2019). The Internet is rich with numerous
invitations to paid online schools and courses on working in this environment. Every
year, the International Olympiad in Creative Programming becomes more and more
popular among children and adolescents (https://creativeprogramming.org/). All
these prove the effectiveness of the ideology of Scratch programming and allow us
to raise the question of the transition to its mass study in educational institutions of
our country. One of the options for such work can be the organization of extracur-
ricular activities according to the program presented in this chapter, developed on
the basis of our own long-term experience of working with schoolchildren of the
authoring team and the analysis of domestic and foreign developments therein.

8.2 Results and Discussion

8.2.1 The Extracurricular Activity Course Objectives


and Content

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

• Expertise, knowledge and skills of competent formulation of tasks arising in


practice, for their solution using information technology.
• Knowledge of basic algorithmic structures and the ability to apply this knowl-
edge when creating digital products.
• Effective methods of working with multimedia information.
• Skills of joint activity and network communication.
• Skills of designing, developing and presenting digital products.
• Knowledge of the basic norms of information ethics and law, the basics of infor-
mation security.
Structurally, the extracurricular activity course program is represented by the
following modules:
Module 1: First Steps in the World of Scratch, 34 h
Module 2: Basics of Programming in Scratch, 34 h
Module 3: Programming Skills in Scratch, 34 h
Module 4: Digital Product Development, 4 h
Modules 1 and 2 are aimed at students of grades 3–4; Modules 3 and 4 are aimed
at students of grades 5–6. We will present the content of these modules, including
individual methodological findings, as well as the subject results achieved in the
process of mastering the proposed content.
Thematic Planning of Module 1: First Steps in the World of Scratch

No. Topic Hours


1. Computer and internet 3
2. Introduction to the Scratch graphic editor 2
3. Creating a multimedia postcard 4
4. How sprites think and speak 4
5. Planning a sequence of actions 3
6. Computer game with your own hands 4
7. Interactive poster 3
8. Interaction of objects 4
9. Movement and drawing. The pen tool 3
10. Presentation of projects completed within the module 1
11. Reserve of study time 3
Total: 34 h

The absolute methodological product of the module is the development of inter-


active posters by students. As you know, a poster is a kind of large-format printed
graphics containing various kinds of information in a visually compact form. An
interactive poster is a digital product containing elements for user interaction, the
activation of which leads to the appearance of text and/or sound accompaniment
provided for individual fragments of the graphic image placed on the poster. A
video tutorial on creating an interactive poster is available at https://www.youtube.
8 Program, Learn and Play: A Course of Extracurricular Activities in Scratch… 117

com/watch?v=G9tPGfSYjFk. Having mastered the technology of creating an inter-


active poster, students have the opportunity to independently create similar digital
objects on any issue of interest to them, including on the topic of any school subject.
This approach helps to increase motivation to study and to strengthen interdisciplin-
ary ties.

8.3 Domain-Specific Results of Mastering Module 1

Students will have an idea of:


• Main computer devices
• Rules of working at the computer
• Rules of safe work on the Internet
• Purpose of the Scratch programming environment and the main elements of
its interface
• Algorithm and performers
• Scenario plan
• Program code and its component commands
• Rules for naming and saving a document
• Copyright-protected items on the Internet
Students will know how to:
• Launch the Scratch offline programming environment.
• Select sprites and backgrounds from Scratch programming environment
libraries
• Create and edit your sprites and backgrounds in a graphic editor
• Develop scenario plans and create animations, multimedia postcards, interac-
tive posters and simple games based thereon in the Scratch software
environment.
Thematic Planning of Module 2: Basics of Programming in Scratch

No. Topic Hours


1. Review section 2
2. Cycles 4
3. Variables 3
4. Mechanics of movement 3
5. Coordinates 4
6. Sprites are trained 2
7. Branching 4
8. Dialogs and lists 4
9. Simulators and quizzes 4
118 L. Bosova

No. Topic Hours


10. Presentation of projects completed within the 1
module
11. Reserve of study time 3
Total: 34 h

The line of increasing motivation to study and strengthening interdisciplinary


ties is continued in the second module by creating simulations and quizzes; students
can create digital products of this kind on any issue of interest to them, including
academic subjects studied at school. The products created by the hands of children
can be used by the teacher in the classroom as teaching tools. A video tutorial on
creating a quiz is available at https://www.youtube.com/watch?v=rpDhgT5gdJw.

8.4 Domain-Specific Results of Mastering Module 2

Students will know:


Rules of working at the computer
Rules for safe work on the Internet
Purpose of the Scratch programming environment and the main elements of its
interface
Basic rules of work on the web and on the site https://scratch.mit.edu
Basic algorithmic constructions (branches and loops) and their implementation in
the Scratch programming environment
Stages of program development (via a project in the Scratch programming environ-
ment): problem statement, scenario plan development, algorithmization, coding,
testing and debugging.
Students will know how to:
• Launch the Scratch online programming environment
• Use variables and lists
• Work with coordinates and random numbers
• Create auxiliary algorithms
• Use branches and cycles of various types
• Create and edit your sprites in a graphic editor
• Develop a scenario plan for animation, games, simulators and quizzes.
• Create animations, games, simulators and quizzes in the Scratch program-
ming environment
Thematic Planning of Module 3: Programming Skill in Scratch

No. Topic Hours


1. Review section 3
2. Turtle graphics. Procedures with parameters 5
8 Program, Learn and Play: A Course of Extracurricular Activities in Scratch… 119

No. Topic Hours


3. Creating and using your own backgrounds and 6
sprites
4. Music and sound recording 3
5. Duplication and cloning 2
6. Time management. Timer 2
7. Turn on the timer. Timed games 3
8. Labyrinths 3
9. Multi-level games. Teamwork on the project 2
10. Presentation of projects completed within the 1
module
11. Reserve of study time 3
Total: 34 h

In Module 3, students pay special attention to Turtle Graphics. The Procedures


with Parameters topic aims to attract students to such a legendary performer as the
Turtle, whose powerful didactic potential was revealed and realized by Seymour
Papert in the Logo language created by him. The corresponding video tutorial is
available at https://www.youtube.com/watch?v=2H549ZbSHYs.

8.5 Domain-Specific Results of Mastering Module 3

Students will know:


• Rules of working at the computer
• Rules for safe work on the Internet
• Purpose of the Scratch programming environment and the main elements of
its interface
• Basic rules of work on the web and on the site https://scratch.mit.edu
• Basic algorithmic constructions (branches and loops) and their implementa-
tion in the Scratch programming environment
• Possibilities of duplicating and cloning sprites
• Stages of program development (project in the Scratch programming environ-
ment): problem statement, scenario plan development, algorithmizing, cod-
ing, testing and debugging
• Collaborative project opportunities
Students will know how to:
• Use variables and lists
• Work with coordinates and random numbers
• Create auxiliary algorithms
• Use branches and cycles of various types
• Use a timer
120 L. Bosova

• Make sound recordings and use Scratch’s musical capabilities


• Create duplicates and clones
• Create and edit your sprites in a graphic editor
• Develop a scenario plan for animation, games, simulators and quizzes.
• Create animations, games, simulators and quizzes in the Scratch program-
ming environment
• Build regular polygons and compositions of them using cyclic algorithms and
procedures with parameters
• Carry out team development of projects

Thematic Planning of Module 4: Digital Product Development

No. Topic Hours


1. Review section 3
2. Remixes of popular games 9
3. Recursion 2
4. Parallel algorithms. The construction project 4
5. Multi-level quests. Teamwork on the project 4
6. Augmented reality 2
7. Creating applications in app inventor 6
8. Presentation of projects completed within the module 1
9. Reserve of study time 3
Total: 34 h

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

8.6 Domain-Specific Results of Mastering Module 4

Students will know:


• Rules of working at the computer
• Rules for safe work on the Internet
• Basic rules of work on the web and on the site https://scratch.mit.edu
• What is a remix
• Rules governing the exchange of materials within the Scratch community
• Basic algorithmic constructions (branches and loops) and their implementa-
tion in the Scratch programming environment
• Possibilities of duplicating and cloning sprites
• The essence of augmented reality
• The concept of recursion
• Features of serial and parallel algorithms
• Stages of program development (project in the Scratch programming environ-
ment): problem statement, scenario plan development, algorithmization, cod-
ing, testing and debugging
• Purpose and main features of the MIT App Inventor environment
• Collaborative project technology
Students will know how to:
• Use variables and lists
• Work with coordinates and random numbers
• Create auxiliary algorithms
• Use branches and cycles of various types
• Use a timer
• Make sound recordings and use Scratch’s musical capabilities
• Create duplicates and clones
• Create and edit your sprites in a graphic editor
• Develop a scenario plan for animation, games, simulators and quizzes.
• Create animations, games, simulators and quizzes, including remixes in the
Scratch programming environment
• Build recursive algorithms
• Create parallel algorithms for managing the group work of performers
• Carry out team development of projects

8.7 Professional Development of Teaching Staff

The beginning of the large-scale implementation of the extracurricular activity pro-


gram in the 2021/2022 academic year was preceded by advanced training for sev-
eral categories of teaching staff of educational institutions of the Moscow Region
(Fig. 8.1) under the program “Usage methods for the Scratch programming
122 L. Bosova

Fig. 8.1 The composition of the students of the advanced training program in Scratch programming

language in extracurricular activities with students of grades 3–4, 5–6”. In total,


1,530 teaching staff have been trained under the program, including:
• 400 primary school teachers, 300 of whom were not previously familiar with the
Scratch programming environment and did not teach computer science classes
with their students
• 980 informatics teachers, only 280 of whom had an initial understanding of the
Scratch programming environment and experience working with junior
schoolchildren
• 150 teachers of further education, 100 of whom had minimal knowledge in
Scratch programming by the beginning of training, as well as some experience in
working therein with junior schoolchildren.
Thus, about 70% of teachers had no prior experience in Scratch programming
and were not familiar with the specifics of teaching junior schoolchildren.
The advanced training program “Usage methods for the Scratch programming
language in extracurricular activities with students of grades 3–4, 5–6” was designed
for 36 h of training and provided for consideration of the following topics.
1. Overview of the Scratch programming language Features of using the Scratch
programming language in extracurricular activities with students of grades
3–4 and 5–6
2. Introduction to the Scratch programming language
3. Features of conducting classes using the Scratch programming language with
students of grades 3–4
4. Features of conducting classes using the Scratch programming language with
students of grades 5–6
8 Program, Learn and Play: A Course of Extracurricular Activities in Scratch… 123

5. Review of the best pedagogical practices of informatics teachers of the


Moscow region
6. Designing extracurricular activities using the Scratch programming language
7. Organization of project activities using the Scratch programming language in
extracurricular activities with students of grades 3–4 and 5–6
After a short theoretical introduction, trainees were completely immersed in the
Scratch programming environment. The trainees had to not only carefully study
each of the 12 specially designed video tutorials, reproducing everything they saw
on the screen, but also complete a similar project according to their own plan and
also offer ideas for its development. By the end of the training, each trainee had col-
lected a portfolio of projects completed in the Scratch programming environment.
The training was completed by the final conference, at which the trainees presented
their methodological development of extracurricular activities for students of grades
3–4 or 5–6.

8.8 Methods of Conducting Extracurricular Activities


with Schoolchildren

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

4. Modify, supplement and develop a product created by analogy


5. Step out to develop their own original example
The mentioned example analysis scheme is based on the Cicero algorithm,
according to which students must answer the following questions.
1. Who? What? (Which sprites [objects, characters, heroes, and performers] are
involved in the animation?)
2. Where? (What does the scene on which the action takes place look like? What is
the selected background? Does the background change? Is there a soundtrack
provided?)
3. How? (What does each of the sprites do on stage? Do sprites interact with
each other?)
It should be noted that the “use–change–addition–creation” scheme, which we
systematically use, not only provides an opportunity for students to master each of
the following increasingly complex topics, but also allows them to discuss a number
of issues related to information ethics and law through the norms adopted in the
Scratch community.
By the end of the school year, approximately 60% of students have successfully
completed Module 1 (as a rule, these are grade 3 students), about 30% of students
(students of grades 4–5) have completed Modules 1 and 2, and 10% of students
(students of grades 5–6) who had initial programming experience in the Scratch
environment began mastering the program with Module 3, which they successfully
completed by the end of the academic year (May 2022). An indirect sign of the suc-
cess of extracurricular activities according to the developed program is the fact that
this year the number of participants in the regional qualifying round of the interna-
tional Scratch Creative Programming Olympiad has doubled (nominations: My
World, 7–8 years old; My Book, 9–10 years old; Know-All, 11–12 years old;
Games, 13–14 years old). The winning projects of the regional round were sent to
participate in the national qualifying stage of the VI International Scratch Creative
Programming Olympiad in 2022 (https://robbo.ru/olymp/).

8.9 Conclusion

The pedagogical potential of the Scratch programming environment allows us to


consider it as a promising tool for organizing interdisciplinary project-based educa-
tional and cognitive activity of a student for the personal and creative development
of a child and his/her recreation of a unified picture of the world, bridging the vari-
ous subjects studied at school.
Working on projects in Scratch, students have the opportunity to learn important
computational concepts such as repetition, conditions, variables, data types, events
and processes and express themselves in computer creativity. Performing collective
projects, students unite in groups, distributing among themselves the roles of
8 Program, Learn and Play: A Course of Extracurricular Activities in Scratch… 125

programmer, screenwriter, sound engineer and artist. Choosing a business to her/his


liking, the student can more fully self-actualize and, no less importantly, actualize
the knowledge gained through “formal” channels.
Currently, the readiness to teach programming to junior schoolchildren should be
formed not only by an informatics teacher, but also by every primary school teacher,
since proficiency in a formal programming language is considered today as the most
important component of literacy laid down at the level of primary general educa-
tion. Involving not only informatics teachers, but also a large number of primary
school teachers in the process of teaching programming to junior schoolchildren is
one of the significant results of this project.

References

Bosova, L. L. (2014). Methods of using interactive environments for teaching programming to


junior schoolchildren [Bosova L. L., Sorokina T. E., Informatics and Education] No. 7(256),
pp. 61–68.
Bosova, A. Y. (2018). Visualization of parallel algorithms in the scratch 2.0 [Bosova A. Yu.,
Aquilyanov N. A., Software Environment Informatics at School], No. 6(139) pp. 27–31.
Butarev, K. V. (2021). Theory of cognitive load in teaching programming: the ‘Use Before
Development’ Principle [Butarev, K. V., Actual problems of teaching mathematics and com-
puter science at school and university. Proc. VI international scientific internet conference,
Moscow, 11–12 December 2020], Under the general editorship of Bozhenkova L. I., Yegupova
M. V., Moscow, Moscow State Pedagogical University, pp. 34–43 (In Russian).
Carretero Gomez, S., Vuorikari, R., & Punie, Y. (2017). DigComp 2.1: The digital compe-
tence framework for citizens with eight proficiency levels and examples of use, EUR 28558
EN. Publications Office of the European Union.
Eliseeva, O. E. (2017). Teaching children the basics of creating computer games in the scratch
programming language: A guide for teachers of general secondary education institutions
with Belarusian and Russian languages of study: Grades 5–6 (166 p). Narodnaya Asveta
Publication.
Frumin, I. D., Dobryakova, M. S., Barannikov, K. A., & Remorenko, I. M. (2018). Universalnye
kompetentnosti i novaya gramotnost: Chemu uchit segodnya dlya uspekha zavtra.
Predvaritelnye vyvody mezhdunarodnogo doklada o tendentsiyakh transformatsii shkolnogo
obrazovaniya [Universal competencies and new literacy: What to teach today for success
tomorrow. Preliminary conclusions of the international report on trends in the transformation
of school education] (28 p.). HSE National Research University, Sovremennaya analitika obra-
zovaniya [Modern Education Analytics], No. 2 (19).
Laboratory of Information Technologies. (2022). Programming games and animations in scratch.
http://scratch.aelit.net/
Ministry of Education and Science. (2009). Order of the Ministry of Education and Science of the
Russian Federation No. 373 dated October 6, 2009 (as amended on December 31, 2015) “On the
Approval and Implementation of the Federal State Educational Standard for Primary General
Education” (Registered in the Ministry of Justice of the Russian Federation on December 22,
2009 No. 15785). Accessed on: December 18, 2020. [Online]. Available at: http://www.consul-
tant.ru/document/cons_doc_LAW_96801/
Pashkovskaya, Y. V. (2018). Creative tasks in the Scratch environment: Workbook for grades 5–6
(3rd revised and enlarged ed., 192 p). Laboratory of Knowledge Publication.. ill. (Programmer
School).
126 L. Bosova

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

© The Author(s), under exclusive license to Springer Nature 127


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_9
128 L. Mannila

is based on experiences from introducing programming in grades 1–6 in Finland,


where a new national curriculum for comprehensive school (grades 1–9) was
accepted in 2014. The curriculum, which came into force gradually starting in 2016,
states that digital competence, including programming, should be integrated into all
subjects. Programming is also explicitly mentioned in two subjects: mathematics
and ‘sloyd’ (handicraft, craft). I start by discussing the background of integrated
programming in the Finnish curriculum and present three models for how this is
accomplished in practice. This chapter is concluded with a discussion around the
challenges found and lessons learned.

9.2 Programming in the Finnish Curriculum

In this section, I briefly present the way in which programming has been introduced
in the Finnish curriculum.

9.2.1 Programming and Digital Competence

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

followed by programming in visual environments in grades 3–6 and deepening of


programming skills and practice in grades 7–9. Hence, in grades 1–2, programming
can be introduced completely unplugged, while computers, robots or other digital
devices are needed starting in grade 3. The Finnish curriculum does not state when
text-based programming languages should be introduced. Instead, the choice of pro-
gramming environment is left to the teacher, as the choice depends on the type of
problems at hand and the learning objectives to be reached.
Sloyd is a subject taught in the Nordic countries and can be described as crafts or
handicraft using both soft and hard materials. When introducing programming in
this context (grades 3–9), new materials and tools are introduced, such as microcon-
trollers, electronic components, 3D printers and robots. This is hence closely related
to the maker culture, a modern version of the DIY culture integrating technology-­
based materials, which has become popular in both formal and informal educational
settings (Kjällander et al., 2018).
In addition to viewing programming in terms of problem-solving, implementing
of ideas and creative expression, it can also be considered from a societal point of
view: teachers and students can engage in discussions on, for instance, the role of
algorithms, data and programmable devices in our society and everyday life today
as well as potential scenarios for the future.

9.2.2 New Literacies Program

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

Table 9.1 (continued)


The student
can… Grades 1–2 Grades 3–6
Exploratory Co-creation Present their ideas, listen to Describe, in different
work and processes others and collaboratively try ways, their own ways
production solutions of thinking, take the
perspectives of others
into account and work
persistently to achieve
the common goal in a
programming project
Alternate between different roles
when creating programs as a
team
Creative Model different things both Use their own
production according to instructions and observations,
creatively implementing their measurements and
own ideas sensors in their
products and combine
them with robotics
Present and share their ideas Refine existing
with others solutions in a cyclic
manner while
practicing iterative
work, that is,
continuous ideation,
doing, testing and
further development
Create a digital product Identify computational
containing storytelling or features of animations
garnified elements using simple and games
programming under guidance or
in cooperation with others
Programming as Process content from other Use programming-­
a tool for learning subjects by playfully using and related tools and
trying out programming-related approaches for creative
approaches and tools expression and own
production as well as
to explore and explain
phenomena and topics
in different subjects
and multidisciplinary
projects
Practical skills Control a programmable device Use a visual
or a figure in an application programming
environment and create
a program, animation
or games with it
(continued)
132 L. Mannila

Table 9.1 (continued)


The student
can… Grades 1–2 Grades 3–6
Programmed Programmed Identify and name programmed Describe how
environments technology in devices and services they have technological
different areas of experienced and encountered applications can be
life used, their basic
underlying principles
and their role in the
student’s own life
Familiarise themselves with Observe the presence
robotics of programmed
elements in the
surrounding society,
such as robotics and Al
Describe the purpose and
operational principles of the
devices
Impact of Reflect on the data collected Give examples of
programmed based on the student’s activities targeted digital content
technology in in digital environments and the and ways in which this
everyday life connection between targeting is
programming and this data accomplished
collection
Understand that data collected Reflect on their own
are stored and give at least one activities and how data
example of what data collected collected are used in
about themselves could be used digital environments
for

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.

9.3 Reasons for Integration

While some countries introduce programming as part of a stand-alone subject, there


are several reasons for why others opt for integrating it in other subjects. First, there
might not be space in the curriculum for a new subject. Second, letting children
meet and experience programming in different subjects is seen as a way of raising
interest among previously underrepresented groups (Master et al., 2017; Stout et al.,
9 Integrating Programming in Other Subjects at Primary Level: Tool, Glue or Ideation 133

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.

9.4 Integrated Programming in Grades 1–6

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

A common way of integrating programming in other subjects as a tool, for instance,


is for students to showcase their progress or as a means of expression. This implies
using activities that not only let the student learn about and use programming, but
also support learning in other subjects.
When using analogue programming, focus is on creating step-by-step instruc-
tions, using basic programming constructs and presenting solutions to problems
using, e.g., natural language, symbols or ‘home-made’ instructions (as in Fig. 9.1).
This can be directly mapped to the programming content in mathematics for grades
1–6, and such tasks are included in most mathematics textbooks.
Apps and visual environments, such as Lightbot or Code.org, can be used in the
same way, as focus is on learning how to use given instructions and programming
constructs to solve problems. These environments provide students with closed
tasks, offering few degrees of freedom and commonly only one possible solution.
As the student – and the teacher – becomes more experienced and confident, the
tasks presented become more open-ended, providing the student with increasing
degrees of freedom. The visual nature of block-based environments makes them
suitable for creating presentations in different forms, e.g. for games and animations,
digital storytelling in languages and human sciences (debates, dialogues, recon-
structing historical events, presentations, etc.), concretising mathematical concepts
(probabilities, coordinates, variables, etc.) or simulating scientific phenomenon.
Block-based environments are also used for creative expression in the arts. The
images in Fig. 9.2 show concrete examples of this type of programming. The left-
most image shows a Finnish grade 5–6 student’s animation of the human circulatory

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 A candy alarm created using the Micro:bit

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

Fig. 9.6 An interactive


board game using Makey
Makey and Scratch

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

Fig. 9.7 A design for a


smart shoe that can be
heated and laced/de-laced
using an app. The shoe has
a built-in pedometer and
starts blinking if the shoe
is put on the wrong foot

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

Fig. 9.8 Teachers’ self-perceived skills to teach different types of programming

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

In this chapter, I have discussed the integration of programming in grades 1–6 in


Finland. The technological development affects all areas of society and digital com-
petence is thus transversal to its nature. The same holds for programming, and one
could even argue that programming cannot be taught in a non-contextual manner.
Programming is a problem-solving process and is therefore always implemented on
a given problem or idea, or in a given context (Fig. 9.10). Integrating programming
in other subjects can therefore be considered a natural approach but can be challeng-
ing in terms of teacher skills and the time needed for accomplishing this in practice.
It is, however, important to remember that programming is only a small part of
the Finnish curriculum, and it is enough for students to encounter it ‘sometimes’,
yet regularly throughout their education. While much has happened since program-
ming was introduced in the curriculum, all students do not have equal opportunities
to develop this competence. The curriculum revisions hence continue to require
planning, time and resources, including professional development efforts and teach-
ing materials in general, and for maker pedagogies in particular.

References

Barnes, J. (2015). Cross-curricular learning 3–14 (3rd ed.). Sage Publications.


Drake, S. M., & Reid, J. L. (2020). 21st century competencies in light of the history of integrated
curriculum. Frontiers in Education. https://doi.org/10.3389/feduc.2020.00122
European Schoolnet. (2015, October). Computing our future: Computer programming and coding.
Priorities, school curricula and initiatives across Europe. Report Retrieved February 20, 2022
from http://www.eun.org/documents/411753/817341/Computing+our+future_final_2015.pdf/
d3780a64-­1081-­4488-­8549-­6033200e3c03
Finnish Ministry of Education and Culture. (2021). New literacies programme. Retrieved February
20, 2022 from https://okm.fi/en/new-­literacies-­programme
Finnish National Agency for Education. (2016). Perusopetuksen opetussuunnitelman perusteet
2014 (Core curriculum for basic education, available in Finnish). Retrieved February 20, 2022
from https://www.oph.fi/sites/default/files/documents/perusopetuksen_opetussuunnitelman_
perusteet_2014.pdf
Gander, W., Petit, A., Berry, G., Demo, B., Vahrenhold, J., McGettrick, A., Boyle, R., Drechsler,
M., Mendelson, A., Stephenson, C., Ghezzi, C. & Meyer, B. (2013). Informatics education:
Europe cannot afford to miss the boat. Report of the joint Informatics Europe & ACM Europe
Working Group on Informatics Education. Retrieved February 20, 2022 from https://www.
informatics-­europe.org/images/documents/informatics-­education-­acm-­ie.pdf
Heintz, F., Mannila, L., & Färnqvist, T. (2016). A review of models for introducing computa-
tional thinking, computer science and computing in K-12 education. 2016 IEEE Frontiers in
Education Conference (FIE), 1–9. https://doi.org/10.1109/FIE.2016.7757410
Kjällander, S., Åkerfeldt, A., Mannila, L., & Parnes, P. (2018). Makerspaces across settings:
Didactic design for programming in formal and informal teacher education in the Nordic coun-
tries. Journal of Digital Learning in Teacher Education, 34(1), 18–30. https://doi.org/10.108
0/21532974.2017.1387831
Lonka, K. (2018). Phenomenal learning from Finland. Edita.
144 L. Mannila

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

Lina Vinikienė , Valentina Dagienė , and Gabrielė Stupurienė

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ė &

L. Vinikienė (*) · V. Dagienė · G. Stupurienė


Institute of Educational Sciences, Vilnius university, Vilnius, Lithuania
e-mail: lina.vinikiene@cr.vu.lt; valentina.dagiene@mif.vu.lt; gabriele.stupuriene@mif.vu.lt

© The Author(s), under exclusive license to Springer Nature 145


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_10
146 L. Vinikienė et al.

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.

10.2 The Overview of Research Conducted on the Bebras


Tasks for Primary Students in Years 2019–2021

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.

10.3 Programming Concepts in Short Bebras Tasks


for Primary School

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)

10.4 Examples of the Bebras Tasks Based


on Programming Concepts

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).

Example 10.1: Stars and Moons


(proposed by Belgium, Kris Coolsaet)

below could be the result of John’s work.Which bracelet can NOT be obtained by following Mary’s
152 L. Vinikienė et al.

Rationale of Programming Concepts To solve this task, students needed to


think about instructions. Although the instructions looked quite specific, something
was missing. If there was a computer that drives a bracelet-making machine, Mary’s
instructions would not have been sufficient. So an instruction (or command) is an
important programming concept, especially for beginners. Computer instructions
provide several types of “shortcuts”. For instance, like in Mary’s instructions, it is
possible to say that the computer has to repeat an action several times, instead of
having to copy the instructions for these actions over and over again.

Example 10.2: Theatre Performance


(proposed by Slovakia, Monika Tomcsányiová)

Rationale of Programming Concepts Visual representations of information,


data or knowledge (events that happen over time in a given order/sequence) are the
concepts intended to present information quickly and clearly. These concepts can
improve comprehension by enhancing human visual system’s ability to discover
patterns. Understanding visual representations and drawing conclusions from them
is an important skill to develop in CS.

Example 10.3: Marco’s Drawings


(proposed by North Macedonia, Emil Stankov and Mile Jovanov)
10 Introducing Programming Concepts Through the Bebras Tasks in the Primary… 153

Rationale of Programming Concepts The task introduces a graph concept,


which includes its elements: a vertex, an edge, a path and an Eulerian path. This is a
way of representing objects or relationships among objects in CS. The presented
house is a connected graph having an Eulerian path. Leonhard Euler came up with
the concept by trying to solve the problem of the Seven Bridges of Königsberg.

Example 10.4: Train Tracks


(proposed by Portugal, Pedro Ribeiro)

Help guide the train to the station

for each position would make the train arrive


safely to the station?

Rationale of Programming Concepts This task introduces a program concept, a


sequence of instructions that are executed in a certain order and always produce the
same result. By writing a program, students learn to control an object or a character
in the same way that the rails control the movement of the train. Each track section
can be understood as a command given by the programmer to the train to move in
the chosen direction.

Example 10.5: Teddy Bear Hunt


(proposed by Island, Linda Björk Bergsveinsdóttir)

a teddy bear hunt. They start

to their home. Along the way, they take pictures of the teddy
bears they see. They saw 4 teddy bears and below are the

Which teddy bear did they forget?


154 L. Vinikienė et al.

Rationale of Programming Concepts In CS, finding a route is a common


problem. By solving this type of tasks, students will learn about routes, graph
traversal and mapping concepts. A map can be considered as representation of a
graph: the combination of nodes, i.e. houses, and edges, i.e. roads between houses.

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

© The Author(s), under exclusive license to Springer Nature 157


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_11
158 M. Harrison

(Symeonidou, 2017). Support offered to in-service educators appears to be a little


better (Cooc, 2019; Grimsby, 2020). While some cultural changes are occurring,
many allied health professionals still rely on what is known as the medical model of
disability, sharing reports with teachers that are pathologising and deficit-focused.
After reading these reports, educators are often still confused about how they can
best support learners with disabilities or neurological differences.
An alternative approach is utilising the social model of understanding disability,
with the disabling barriers being found in the environment (Matthews, 2009; Oliver,
2013). For example, a student using a wheelchair is not disabled in their classroom
if they have access to ramps and they can reach everything. In this model teachers
focus on addressing the functional needs of the student rather than labels of disabil-
ity or neurological difference (Matthews, 2009). By understanding the unique areas
of strength and challenge, teachers can focus on what each specific child is ready to
learn and then use strengths and interests to address the areas of challenge.
One such area of interest for many students, regardless of their labels, is digital
games. As a Digital Technologies teacher, I have experienced the power of inclusive
digital game-making clubs to motivate and engage learners with a wide range of
functional needs. This chapter shares my professional observations from running
one such club with a group of my own students. Through careful, collaborative
planning, it is possible to have students coding games, in the process learning the
fundamentals of design thinking, systems thinking and computational thinking
alongside their peers. Rather than a comprehensive review of this project and
enablers that allowed all students to actively learn, this chapter focuses on strategi-
cally selected examples. In discussing these examples, this chapter explores the
barriers experienced by some of the participating students living with disabilities
and neurological differences and the solutions identified that allowed these indi-
viduals to participate and demonstrate their learning. Through this discussion, it is
hoped that educators will begin to consider some of the accommodations and sup-
ports they can make to facilitate an inclusive game-making club in their setting.

11.2 A Brief Synthesis of the Literature


on Game-Making Clubs

11.2.1 Supporting All Learners in Game Making

Supporting students with disabilities and neurological differences to learn to code is


an area of research requiring further attention. In exploring digital game-making
clubs in an inclusive primary school and in a special school, Hughes-Roberts et al.’s
(2020) feasibility trial found promise in the use of game creation to engage all stu-
dents. For students with more complex disabilities, the authors found that using
pre-existing templates supported these students to participate in the processes of
game creation and to experience success in creating a playable game. Likewise,
11 Supporting Primary Students with Disabilities and Neurological Differences… 159

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.

11.2.2 Game Making as Acts of Creativity and Self-Expression

Beyond developing technical knowledge and programming skills, a number of


researchers have explored school-based game-making clubs as avenues for student
creativity and expression. In exploring the creative output of 12–14 years in design-
ing games, Pelletier et al. (2010) explored the ways in which participants assembled
and configured pre-existing assets to create original games. One key finding of par-
ticular interest is that the simplified cause and effect, rules-based environment
appeared to foster a willingness by participants to take risks in how they used the
assets. In other words, the constraints of the software package used in this context
was beneficial to creativity as the participants had to experiment with ways to over-
come these constraints.
The act of game creation can also be an avenue for self-expression and sharing
of culture. Creativity in sharing of the game designers’ cultural experiences is cen-
tral of Cannon et al.’s (2018) exploration of “Playful Literacies”. In describing a
group of students adapting the play Macbeth and the poem Beowolf into video
games for contemporary audiences, they highlighted the culturally responsive
nature of reinterpreting these historical works through the lens of modern Gaming
Culture. Student game designers made connections between the themes of these
classical works with their experiences of modern video games. For example, the
students introduced elements of game design from Skyrim into their translation of
Beowolf into a playable experience as the poem invoked memories of playing
Bethesda’s modern classic. It is this notion of allowing student game designers to
privilege their experiences, views and values into their creations that can enable
game creation to be a process for building inclusive learning environments.
160 M. Harrison

11.2.3 Digital Thinking in the Australian Curriculum

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).

11.3 Breaking Down Barriers Between Special


and Mainstream Education: A Local Research Vignette

Hyrule Special Development School (SDS) is located in a metropolitan region of


Victoria, Australia. It is a school that serves students with complex disabilities and
neurological differences. These students had a range of functional needs. These
included differences in norms around verbal and non-verbal communication, diffi-
culties with retaining new information and challenges with fine and gross motor
skills required to use a game controller, computer keyboard or mouse. One of the
features of the school is a satellite “base room” located onsite at another school,
Korok School, with the aim being for the students attending this base room to be
integrated into classes with their age-equivalent peers who do not have labels of
disability. While not truly inclusive education, this is a step towards enacting the
vision of the CRPD. Seven students from Hyrule SDS were located at this base
room. The youngest of the students was 7 years old, with the oldest students being
12 years old. Over the course of a six-month period, a weekly game-making club
was established where students from the base room could work alongside students
form the mainstream school for 2 h per week designing and planning their games.
While assessment data reported that these students were ready to learn very differ-
ent concepts and skills, the students involved in this club shared a love of gaming
and Gamer Culture.
This passion for gaming was used as a vehicle for planning and implementing a
program that aspired to ensure that every student (a) could work as part of a team to
code a digital game, (b) could harness their strengths to be able to learn key con-
cepts and ideas found in the Australian Digital Technologies curriculum and (c)
could practise implementing these concepts by designing and coding their games.
While some of the younger students from Hyrule SDS were working towards
Foundation (the targeted standard for 6-year-old students), some of the older stu-
dents were working at Years 3 and 4 (the targeted standard for 10-year-old students).
The seven students at Hyrule SDS were joined by 10 students from Korok School
who were in Year 5 or Year 6. Participation in this game-making club was optional.
Some of the students chose to work on their own games, while others worked in
teams to design and create games together. Working with the 17 students were the
Digital Technologies teacher, two teaching assistants and two volunteers. Hyrule
SDS’s speech and language pathologist was also consulted throughout the duration
162 M. Harrison

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.

11.4 Key Findings and Implications for Schools

11.4.1 Managing Expectations When Setting Coding Goals

Creating games provided a meaningful context building on the pre-existing game


design and coding knowledge of many students, but it also presented some chal-
lenges. While Fortnite and Super Mario Odyssey were both popular games amongst
the student participants, expectations needed to be managed as to what could realis-
tically be created in time for the games festival at the end of the school term. This
required some careful modelling and an understanding of the software being used,
Clickteam Fusion 2.5 Developer Edition (Fusion 2.5). As a step between block cod-
ing and a text-based general-purpose language, this tool presented an accessible
graphical user interface that still required the students to think logically and under-
stand how the game engine would interpret their instructions. It placed the emphasis
on thinking rather than linguistics, which was ideal given the relative inexperience
of the students and the time limitations.
A decision was made by the teaching team to encourage students to make 2D
platform games in the vein of Super Mario World or Donkey Kong Country. While
on the service this restriction could be seen as stifling creativity, the students
embraced the challenge after having the opportunity to play some of the seminal 2D
platform games from the 1990s on an original Super Nintendo Entertainment
System in the first lesson. Features such as powerups, enemies, visual and auditory
cues and level layout were highlighted. Technical accomplishments such as a cohe-
sive graphical style and the use of parallax scrolling were also explicitly noted.
Examples of the coding underpinning a seemingly simple 2D platform game in
Fusion 2.5’s event editor highlighted the hidden complexity. Following play and
analysis, a rich discussion was facilitated by the staff about the differences between
a mediocre platform game (the game Home Improvement) and a timeless classic
(Super Mario World). Whereas Cannon et al., (2018) used student knowledge of
gaming conventions as a vehicle for engaging with challenging English texts, this
project sought to harness knowledge around gaming conventions to engage students
in learning the technical and thinking skills required for designing and coding soft-
ware. Recognising and celebrating existing knowledge set the scene for students to
begin planning their own games.
11 Supporting Primary Students with Disabilities and Neurological Differences… 163

11.4.2 Supporting Challenges with Comprehension


and Executive Function in Design Thinking

Designing a 2D platform game level which presented an achievable level of chal-


lenge was an essential component of this project. Although the students were
allowed to begin playing with the software in the first lesson to become familiar
with the interface and limitations imposed by the engine, the second lesson was
dedicated to collaboratively planning their games. Students were provided with
large pieces of butcher’s paper to map their first level. Additionally, they received a
list of common elements found in popular 2D platform games. None of these ele-
ments were required and served to only provide inspiration. It was only when the
students started their design process that the barriers presented by this free form
approach became evident.
Working alongside their peers at Korok School, it soon became apparent that
challenges with comprehension and executive functioning experienced by some of
the students at Hyrule SDS presented a challenge to the design process. Students
reported not understanding what some of the components on the checklist meant
and did not understand the effect of including too many components within a level
would have on the difficulty level of the game. This in turn caused tensions within
the groups, as some students recognised the impact of having 30 enemies on screen
would have on playability, while others did not.
Fortunately, a student from Korok School suggested a solution for removing this
barrier to participation. She asked if they could download an example game from
the Clickteam Fusion website. This is not dissimilar to Pelletier et al.’s (2010)
approach of encouraging student designers to remix existing assets as a starting
point. When a player said they did not know what something meant, teams now had
a tool by which they could show the student a meaningful example in the context of
a game. In particular, this visualisation greatly assisted students with intellectual
disabilities to be able to participate in discussions and debates around game design.
Providing an active play pen also allowed the team to experiment with adding or
removing different components and then using this to inform their plan on the
butcher’s papers. Using this sample level, students who experienced challenges in
predicting the impact of different components now had a concrete tool through
which they could test ideas. If a suggestion was made that some group members felt
would have a detrimental impact on player experience, they could use the sample
level as a tool to illustrate their point. As teams began to move from planning to
coding their own levels, this incremental approach to rapid testing was often trans-
ported from the sample level to their own game. Figure 11.1 shares a screenshot of
one team’s first level during early testing. As they began to create their own levels
using the Fusion 2.5 engine, they continued to experiment with the number and
placement of enemies in their own game as they had in the sample level.
164 M. Harrison

Fig. 11.1 A screenshot of one team’s first level during early testing

11.4.3 Systems Thinking for Game Design

Part of the magic of playing a well-designed two-dimensional platform game is the


sense of connection between the player and the in-game avatar. Key to this sense of
connection is the agency provided by precise and responsive controls. When the
player hits the “B” button, they know that Mario will always jump in a predictable
manner. As the students in this game-making club came to learn, systems thinking
has a vital role in ensuring this predictability. Through experimentation with
Clickteam Fusion’s level designer tool, the budding game designers soon began to
understand the relationship between the number of animated sprites on screen, the
available memory on the computer they are using and the control responsiveness.
The more enemies on screen, the more memory their game would require. At some
point, this would have a detrimental impact on the latency players experienced in
controlling their avatars.
Once again, providing access to a sample game allowed users to experiment with
the boundaries of the game engine and the performance limitations of the hardware
they were using. While the students were using low-end netbooks with power-­
saving processors, the teaching staff also provided access to a higher-end gaming
personal computer. This allowed students to test their games on differently config-
ured computers. Through guided testing, students were able to compare and con-
trast the performance differences between 2GB of RAM and 16GB of RAM,
between mechanical and solid-state storage, and to begin to understand the impact
of hardware such as dedicated graphics cards on game performance. Using this
knowledge, they could discuss and debate the impact of the broader systems on user
experience and then make informed design decisions.
11 Supporting Primary Students with Disabilities and Neurological Differences… 165

11.4.4 Using Computational Thinking to Program Counters

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.

11.4.5 Collaborating with Other Creators

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.

11.5 Evidence for Assessing Mastery of Assessment

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

Abilities Based Learning and Education Support (ABLES) for Digital


Literacy a systematic assessment tool that allows teachers to use observations of
what a child can say, make, do or write to identify what a child is ready to learn. This
instrument was designed to support learners working towards foundation and pro-
vides a more grain learning continuum ideal for students with intellectual disabili-
ties and neurological differences.
• Link to resource: https://www.education.vic.gov.au/school/teachers/learning-
needs/Pages/ables.aspx
Inclusive Lesson Resources – The Digital Technologies Hub this web-based
resource provides information and supports organised in the four broad categories
of functional needs found within the Nationally Consistent Collection of Data:
physical, cognitive, sensory and social/emotional. A range of lesson plans with
168 M. Harrison

s­ uggested adjustments and accommodations are provided, including for activities


based around the creation of digital games and the three types of thinking that
underpin the Digital Technologies curriculum.
• Link to resource: https://www.digitaltechnologieshub.edu.au/plan-­and-­prepare/
inclusive-­education/inclusive-­lesson-­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

© The Author(s), under exclusive license to Springer Nature 171


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_12
172 M. Chesterman

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

field.1 The Computing at School website contains resources created by members of


the network and the network holds regular in-person and online events. Members
promote an inclusive approach to programming by creating projects and using
examples which are “real world and culturally relevant”.2 The following section
examines the intersection of inclusion, a project approach and game making.

12.3 Game Making, Project-Based Learning and Inclusion

Contemporary understandings of inclusion go beyond SEND (special educational


needs and disabilities) issues to encompass cultural exclusion which may include
dimensions of race, gender or other cultural factors. Recent studies study the use of
games and playful techniques to overcome exclusion from the culture of computing
(Kafai & Burke, 2014; Kafai et al., 2017). They show that if students feel excluded
from school culture, then making bridges to home cultures is vital. One way to make
those connections to home cultures is to allow for more choice over subject matter
that can be incorporated into computing projects. The benefits of game making as a
form of project-based learning (PBL) also align with a teaching framework focused
on inclusion called Universal Design for Learning (UDL) (Basham & Marino,
2013). While an analysis of the synergies between PBL and UDL is beyond the
remit of this chapter, key characteristics of game making as an educational activity
align well with both UDL and project-based approaches. The following sections
give three examples.
Family Game Experience as an Inclusive Fund of Knowledge The concept of
funds of knowledge emerged from research within United States Latino communi-
ties. The term addresses the use of knowledge and skills from participation in activi-
ties outside school that teachers can build on to help classroom work and to support
the motivation of learners. Researchers found that Latino home cultures, skills and
traditions were hardly visible in mainstream school cultures. This resulted in a form
of deficit thinking about the performance of these communities (Moll et al, 1992).
Research by the Picton and colleagues for the UK National Literacy Trust (2020) of
11- to 16-year-olds found that 96% of boys and 65.2% of girls play video games.
This study shows that while there remains a disparity between genders, game play-
ing is still very widespread and young people are unlikely to be part of a household
where no games are played.
Game making allows children to draw on funds of knowledge in various ways,
perhaps in the choice of the kind of game that is to be made, in the setting or subject

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

12.4 An Overview of Game Coding Tools

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)

MakeCode Arcade – Specialised Block-Based Programming MakeCode Arcade


is a block-based programming environment similar to Scratch but with some inter-
esting features which are tailored to game making like gravity, lives and a game
over block. In addition, the multimedia-making abilities are very stripped down and
the games can be downloaded to handheld devices (Fig. 12.2).
The MakeCode Arcade interface, like Scratch, has the ability to edit sprite char-
acters. However, compared to Scratch, it is more limited in terms of what can be
created. The simplicity of a tool like MakeCode Arcade can help address issues
around learners trying to attempt projects that are too ambitious in scope. The
designers have intentionally limited the tools provided to work on audio and graphi-
cal assets and the screen size of the game. This simplicity reduces the amount of
time learners spend creating assets and thus supports students to spend time to build
familiarity and fluency with coding constructs. There are some engaging, diverse
and comprehensive example games and tutorials at the project website.4

12.5 Research Vignette: Evolution of Design

My own research is an experimental approach to create a pedagogy which supports


a community learning approach to game making. I have worked with young learn-
ers, local families and undergraduate student helpers to evolve this game-making
design. A key driver of my research was to explore the potential to draw on family
experience in learning activities by working with family members to jointly design
games. I propose that this environment is a fertile research base to create learning

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.

12.6 Overview of the 3 M Game-Making Learning Design

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

as a reflective tool. Finally, methods are primarily used by facilitators in planning


session activities.

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

In addition to outlines of game patterns, printouts or online documents to support


learners to implement the code needed are provided. While online documents allow
learners to copy and paste code thus avoiding many syntax errors, printed or incom-
plete code examples provide a greater level of challenge. Supporting resources help
resolve tensions around learners getting stuck and needing a lot of facilitator help.
These resources can help teachers deliver game making in a classroom context.
Educators can alter resources to vary how much detail is provided in supporting
documents to suit the challenge level for students. I work with young coders and so
I normally provide significant coding scaffolding. Once learners have built familiar-
ity with code structures, processes and the coding environment, then I provide less
complete code examples and thus reduce the scaffolding.

12.8 Maps

Learning Dimension Map In learning environments where there is a lot of choice,


assessing learners via observation is beneficial. Rather than deciding what you want
to teach and testing students on that area, you can map the learning happening in an
authentic activity. When researching hands-on tinkering in science museums, Bevan
and Petrich et al., (2013) worked with educators to examine video footage of fami-
lies interacting with exhibits to make a structured list of the learning they observed.
The resulting map of learning dimensions included underlying science concepts but
also contained more general skills and helping behaviours involved in exploratory
learning processes. Another chapter in this collection identified concept maps and
observation as methods for teachers and researchers to identify key learning suited
to particular computing projects. One of the outcomes of my research was to extract
some of the concepts and practices that learners engaged with when making games
from hours of recorded material. While some are common to existing computational
thinking frameworks, others, including systems thinking concepts, are more unique
to game making. Table 12.1 shows my resulting map of learning dimensions for the
3 M game-making model.

Table 12.1 Learning dimensions of the 3 M game-making model


Coding concepts System patterns Design practices
Sequences Systems elements Goal setting
Variables Systems dynamics Being incremental and iterative
Logic Reinforcing feedback loops Developing vocabulary
Loops Balancing feedback loops Web navigation
Arrays Problem-solving
Creating functions Version control
Change listener Debugging
Input event Reusing and remixing
182 M. Chesterman

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

Drama/Fictional Frameworks Another method I use to increase learner engage-


ment in game making is the concept of using a fictional scenario or simulation. A
fictional community while less authentic than a professional community can still
provide some of the associated benefits of authenticity. I have worked with practi-
tioners of the Drama Education department at Manchester Metropolitan University
to develop such fictional dramas, but teachers do not need to be a trained drama
practitioner to draw on key techniques to increase learner engagement. For exam-
ple, I asked trainee teachers to devise a scenario to support a series of sessions and
they used a fiction of making games for an alien race coming to destroy the earth.
The process of using a fictional situation can help with the motivation and reflection
of learners in the following ways:

• 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.

12.10 Summary of 3 M Game-Making Model


and Supporting Resources

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).

12.10.1 Supporting Resource 1: Phaser and Glitch.com

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

Fig. 12.3 Synthesising diagram of the 3 M game-making model

12.10.2 Supporting Resource 2: 3 M and MakeCode Arcade

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

Table 12.2 Key features of the 3 M game-making model


Missions Maps Methods
Simple code changes A map of learning dimensions Play testing in each session aids
yield quick feedback flexibly linked to main missions/ short-term motivation. Showcase
patterns can be used by both events help longer-term
learners and facilitators motivation and aid project
prioritisation
Free choice of patterns Tracing the learner pathway on an Drama and fictional scenarios
increases learner attractive physical map in the can help explore issues and
engagement and learning space can help integrate reduce learner anxiety through
ownership navigation and reflection into the coding in a role
creative process
Restrict game type and Adding electronics to control the
number of patterns to game via arcade buttons and
reduce facilitator stress cabinets increases engagement
and perceptions of project
authenticity
Limit complexity of
patterns. Some are simple
but cause a large change
in the game
Side missions which
explore and celebrate
different “maker types”
(from Bartle’s player
types)

12.10.3 Supporting Resource 3: Other MakeCode


Arcade Tutorials

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

Knowledge of computational thinking and programming is becoming essential for


the twenty-first century (Ezeamuzie & Leung, 2021; Papadakis et al., 2016); how-
ever, many students experience difficulties when learning to program, or when
transferring from block-based to text-based programming (Cruz Pinheiro et al.,
2017; Macrides et al., 2021). This chapter synthesizes the reviews of research stud-
ies on programming and computational thinking in order to identify the program-
ming difficulties experienced by students. The chapter highlights these difficulties
and concludes with recommendations for researchers, teachers and learners.
Computational thinking is essential in learning to program and encompasses the
skills necessary to solve problems, using processes and concepts from computer
science. Computational thinking involves key skills, identified as abstraction, algo-
rithmic thinking, decomposition, debugging, automation, and generalization
(Ogegbo & Ramnarain, 2021). Brennan and Resnick (2012) developed a detailed
framework of computational thinking concepts, practices, and perspectives that can
be developed when creating programs with visual programming tools, such as
Scratch. This framework has also been used in various review studies identified in
this chapter, examining how computational thinking relates to coding various pro-
grammable tools. Computational thinking concepts, practices, and perspectives
were also identified in a pedagogical framework for introducing text-based pro-
gramming, developed by Kandemir et al. (2020).
Introducing computational thinking frameworks can help address issues students
experience when learning to program and when transferring from block-based to
text-based programming environments. This chapter provides an overview of review

C. Chalmers (*)
Queensland University of Technology, Brisbane, QLD, Australia
e-mail: c.chalmers@qut.edu.au

© The Author(s), under exclusive license to Springer Nature 191


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_13
192 C. Chalmers

studies on computational thinking and programming to help identify programming


difficulties experienced by students, as well as relevant computational thinking
frameworks and programming tools that can help address these difficulties.

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

Programming is considered to be a key pathway to developing computational think-


ing skills; however, despite the importance being placed in the curriculum on com-
putational thinking and coding and the research studies focusing on these areas,
many students still face challenges when learning to program (Noone & Mooney,
2018). These challenges have been reported globally and throughout educational
settings. For example, while a number of studies have been conducted, computer
science courses at universities still report high dropout rates with students in the first
13 The Problem with Programming: An Overview 193

year of study. Learning text-based programming is a challenge for students and a


major reason they avoid computer science courses at university (Batista et al., 2016).
Learning a programming language is not easy and presents challenges for stu-
dents at every level of education. While some studies have found the age of the
students did not relate to their understanding of programming ideas (Bers, 2019),
other studies have reported that many young students have difficulty understanding
complex programming concepts such as conditions (if/then) and loops (repeats)
(Macrides et al., 2021; McCormick & Hall, 2021). There are a number of difficul-
ties that novice programming students can experience (Alammary, 2019). Difficulties
in learning to program include designing solutions, developing algorithms, difficul-
ties with writing and evaluating programs, and difficulties related to the concepts of
programming (Yusoff et al., 2020).
Students can develop computational thinking skills while learning to program.
There are concerns, however, with children being able to apply abstraction, which
is an important aspect of computational thinking relevant to learning to program.
Students need to work with multiple levels of abstraction as they learn to program
(Kakavas & Ugolini, 2019). Also, despite the research showing the difficulties ter-
tiary students experience with learning text-based programming, advanced com-
puter programming languages, such as Java, Python, and C++, are being introduced
to students during their secondary school years (Cruz Pinheiro et al., 2017).
This chapter highlights the reported difficulties students face when learning to
program, by conducting an overview of the 37 systematic and 12 meta-analysis
review studies identified from 2006 to 2021, including both quantitative and qualita-
tive results, related to computational thinking and programming. The systematic
and meta-analysis review studies were selected, examined, and synthesized to
address the following research questions:
1. What are the difficulties identified in the reviews, related to learning to program?
2. Which computational thinking skills and programming tools have been identi-
fied to address the challenges students face when learning to program?
3. What are the gaps identified in the reviews that require future research?

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

Authors of systematic reviews systematically search, locate and synthesize avail-


able research evidence on a given subject, in order to give an overview of the area
and to identify potential gaps in research (Boyle et al., 2016). While an author of a
meta-analysis study uses a quantitative review technique, consolidating findings
from multiple studies and reporting on the effect size across the studies. This over-
view examined 49 review studies on computational thinking and programming.
The overview used the updated Preferred Reporting Items for Systematic reviews
and Meta-Analysis (PRISMA) flow diagram to structure the systematic collection
and review of the relevant systematic reviews and meta-analyses for this study (Page
et al., 2021). The four-phase PRISMA flow diagram is used to structure the litera-
ture search for suitable review studies. The PRISMA flow diagram was used to
provide guidance for the method of this study, including the identification, review,
and selection of relevant review studies (see Fig. 13.1).
The relevant articles were identified through a systematic search related to com-
putational thinking and programming. Search terms used for the overview included
systematic review, meta-analysis, programming, coding, and computational

Total studies identified (n=2949)


ProQuest (n=727)
Science Direct (n=600) Duplicate studies removed
Taylor & Francis (n=398) before screening:
Identification

EBSCO (n=147) Duplicate records removed


SAGE (n=681) (n = 31)
ACM Digital library (n=27)
Springer (n=264)
IEE Explore (n=82)
DOAJ (n=23)
Wiley (n=245)

Studies excluded after examining


Studies screened
title relevance
(n = 2918)
(n = 2771)
Screening

Studies excluded after


examining:
Studies sought for retrieval and Not a systematic review or
assessed for eligibility meta analysis (n =19)
(n =147) Not relevant to learning to
program (n = 74)
Not in relevant time frame
(n=5)
Included

Studies included in review


(n = 49)

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

Fig. 13.2 Distribution of


reviews conducted based ϯϬ
on year of publication
Ϯϱ

ϮϬ

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.

13.3.1 Difficulties in 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

programmers experience several difficulties including not being able to apply


appropriate problem-solving strategies and skills; having difficulty in expressing
their solution with the use of abstraction, variables, and arrays; and understanding
control structures, such as loops and conditional statements. Other difficulties men-
tioned were being unable to read or trace a code and issues with debugging prob-
lem code.
Beginner programmers often struggle with basic programming tasks, including
identifying the correct sequence and with writing simple algorithms (Perera et al.,
2021). This struggle was highlighted in the systematic review by Perera et al., who
focused on publications concerning visual/block-based programming languages for
children 8 years and above and on text-based programming languages for children
14 years and above. Macrides et al. (2021) stated that children in early childhood
education may also experience difficulties when learning to program, and despite
the growing interest in the field, more research needs to be done in terms of examin-
ing how programming concepts and skills are developed with young children.
The concept of abstraction has emerged as an area of interest for researchers,
with the integration of programming and computational thinking in early childhood
settings. Abstraction is a complex idea, and Ezeaumuzie et al. (2021) highlighted
that it is often operationalized and understood through different lenses, leading to a
muddled understanding. In an attempt to define abstraction, operationally and con-
ceptually, they reviewed and analysed 96 research studies to determine how
researchers had used abstraction in their studies. The researchers attempted to align
conceptual and operational definitions; however, this alignment was not clear and
the reviewers eventually abandoned their attempts.
Due to complex concepts and the structure of the programming languages used,
learning text-based programming is not easy and can be challenging to teach
(Kandemir et al., 2020). Berssanette and de Franciso (2021) highlighted that teach-
ers in higher education programming courses have not been too successful in meet-
ing this challenge, as student dropout and failure rates remain high. Traditional
teaching approaches are not suited for helping students to overcome programming
difficulties (Alammary, 2019). The 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).
Teaching methods were also examined in the reviewed studies. Costa et al.
(2020) conducted a meta-analysis examining the impact of teaching methods on
students’ knowledge acquisition in microworld applications. The study concluded
that cognitive methods facilitated student learning; however, studies focusing on
constructivist student-centred teaching methods were not included, as these studies
focussed mainly on qualitative results and did not meet the inclusion criteria for the
meta-analysis. Berssanette and de Franciso (2021) suggested pedagogical tech-
niques, including active learning, promoted the engagement of students learning to
program and promoted critical thinking and deep understanding.
198 C. Chalmers

13.3.2 Thinking Skills

While computational thinking is essential in learning to program, the process


involved in programming is also seen as a way to teach and develop computational
thinking skills. Programming requires problem-solving skills to create, evaluate,
and modify code and the ability to decompose and apply algorithms in order to
solve problems. Macrides et al. (2021) stated that many studies have been published
examining computational thinking and programming; however, research reviews
integrating computational thinking with programming skills are limited.
Investigating the teaching of programming in early childhood settings, Macrides
et al. (2021) reported on Angeli et al.’s (2016) computational thinking framework
for familiarizing young children with computational thinking processes and for
guiding their development of abstraction, decomposition, algorithmic thinking, and
debugging while learning to program. The ‘framework of computational thinking’,
developed by Brennan and Resnick (2012), identifies computational thinking prac-
tices, rather than processes, and includes concepts and computational perspectives
that are developed when creating programs with visual programming tools.
Computational thinking concepts focus on the ideas that students use when they
program.
Several review studies examined in this overview have used this framework to
structure their analysis of the selected research studies (e.g. Ezeamuzie & Leung,
2021). This overview also highlights computational concepts, practices, and per-
spectives, relevant for learning to program that were identified in the reviewed stud-
ies. The reviews that incorporated this framework used a variety of combinations of
these concepts and practices. For example, the review by Tikva and Tambouris
(2021) systematically mapped 101 studies to provide a conceptual model focusing
on computational thinking through programming in higher education settings. The
model proposes learning strategies, assessment, and tools that can assist with help-
ing students develop their computational thinking and their understanding of
programming.
The computational thinking concepts and practices reported by Bakala et al.
(2021) included sequencing and abstraction, debugging, and designing algorithms.
These were observed when students were learning to program a robot. Macrides
et al. (2021) focused on computational thinking concepts of sequencing, algorith-
mic thinking, loops, decomposition, and debugging, while Fagerlund et al. (2020)
included specific programming concepts including variables, arrays, and Boolean
logic, as well as the computational thinking concepts of sequencing, algorithmic
thinking, and looping identified by Macrides et al. (2021).
In their review of ‘unplugged pedagogies’, Huang and Looi (2021) reviewed and
synthesized 40 research studies and established that unplugged approaches can also
deepen students’ understanding of computational thinking concepts while support-
ing the introduction of new programming languages. The reported implementation
of unplugged activities was examined in a systematic review of 55 articles (Battal
et al., 2021). This review highlighted the unplugged approach as an effective
13 The Problem with Programming: An Overview 199

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 computational thinking concepts and practices reported in the reviews


include sequencing, abstraction, debugging, loops, events, parallelism, condition-
als, decomposition, and designing algorithms. Several of the reviews in this study
used Brennan and Resnick’s (2012) ‘computational thinking framework’. This
framework highlights computational concepts, practices, and perspectives relevant
to programming. The reviews that incorporated this framework used a variety of
combinations of these concepts and practices.
There were also a variety of programming tools identified in the review studies.
These tools included screen-based, tangible and hybrid programming tools. Tangible
and screen-based visual block-based programming tools can motivate young stu-
dents and support their understanding and application of computational thinking
concepts and perspectives. As highlighted in the previous section, hybrid program-
ming tools that combine aspects of block-based with text-based programming can
assist students in the transition to text-based programming.
3. What are the gaps identified in the reviews that require future research?
While a number of systematic and meta-analysis reviews have been conducted in
the areas of computational and programming, there have been no reviews, from
2006 to 2021, that focussed specifically on the difficulties students experience when
learning to program. Also, no reviews were found that focus solely on students
learning programming in secondary school and the transition from block-based to
text-based programming. These are both areas for future research. Future research
directions and gaps in the research literature have also been identified in the reviewed
studies and selected relevant directions are highlighted in this section.
The future research directions show potential research areas of study that could
be addressed in future review studies: for researchers, for learners of programs and
for teachers. According to the reviewed studies, future research could investigate
effective teaching and learning strategies and the types of programming environ-
ments for facilitating learning to program. Teaching strategies for introducing pro-
gramming could include how and when the technology should be incorporated into
the classroom (Montiel & Gomew-Zermeno, 2021) and the mechanisms that can
identify students’ emotions in more precise ways but are non-intrusive, so that
instructors can redirect their teaching strategies in a timely manner (Coto et al.,
2021). Additional research is also needed to investigate how to increase the knowl-
edge and experience of both in-service and pre-service teachers with unplugged
activities (Battal et al., 2021).
As well as teaching strategies, learning strategies were also the focus of the
future research directions proposed by Tikva and Tambouris (2021). They suggested
that researchers could focus on which learning strategies are the most suitable for
developing computational thinking and investigate the relationship between learn-
ers’ strategies and their computational thinking development. Future studies could
also examine the correlation of computational thinking and educational outcomes
(Ezeamuzie & Leung, 2021) and ways to assess computational thinking in program-
ming (Fagerlund et al., 2020). Also, the difficulties related to the teaching and
202 C. Chalmers

learning process of programming needs further research (Berssanette & de


Francisco, 2021).
The types of programming environments for facilitating learning to program was
also focused in the future research directions suggested by the reviewed studies.
Kandemir et al. (2020), Hu et al. (2020) and Perera et al. (2021) focused their sug-
gestions for future research on examining what the most effective programming
programs were for teaching programming concepts to novice learners. How block-­
based programming environments facilitate the learning of programming concepts
for novice programmers was also a future research area suggested by Xu et al. (2019).

13.4.1 Limitations of the Study

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

Jonathon Mascorella and Maria Emmi

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

© The Author(s), under exclusive license to Springer Nature 207


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_14
208 J. Mascorella and M. Emmi

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

This experiential approach to learning took place at Loreto Kirribilli, Sydney,


Australia. Loreto Kirribilli is a fully comprehensive K-12 school for girls in the
state of New South Wales. The school’s focus is on the development of the whole
student, and it celebrates a strong culture of learning, faith and community. The
approach taken to learning is nested within their Learning Lens, which provides an
alignment between character strengths such as grit, perseverance and resilience with
the 4Cs: creativity, communication, critical thinking and collaboration. Teachers at
the school are provided with regular professional learning activities to explore a
yearly whole-school goal that underpins the school’s strategic plan as an institution
and company. Their strategic objectives are designed to support a constant and evo-
lutionary approach to teaching, bringing about innovative practices and refining
their approach to learning and implementation of student experience across all
aspects of school and personal life.
Within this framework, developing young women for the future is at the heart of
their charism, which is formed on the phrase ‘women, in time, will come to do
much’, words spoken by our founder, Mary Ward. Essentially, that as Loreto edu-
cates young women for the future, they will grow to be powerful within their chosen
vocations and passions. The purpose of this paper is to explore how the school has
applied the development of digital literacies needed for a modern world through this
lens and within this context.

14.2 Literature Review

14.2.1 An Australian Context

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

Australian Curriculum level, developed as a national response to curriculum reform


to inform the states’ development of a localised and contextualised model.
The DT curriculum is scaled from the early years (Kindergarten or prior Year 1)
to the final years of high school, where the curriculum branches from DT in Years 7
and 8 to more specialised subjects covering processing technologies (with a focus
on utilizing technology in a systems environment) and software engineering.
At the time of its implementation, teachers expressed concern and angst for the
degree of knowledge and skill they would need for effective teaching of the content
(Redmond et al., 2021). For Redmond et al. (2021), professional learning was found
as a point of critical attention, provided with supporting resources to effectively
implement the digital technologies curriculum. The intended outcome was to
develop teacher capacity to meet the needs of students and the syllabus.
Many have provided advice to teachers and explored ways to teach, and develop
the capacity to teach, digital literacies within the DT curriculum. Gallagher et al.
(2015) profile the use of the iPad in classroom literacy activities. They focus atten-
tion on three different schools in Toronto, Canada; San Diego, USA; and Sydney,
Australia. The researchers apply the use of the theoretical framework of cognitive
constructivism, social constructivism and connectivism, to form a multifaceted
approach to the implementation of activities across the sites of analysis. The two-­
year research project explored how students across primary and secondary schools
learned with iPads and found that given their various modalities of implementation,
students adapted and applied the technology successfully within those modalities.
Rowsell et al. (2016) show that these types of activities can assist in the develop-
ment of literacies, referred to as ‘participatory literacies’. These are literacies devel-
oped through immersion in content and activity, rather than explicit instruction or
delivery.
Hutchison et al. (2016) consider how teaching the fundamentals of coding not
only develops coding literacy but also supports literacy instruction. The authors
discuss how coding apps help users create digital content and provide opportunities
for creativity, reasoning and collaboration. The authors show how apps such as
ScratchJr, My Root Friend and Tynker can be incorporated in the English curricu-
lum. For Pila et al. (2018), their approach was to explore the relationship between
appeal and learning, consider whether gender makes a difference and ask whether
children can gain a conceptual understanding of what coding is through immersive
activities utilising digital applications (apps). This detailed study tested the chil-
dren’s ability after a week, concluding that digital apps can be used to teach young
children coding.

14.2.2 Digital Literacies Through Computational Thinking

There is a growing need to continually develop students’ skills in computational


thinking, particularly where there exists a conception about knowledge or skills that
may not match actual capabilities (Porat et al., 2018). For some, there is a nexus
210 J. Mascorella and M. Emmi

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

14.3 Local Research Vignette

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

Teaching of the digital technologies curriculum with primary education students is


directed by the requirements of the NSW Science and Technology Syllabus. It is
developed by the New South Wales Education Standards Authority (NESA). The
curriculum includes addressing thinking skills such as computational thinking, sys-
tems thinking and design thinking. The goal of implementation by NESA is to inte-
grate the digital technologies outcomes with design thinking processes across
multiple curriculum areas that could provide students with greater depth of knowl-
edge and understanding. Hence, integration across other curriculum areas such as
English, History and Creative Arts was considered an important priority.
Additionally, the ICT general capabilities (under the Australian Curriculum) are
defined to include digital literacies, so students learn to navigate the use of ICT
broadly. These capabilities teach students how to manage and make the most of
digital technology available to them.
Loreto Kirribilli utilises a co-constructed, collaborative approach to form the
basis of learning digital literacies. With a focus on using physical devices, it is pro-
posed that students could develop their understanding of the programming language
being used and how the device worked. Through a series of directed and play-based
activities, students should be able to assimilate what they had learnt and develop
products that demonstrated their understanding via a collaborative, design thinking
focused, problem-solving task. The digital technologies projects undertaken with
primary students provided open-ended tasks which allowed students to challenge
their coding ability.

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

14.4 An Exploration of Teaching Activities

The following activities are a snapshot of the tasks undertaken by students to


develop their digital literacies. The use of ST1-2DP-T (for example) refers to NESA
curriculum outcomes. Each activity provides an outline of how digital capabilities
were addressed. We also provide student experiences and reflect briefly on the
implementation and outcomes.

14.4.1 The Use of Blue-Bot in Year 1

• 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

7HFKQRORJLHV IRFXVDUHDV $ FWLYLWLHV

‡ %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

14.4.1.1 Addressing the ICT Capabilities

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.

14.4.2 Makey Makeys and Scratch in Year 4

• 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

7HFKQRORJLHV IRFXVDUHDV $ FWLYLWLHV

‡ 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

history of world exploration and knowledge about different star constellations. In


this activity, the teachers had to extend themselves more explicitly to support stu-
dents, as they needed to develop the skills required to unpack deeper levels of learn-
ing and skill. They also needed to request deeper levels of support from the
integrator, to ensure a continuation of learning. Developing lesson content became
more complex, but this paved the way for more inquiry-based learning techniques
to be provided.
After a brief video that introduced students to the concept of a Makey Makey,
they were given their first real hands-on experience of how a Makey Makey works
interactively with code. Students were asked to create a drawing of an alien on an
A3 sheet of paper. Using copper sticky tape and aluminium foil, they created four
contact points for the Makey Makey circuit. The last step was to create some code
with SCRATCH that would add sound to each of those contact points. They used
this starting activity to design a constellation and add contact points to it. They
linked these to the Makey Makey as a group with less teacher guidance. They
designed the interface in Scratch and coded it for interaction between the Makey
Makey and the computer (Figs. 14.5 and 14.6).
The task required great precision for ensuring all aspects work correctly and col-
laboration to ensure each student had a role to play. The task then transitioned to
Scratch tutorials on GROK Academy, which provided an extension for the project
into deeper learning. They were asked to transform information into interactivity.

14.4.2.1 Addressing the ICT Capabilities

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

14.5 Teacher Feedback and Recommendations

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

Fig. 14.7 Completed


interactive product with
Scratch at full screen

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

Bourdieu, P. (1986). The forms of capital. In J. Richardson (Ed.), Handbook of theory


and research for the sociology of education (pp. 280–291). Greenwood. https://doi.
org/10.1002/9780470755679.ch15
Cope, B., & Kalantzis, M. (2009). “Multiliteracies”: New literacies, new learning. Pedagogies: An
International Journal, 4(3), 164–195. https://doi.org/10.1080/15544800903076044
de Koster, S., Volman, M., & Kuiper, E. (2017). Concept-guided development of technology in
‘traditional’ and ‘innovative’ schools: Quantitative and qualitative differences in technology
integration. Educational Technology Research and Development, 65(5), 1325–1344. https://
doi.org/10.1007/s11423-­017-­9527-­0
14 Expanding Teacher Capacity and Student Engagement in Digital Literacies… 223

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

© The Author(s), under exclusive license to Springer Nature 225


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_15
226 M. Grillenberger

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.2 Computer Science Education in Switzerland

In the German-speaking cantons of Switzerland, the new general curriculum


‘Lehrplan 21’ (curriculum for the twenty-first century) was developed from 2010 to
2013. In this process of modernization and harmonization, computer science got
integrated in the compulsory curriculum for secondary school. Computer science is
now a part of the new school subject ‘media and computer science’, which should
unite competences in using, understanding and applying media with computer sci-
ence competences. The binding curriculum highlights embedded systems as omni-
present technology of growing importance (D-EDK, 2016, p. 3). In order to make
computer science tangible and less abstract, the curriculum explicitly recommends
the use of sensors, actuators and robots in the classroom (ibid, p. 6). Lehrplan 21
mentions many competences on abstract levels that contain implicit connections to
physical computing. Most cantons started implementing the new curriculum only in
recent years. Physical computing is therefore ideally suited for secondary education
in the Swiss context.

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.

15.3.1 Interaction Design Perspective on Physical Computing

Looking at physical computing from the perspective of interaction design, espe-


cially the approach to the development of interactive objects and installations is
interesting. The concrete implementation of physical computing projects and activi-
ties is defined primarily by the procedures and the characteristics of the resulting
products, which are described in the following sections.

15.3.1.1 Interactive Objects and Installations

Typical products of physical computing projects are programmed tangible artefacts,


for example, interactive, responsive or adaptive systems. In the following, all prod-
ucts of physical computing are referred to as interactive objects. One feature all
interactive objects have in common is that they interact with their environment (e.g.
their immediate surroundings, humans or other interactive objects). Interactive
objects are often made of materials and tools that can be found in stores that sell art
and craft supplies such as balsa wood, cardboard, foil, cutters, scissors and glue.

15.3.1.2 Focus on Ideas and Intended Interaction

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

15.3.1.3 Tinkering and Prototyping

Another process frequently observed in physical computing is tinkering: improving


and extending existing hardware and software in an experimental way, driven by
curiosity, imagination and creativity (Banzi, 2011). A tinkerer, according to Doorley,
is a person who ‘[…] experiments with materials and ideas to fully understand their
capacities, and who further iterates on their learning to find better solutions to cur-
rent problems’ (Doorley, 2012). Among makers, physical computing is seen as an
activity that aims at prototyping new, innovative products or creating pieces of art.

15.3.1.4 Project Description and Specification

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).

15.3.2 Constructionist and Creative Learning


with Physical Computing

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’

15.3.3 Physical Computing in Schools

In order to gain an overview of the different approaches to physical computing in a


school context, selected publications were examined in more detail (e.g. Rusk et al.
(2008), Sentence and Schwiderski-Grosche (2012), Wyffels et al. (2016), Katterfeld
and Schelhowe (2014), Romeike and Reichert (2011), Berland et al. (2010)). It
became apparent that regardless of the setting, in all publications, the aspect of cre-
ation was emphasized, and thus learners were introduced to the required tools,
mostly with detailed step-by-step manuals or tutorials in the introduction phases
and often connected with introductions to CS content. In all projects, learners were
provided with a context, either a challenge or a theme, for which the interactive
objects should be created. Often methods were used to support creative thinking and
learner autonomy. Learning scenarios were designed around specific computer sci-
ence content; at the same time, art and design aspects were addressed in less detail
(with the exception of offering specific topics and work materials). Projects that
were conducted in regular school lessons were often structured around smaller,
more guided activities.

15.3.4 Implications for Computer Science Teaching

If we transfer the findings above to computer science teaching in secondary schools,


the following points are particularly promising from a methodical point of view (cf.
Przybylla & Grillenberger, 2021):
• Interactive objects: the creation of tangible interactive objects with craft and arts
material makes hardware/software co-design accessible at school level.
• Creative process: by providing creative methods, students are triggered to act out
different strategies and ideas.
• Tinkering: students gain knowledge and skills in an exploratory yet guided way;
they can develop ideas and explore different tools by experimentation.
• Prototyping: taking part in the step-wise construction of the final product lets
students experience early success in class and results in artefacts that learners
can discuss and share during the process.
230 M. Grillenberger

• 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).

15.4 Tools for Constructionist Learning


with Physical Computing

In order to successfully implement physical computing in the classroom (or other


settings), appropriate tools are needed. These tools will be discussed in the follow-
ing sections. With suitable construction kits, pupils can already gain their first expe-
rience in the field of physical computing in primary school. In an article that is now
nine years old, Paul Blikstein outlined the historical development of constructionist
toolkits, robots and physical computing devices, which goes back to the 1980s when
the LEGO/Logo platform was developed (Blikstein, 2013). At that time, the tools
were mainly used for research purposes in the field of developmental psychology.
Later, artists and designers discovered the tools for their own purposes. Nowadays,
they are finding their way into classrooms more and more often. A taxonomy with
detailed explanations of different tool categories can be found in the author’s dis-
sertation thesis (Przybylla, 2018, p. 27ff). For the sake of clarity, only the currently
most common teaching tools suitable for secondary education are presented here.

15.4.1 Hardware Decision: BBC micro:bit, Arduino or


Raspberry Pi?

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

When planning physical computing projects in secondary schools, in addition to


choosing suitable hardware, a decision for a programming environment must be
made. It is advisable to get your own picture of the IDEs (integrated development
environments) available at project implementation time, as this is a rather fast-­
moving field. At the moment, there are a number of options for text- or block-based
programming for all the platforms mentioned. Experience shows that working with
block-based programming environments in secondary school eliminates syntax
problems from the outset and results in less ‘programming frustration’.

15.4.3 Art and Craft Supplies

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

15.5 A Triangle of Physical Computing

Summarizing the above sections, the defining characteristics of physical computing


for CS education can be illustrated as done in Fig. 15.4. Physical computing always
refers to different dimensions: the products that are created, the processes that are
gone through in the development of the products and the tools that are used to create
the products, often as prototypes.
Typical products of physical computing are interactive objects that make use of
sensors and actuators to interact steadily with their environment. They are created in
creativity supporting processes and, by bringing together hard- and software com-
ponents, connect the virtual and the physical world. Tools that are frequently used
for physical computing in educational settings include microcontrollers and mini
computers.

15.6 From Science to Practice

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.

15.6.1 Research Framework: Educational Reconstruction


for CS Education

In order to identify central concepts, principles and practices of physical computing,


which are appropriate for computer science education in secondary schools, the
model of educational reconstruction for computer science education (MER-CSE)
was used as described in Grillenberger et al. (2016). This model includes the thor-
ough investigation of different perspectives and can be integrated in a design-based

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)

research approach including research in real-world classrooms instead of laboratory


settings, improvement of the learning environment during the research process
based on observations and intermediate findings and having design principles both
as a starting point and goal of research (Herrington et al., 2007; Euler, 2017). First,
the different perspectives in the model were analysed separately as follows:
• Science content: Make clear which elementary concepts and practices underlie
the content in question.
• Social demands: Identify contexts that are relevant for students to cope with
requirements that society puts on them in their everyday lives.
• Students’ perspectives: Investigate students’ cognitive and affective
perspectives.
• Teachers’ perspectives: Investigate teachers’ ideas about teaching and lesson
planning concerning content, tools and pedagogy.
At a later stage and based on the results of the previous studies, initial guidelines
and teaching scenarios were developed. These were then evaluated and further
developed in several iterations (see Fig. 15.5).
For reasons of space, not all perspectives of the MER-CSE can be considered in
detail in this chapter. In the following sections, therefore, only the central results of
the project will be presented. A detailed description of the whole research project
can be found in the author’s dissertation thesis (Przybylla, 2018).

15.6.2 Science Content: Key Concepts in Hardware/Software


Co-design

In order to determine the key concepts in embedded systems and hardware/software


co-design, which can be seen as the reference disciplines for physical computing,
and to provide a structured overview of the field, the following procedure proposed
by Grillenberger and Romeike (2017) was used (cf. Przybylla & Grillenberger, 2021):
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 235

1. Investigation of the field from an educational perspective:


–– Definition of the literature corpus.
–– Determination of the category system.
–– Definition of selection criteria.
–– Coding: development of the category system, clustering of the resulting terms.
–– Evaluation with regard to completeness.
2. Structuring the subject area:
–– Selection of a model framework.
–– Definition of classification criteria.
–– Classification of the terms from phase 1.
–– Evaluation with regard to correctness and validity.
Through this multistage development and analysis of the subject area, a model was
created that clearly summarizes the key concepts of the underlying subject areas
(see Fig. 15.6).
The resulting model of key concepts of embedded systems and hardware/soft-
ware co-design serves to present the subject area of embedded systems and hard-
ware/software co-design in a compact, clear presentation, focusing on its key
concepts, and can be used as a tool to examine topics regarding their suitability for
teaching. It includes an exemplary selection of the core technologies of the field,
which are concrete applications and technologies that are clearly related (but not
necessarily exclusive) to hardware/software co-design and embedded systems.
These core technologies are subject to change over time, as in the future new tech-
nologies might emerge and existing ones may lose their significance. Typical prac-
tices in hardware/software co-design are methods and activities that are commonly
used and necessary in this domain. They describe how embedded systems are han-
dled and which skills professionals in this domain typically possess. They shift the

Fig. 15.6 Model of the key concepts of embedded systems and hardware/software co-design.
(Przybylla & Grillenberger, 2021)
236 M. Grillenberger

focus from software development only to hardware/software co-design. The identi-


fied design principles describe goals pursued by developers in hardware/software
co-design and are thus central for the development and selection of embedded sys-
tems. They can also be used to characterize existing embedded systems in more
detail, as they reflect their fundamental properties. The mechanics of embedded and
other hardware/software systems describe the technical functioning of embedded
systems and deal with the structure and operations of embedded systems and inter-
action between their components. In particular, mechanics are central to the adher-
ence to various design principles of embedded systems, as both areas of the model
are closely related.

15.6.3 Design Principles for Physical Computing Teaching

As described in Przybylla (2021), the development of the design principles listed


below is based on an iterative design process. In a total of 14 different settings, theo-
retical concepts were tested in classrooms and evaluated with students and teachers.
Promoting constructionist and creative activities, such as tinkering and prototyping,
has proven to be a key part of successful learning scenarios. Contrary to expecta-
tions, it is not necessary to focus strictly on project planning before introducing
tools for positive impact in the evaluated domains, but it helps stimulate ideas and
creativity. Less successful courses often lacked structure in project planning and
implementations. Providing scaffolds is particularly helpful for students who are
not used to project work. This results in the following design principles for physical
computing teaching:
1. Integrate tinkering activities in dedicated learning phases in which content
knowledge and skills are acquired.
2. Let learners create their own interactive objects (‘pottery making approach’).
3. Let learners develop working prototypes.
4. Provide interesting themes: open topics that trigger imagination and creativity.
5. Integrate creative methods.
6. Integrate technical aspects with art/crafting.
7. Provide scaffolds to structure the process of project work:
• Planning from user perspective.
• Planning from developer perspective (nontechnical and technical point
of view).
8. Choose suitable construction kits and programming environments for the target
group (low floors, wide walls, high ceilings).
9. Provide suitable crafting material and tools for the intended projects.
10. Prepare a joint exhibition of all interactive objects.
11. Present the results to an audience.
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 237

15.6.4 Exemplary Lesson Series

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.

15.6.4.1 My Interactive Garden

‘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

6. Creation: In groups of 2–4, the students work autonomously and, according to


their own schedules, create their interactive objects and write short stories that
explain the functionality and purpose of their inventions, how people use it and
how it may impact society (DP7). Classmates and posters are there to help; the
teacher only intervenes when necessary. At regular evaluation stages (usually at
the beginning and end of each lesson), the students reflect their progress, discuss
occurring problems and possible solutions and define the next steps. The prog-
ress is documented throughout the project (four to six 90-min blocks).
7. Exhibition and reflection: Finally, the students present their projects in an exhi-
bition and discuss their experience with their classmates and teacher. They tell
their stories, explain the functionality of their interactive objects and reflect their
progress (90 min or open-door day, school party, etc.).
The theme ‘My Interactive Garden’ encourages a variety of different projects, calls
for ideas and gives students the possibility for meaningful discourse.
Teachers may shift the focus from basic content to other aspects, for example,
networking devices, disturbance rejection, performance or safety, while pursuing
one of their main goals—to provide motivating learning scenarios. Possible options
for individual projects as part of the interactive garden could be lights that shine in
different colours depending on weather conditions, a bird feeding system, alarm
systems for house and garden, a balance bridge over the pond or magic flowers that
interact with visitors (Fig. 15.8).
15 Why and How to Teach Physical Computing: Research and Practice in Computer… 239

Fig. 15.8 Students working with ‘My Interactive Garden’

15.6.4.2 LEGO Smart City

In the ‘LEGO Smart City’ project,5 students collaboratively build an interactive


smart city in which there are many embedded systems that capture data from their
environment with sensors (e.g. weather influences or traffic volume) and control it
with actuators (e.g. retracting awnings or adjusting traffic light control). The setting
encourages many different projects within a common context and thus triggers ideas
and creativity. Using cardboard or writable tablecloth as a base, LEGO bricks for
building objects and complementary crafting materials, students can creatively
shape their city (Fig. 15.9).
For this project, WLAN-capable microcontroller boards (Arduino Uno WiFi or
Wemos D1) are recommended, as this reduces the number of tangled cables.
Snap4Arduino with a special extension for controlling the microcontrollers via
WLAN is used to program the interactive objects (see Fig. 15.10 for exemplary
program code). This learning environment also implements the design principles for
physical computing and has also been tested and revised in several iterations in the
sense of the MER-CSE (see research framework above).
The project is structured as follows (cf. Grillenberger et al., 2016):
1. Introduction and motivation: Learners are introduced to the project setting and
are given a quick overview of the tools and procedures (5 min).
2. Project planning: Learners plan and sketch the rough layout of the smart city on
a building plate, collect ideas and identify and prioritize tasks (15 min).
3. Learning: A short tutorial session is a very quick way to introduce learners to
the necessary basics. Together with the teacher, they make an LED blink and
attach a push button and a potentiometer to control it (20 min). When more time
is available, the different parts of the construction kits are investigated more
deeply using learning stations guided by worksheets (90 min) (DP1).
4. Creation and reflection: In groups of 2–3 students, the learners work on the
specified tasks. In regular intervals, they present their prototypes to the ‘mayor’
of the city (e.g. teacher), reflect their progress and define the next project steps.
They can refer to manuals and classmates when they need help. The mayor can

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.9 Impressions from the ‘LEGO Smart City’ project

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.7 Summary and Conclusion

In this chapter, an overview of physical computing as a topic for computer science


education was given, the central educational ideas behind it as well as usable tools
were presented and guidelines for the design of physical computing lessons were
derived. The implementation of concrete learning scenarios based on these guide-
lines was described.
In the past years developments in curricula internationally show that physical
computing is recognized as relevant and suitable for secondary education by author-
ities as well: While in 2012, physical computing was an unknown term to most
people and microcontrollers were a rarity in regular school lessons, today, it is inte-
grated as a topic in several CS curricula, for example, in the German-speaking can-
tons of Switzerland (D-EDK, 2016), Berlin/Brandenburg, Germany (BSBJF &
MBJSLB, 2015), England (DfE, 2013) or the Netherlands (Barendsen et al., 2016).

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

Karen Woo and Garry Falloon

16.1 Introduction

Coding or programming first captured the attention of the education community


when Seymour Papert introduced the Logo programming language to school-aged
children in the 1970s (Papert, 1980). After enjoying a short period of optimism and
popularity in the 1980s, interest in Logo gradually declined. Maddux and Johnson
(1997) lamented that the demise of Logo was largely due to its advocates ‘almost
childishly naïve and overly optimistic promises’ (p. 2). Overpromising resulted in
harsh critiques when implementation in schools did not deliver the claimed benefits.
Maddux and Johnson (1997) identified issues limiting its effectiveness and benefits,
a number of which related to ‘teacher challenges’. These included teachers not hav-
ing up-to-date equipment to support newer versions of Logo and being unaware of
its potential as a general programming language through which students could
develop general thinking skills. This resulted in its use being restricted to only
‘teaching by turtle graphics’.
Almost a decade after Maddux and Johnson reflected on the demise of Logo,
coding regained momentum in schools following Jeanette Wing’s (2006) populari-
sation of the concept of computational thinking as a universal literacy for the
twenty-first century. This coincided with the wide availability of block-based pro-
gramming languages such as Scratch (Resnick et al., 2009). In academic literature,
coding has been closely associated with computational thinking as a key component
of a general, broadly based literacy for the twenty-first century (Jacob & Warchauer,
2018). It has also been a tool for developing computing concepts (e.g. Grover et al.,
2015; Meerbaum-Salant et al. 2013) as well as being strongly promoted as a vehicle
for ‘twenty-first-century’ skills such as creative thinking and expression,

K. Woo (*) · G. Falloon


Macquarie University, Sydney, Australia
e-mail: karen.woo@mq.edu.au; garry.falloon@mq.edu.au

© The Author(s), under exclusive license to Springer Nature 245


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_16
246 K. Woo and G. Falloon

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?

16.2 Project Description and Participants

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

Scratch coding concentrating on computing concepts relevant to animations. These


focused on Scratch basics through to more complex movements using parallelism,
simulating close-ups through synchronisation, abstraction using ‘make a block’ and
reuse through Scratch ‘backpacks’. Teachers were then asked to create a 1–2-min
CAN with their partner and worked with the research team to integrate a CAN task
into their existing curriculum.
The primary school programme had three parts. The first part involved complet-
ing a conventional English unit that included learning about dynamic dialogue and
narrative writing. The second part focused on Digital Technology and comprised 11
lessons learning Scratch coding skills. These included using the basic blocks (e.g.
go to, glide to), sprites and costumes, backdrops, debugging, parallelism, synchro-
nisation, broadcast messages, creating close-ups, problem decomposition, code
reuse (‘make a block’) and backpack. The first two parts were taught together in
term one of the school year (autumn/fall), and alignment was sought with outcomes
from the English and Science and Technology syllabi. The third part was taught in
term two, when students were organised in pairs to work on their CANs. While the
first seven lessons were taught sequentially, the programme was disrupted by a
COVID-19 lockdown, meaning students had to finish their stories in two lessons
post-lockdown, four months later. This was followed by an in-class ‘showcase’
event where the students presented their narratives, and each pair was asked to
reflect on what they had learnt, what they found challenging and what they enjoyed
about the unit. In the secondary school, students chose a partner to collaborate with
on their CAN project. Four 80-min lessons were allocated to familiarising students
with Scratch through open-ended exploratory activities, with seven lessons being
devoted to planning and authoring the CANs.

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

Table 16.1 Student participants’ profiles and Scratch project links


Student pair Year Gender Scratch experience Scratch project
EL 7 MM High-high https://scratch.mit.edu/projects/533149246
JC 7 FF Low-mid https://scratch.mit.edu/projects/534932908
ND 7 MM Mid-mid https://scratch.mit.edu/projects/538493204
HA 7 FF Low-low https://scratch.mit.edu/projects/531987421
DK 5 MM Mid-low https://scratch.mit.edu/projects/546969495
AJ 6 MM Mid-very high https://scratch.mit.edu/projects/546967169
KP 6 MF Low-low https://scratch.mit.edu/projects/546980191
AK 6 MM Low-low https://scratch.mit.edu/projects/544474948

Three participating teachers were interviewed using a semi-structured schedule


after the CAN units were delivered. Interviews were conducted with the two sec-
ondary teachers (TA and TK) and one primary teacher (TG). Only one primary
teacher was interviewed as the second was not directly involved in the unit imple-
mentation due to staff restructuring. The interviews were approximately 30 min in
duration, and their purpose was to investigate the teachers’ understanding of multi-
modal semiotics (Mills & Unsworth, 2018) as well as coding, computational think-
ing and ‘twenty-first century’ skills (Nouri et al., 2019; Wing, 2006) as they related
to the CAN units.
All interviews were recorded and verbatim transcribed. The first author observed
and wrote field notes for lessons and viewed all display recordings. Specific inci-
dents of interest were identified, transcribed and coded thematically (first level) to
identify instances relevant to pedagogical practices, curriculum design, assessment
and feedback. The categories were then aligned with Finger and Houguet’s (2009)
intrinsic and extrinsic challenges’ framework. First-level coding decisions and
second-­level categorisation against Finger and Houguet’s framework were cross-­
checked by the second author, during which changes were made to improve
alignment.

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)

16.4.1 The Primary School

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

16.4.1.1.1 Practicality of Implementation

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

16.4.1.2.1 Teacher’s Ownership of the Intended Curriculum

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.

16.4.1.2.2 Teacher’s Knowledge and Approaches

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.

16.4.1.3 Impact on Student Narratives

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 The Secondary School

The secondary teachers’ extrinsic challenges included practicality of implementa-


tion, time management and student assessment. However, the most influential
intrinsic challenge is related to their professional knowledge and understanding.

16.4.2.1 Extrinsic Challenges

16.4.2.1.1 Practicality of Implementation

The mandatory state syllabus significantly restricted what could be implemented.


Although the project originally conceived the CAN units as a cross-curricular inter-
vention involving both English and Digital Technology equally, it was not possible
to align it with both curriculum areas at the same year level (stage) because of dif-
ferent assumptions about student progression. For example, the Stage 4 (Year 7)
Digital Technology syllabus requirement was for students to use a general-purpose
programming language, and that was impractical within the context of the CAN
task taught by English specialists. Additionally, the Digital Technology syllabus at
Year 7 did not include the computing concept of concurrency (Meerbaum-Salant
et al., 2013), which is an essential concept for creating animations. The mismatch
between requirements of the mandatory Digital Technology syllabus and the aims
of the CAN project meant the teachers tended to prioritise outcomes from the
English syllabus. The teachers chose to embed the development of CANs into their
existing English unit on Media and Identity, leading to the unit being tightly focused
on state English syllabus outcomes and assessment requirements:
EN4-2A: effectively uses a widening range of processes, skills, strategies and knowl-
edge for responding to and composing texts in different media and technologies
EN4-3B: uses and describes language forms, features and structures of texts appropriate
to a range of purposes, audiences and contexts
EN4-4B: makes effective language choices to creatively shape meaning with accuracy,
clarity and coherence

16.4.2.1.2 Student Assessment

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.

16.4.2.1.3 Time Management

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

16.4.2.2.1 Teachers’ Knowledge and Understanding

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.4.2.3 Impact on Student Narratives

The extrinsic challenge of meeting syllabus requirements and time constraints,


compounded by the intrinsic challenge of limited coding knowledge, impacted
upon the assessment criteria and feedback given in class. The teachers played to
their strength in English and de-emphasised the technical aspects, where code qual-
ity ‘under-the-hood’ was given virtually no priority. This resulted in students’ proj-
ects displaying generally good narrative structure but quite basic and often
inefficient coding.

16.5 Discussion

16.5.1 Teaching Coding as an Interdisciplinary Activity

An interdisciplinary approach has often been promoted as a solution to the shortage


of specialist computer science teachers and an overcrowded curriculum (e.g. von
Wangenheim et al., 2017) or suggested as a way to incorporate computational think-
ing into other learning areas (NESA, 2022a, b). However, results of our study
16 Coding Across the Curriculum: Challenges for Non-specialist Teachers 257

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.

16.5.2 The Impact of the Learning Environment on Outcomes

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

As with all studies of this design, it is acknowledged that alternative interpretations


of data are possible. However, the authors have taken a reflexive approach through
journaling to maintain self-awareness, and formal inter-author checking of data
interpretations has been undertaken (Corbin & Strauss, 2015). Moreover, conclu-
sions in this study are based on data collected in only two classrooms, and limita-
tions to the generalisability of its findings are acknowledged. Future planned
iterations of the ARC CAN project will allow data to be collected in more class-
rooms across different jurisdictions, to confirm or amend its findings.
16 Coding Across the Curriculum: Challenges for Non-specialist Teachers 259

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

A range of resources to support students coding animated narratives (CANs) can be


found at https://codingstories.com.au/resources-­hub/.
260 K. Woo and G. Falloon

References

ACARA. (2022). Australian Curriculum. https://www.australiancurriculum.edu.au/. Accessed


May 6, 2022.
Bottino, R., Chioccariello, A., & Freina, L. (2020). Computational thinking in primary school
through block-based programming. In D. Burgos (Ed.), Radical solutions and eLearning, lec-
ture notes in educational technology (pp. 147–166). Springer Nature.
Corbin, J., & Strauss, A. L. (2015). Basics of qualitative research: Techniques and procedures for
developing grounded theory (4th ed.). SAGE.
Fagerlund, J., Hakkinen, P., Vesisenaho, M., & Viiri, J. (2020). Assessing 4th grade students’ com-
putational thinking through scratch programming projects. Informatics in Education, 19(4),
611–640.
Finger, G., & Houguet, B. (2009). Insights into the intrinsic and extrinsic challenges for imple-
menting technology education: Case studies of Queensland teachers. International Journal of
Technology and Design Education, 19(3), 309–334.
Flyvbjerg, B. (2011). Case study. In N. K. Denzin & Y. S. Lincoln (Eds.), The Sage handbook of
qualitative research (Vol. 4th, pp. 301–316). Sage.
Grover, S., Pea, R., & Cooper, S. (2015). Designing for deeper learning in a blended computer
science course for middle school students. Computer Science Education: Doctoral Research in
Computing Education, 25(2), 199–237. https://doi.org/10.1080/08993408.2015.1033142
Jacob, S. R., & Warchauer, M. (2018). Computational thinking and literacy. Journal of Computer
Science Integration, 1(1).
Maddux, C., & Johnson, D. L. (1997). Logo. Computers in Schools, 14(1-2), 1–8.
Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2013). Learning computer science concepts
with scratch. Computer Science Education, 23(3), 239–264.
Mills, K. A., & Unsworth, L. (2018). iPad animations: Powerful multimodal practices for adoles-
cent literacy and emotional language. Journal of Adolescent & Adult Literacy, 61(6), 609–620.
Nouri, J., Zhang, L., Mannila, L., & Norén, E. (2019). Development of computational thinking,
digital competence and 21st century skills when learning programming in K-9. Education
Inquiry. https://doi.org/10.1080/20004508.2019.1627844
NESA. (2022a). Stage 3 ICT resources and coding activities. NSW Education Standards Authority.
https://educationstandards.nsw.edu.au/wps/portal/nesa/k-­10/learning-­areas/technologies/
coding-­across-­the-­curriculum/stage-­3. Accessed May 5, 2022.
NESA. (2022b). Stage 4 ICT resources and coding activities. NSW Education Standards Authority.
https://educationstandards.nsw.edu.au/wps/portal/nesa/k-­10/learning-­areas/technologies/
coding-­across-­the-­curriculum/stage-­4. Accessed May 5, 2022.
NESA. (2022c). Digital Technologies and ICT Resources. NSW Education Standards Authority.
https://educationstandards.nsw.edu.au/wps/portal/nesa/k-­10/learning-­areas/technologies/
coding-­across-­the-­curriculum. Accessed May 6, 2022.
Papert, S. (1980). Mindstorms: Children, computers and powerful ideas. Harvester Press.
Resnick, M. (2017). Lifelong kindergarten. Cultivating creativity through projects, passion, peers
and play. MIT Press.
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner,
A., Rosenbaum, E., Silver, J. S., Silverman, B., & Kafai, Y. (2009). Scratch: Programming for
all. Communications of the ACM, 52(11), 60–67.
Shein, E. (2019). The CS teacher shortage. Communications of the ACM, 62(10), 17–18. https://
cacm.acm.org/magazines/2019/10/239667-­the-­cs-­teacher-­shortage/fulltext
Thomas, G. (2011). How to do your case study. Sage Publications Ltd..
Tuhkala, A., Wagner, M.-L., Nielsen, N., Iversen, O. S., & Kärkkäinen, T. (2018). Technology
Comprehension: Scaling Making into a National Discipline. Proceedings of the Conference
on Creativity and Making in Education, Trondheim, Norway. https://doi-­org.simsrad.net.ocs.
mq.edu.au/10.1145/3213818.3213828
16 Coding Across the Curriculum: Challenges for Non-specialist Teachers 261

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

Jayanti Nayak , Therese Keane , Tanya Linden ,


and Andreea Molnar

17.1 Introduction

Artificial intelligence (AI) is fuelling the technical capabilities of the twenty-first


century.
AI is a general term that refers to the area of computer science focussed on pro-
gramming machines to give them capabilities of learning, reasoning, self-correcting
and communicating in human-like ways (Kok et al., 2009). AI-powered devices are
gaining popularity, from self-driving cars to customer service with virtual assis-
tants. AI-powered virtual assistants with conversational skills are used in industries
that require 24 × 7 customer service such as travel and tourism, telecommunications
and online retail. Some well-known social media companies such as Facebook,
Telegram and Instagram announced their own bot development frameworks that
allow developers to create Chatbots for a specific purpose or a topic. The developer
community is projected to reach $102 billion by 2026 (Grand View Research, 2021;
Mordor Intelligence, 2022).
With AI becoming one of the fastest growing fields in computing today and the
growing need for computing experts with AI development skills, the trend to intro-
duce AI-related concepts and to start teaching programming concepts from a young
age is inevitable. Advanced programming skills and creating sophisticated software

J. Nayak (*) · A. Molnar


Swinburne University of Technology, Melbourne, VIC, Australia
e-mail: jnayak@swin.edu.au; amolnar@swin.edu.au
T. Keane
La Trobe University, School of Education, Melbourne, VIC, Australia
e-mail: t.keane@latrobe.edu.au
T. Linden
The University of Melbourne, Melbourne, VIC, Australia
e-mail: lindent@unimelb.edu.au

© The Author(s), under exclusive license to Springer Nature 263


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_17
264 J. Nayak et al.

applications are usually taught in higher education institutions; however, students


coming with some programming background have an advantage when learning
advanced programming concepts and algorithmic techniques. Many countries have
started acting on these needs. For example, the United Kingdom (UK) was the first
country in the world to mandate teaching of programming to children in primary
and high schools (Department of Education, 2014). This action is in line with the
recommendation of the Royal Academy of Engineering in the UK stating that ‘it is
essential that a significant proportion of the 14-19 age group understand computing
concepts – programming, design, problem solving, usability, communications and
hardware’ (Selby, 2015, p. 17). The Swedish government decided that their curri-
cula needed to include a stronger emphasis on digital competence, where program-
ming is highlighted as a crucial skill (Bowden, 2019). Australia also addressed this
need through the national Australian Curriculum: Digital Technologies, to be taught
across all States and Territories in Australia from Foundation to Year 10 (ages 5–16),
which has several references to ‘programming’, ‘algorithmic thinking’, ‘artificial
intelligence’ and ‘computational thinking’ (ACARA, 2020).
Teaching introductory programming concepts and discussing the potential of
programming will create a foundation for future learning and will form the basis of
the potential of AI and how this interaction will affect their lives. However, at this
stage, teaching in-depth AI concepts at primary or even high school level is not
feasible due to the complexities involved. Chatbots, an accessible form of AI, can be
used as a context for teaching programming at schools to provide real-world con-
nections and allows students to incorporate instructions or statements into a conver-
sation. Few studies have evaluated tools and teaching strategies that address student
learning of programming and artificial intelligence. Deveci Topal et al. (2021)
undertook a study, teaching students to create a chatbot with various AI-specific
components using the MIT App Inventor platform. They concluded that using
Chatbots provides an interactive and engaging medium to teach students important
programming concepts, such as variables, conditional statements, loops and array.
In another study, Van Brummelen et al. (2021) also believe that Chatbots provide
students with opportunities to program a real-life application. This chapter provides
an overview of the advancement in AI and a connection between the internal work-
ing of rule-based Chatbots and the current programming curriculum. In this book
chapter, we provide examples and code snippets in Python, given its popularity in
machine learning and AI-related solutions in teaching high school students.
In 2018, Pepper (the world’s first social humanoid robot produced by Softbank)
became the first robot to speak to the members of the UK parliament and discuss the
future of artificial intelligence in education (Wakefield, 2018). Since then, there has
been a greater push to bring artificial intelligence to classrooms with two lines of
action being pursued as follows:
(a) Teaching AI, its potential to help with problems in lives of communities, as well
as associated ethical challenges and what knowledge is relevant to facilitate
developments in this field.
17 Teaching High School Students Artificial Intelligence by Programming Chatbots 265

(b) Developing foundation skills (programming) needed to create products and


solutions.
At an international level, several initiatives to teach AI-related topics in schools
are being pursued. The National Science Foundation in collaboration with Computer
Science Teachers Association (CSTA) and the Association for Advancement of
Artificial Intelligence (AAAI) have started the AI4K12 initiative (AI4K12, 2020).
UNESCO along with an international advisory committee is also working on AI
skills framework for K-12 schools (UNESCO, 2021). These independent initiatives
each make reference to the teaching of artificial intelligence as does the Australian
Digital Technologies curriculum which has specifically incorporated AI-related
content descriptors into its curriculum. The Australian Digital Technologies curricu-
lum states that by the end of Year 10 (the final year of the compulsory curriculum),
students will have had opportunities to analyse problems and design, implement and
evaluate a range of digital solutions, such as artificial intelligence engines and simu-
lations (ACARA, 2020). The importance of building capacity has been identified as
imperative (AI4K12, 2020) as it provides students with opportunities to learn about
AI and educators with essential knowledge that is needed to integrate AI concepts
and related activities into their teaching. This book chapter advocates that AI is
taught through a programming lens using Chatbots as a context, therefore providing
students with an authentic environment to have first-hand, practical experience
rather than covering theory that is related to AI.
With the current focus on artificial intelligence and AI-powered solutions in
schools, some businesses are investing in developing tools to bring AI-related con-
cepts to classrooms. MIT App Inventor, a popular programming environment for
teaching mobile applications development to children, has extended its capabilities
with several extensions that support image recognition and detection, sound recog-
nition, sentiment analysis, optical character recognition and speech recognition.
Three popular websites that bring machine learning to classrooms are the Teachable
Machine (https://teachablemachine.withgoogle.com) from Google, Cognimates
(http://cognimates.me) from MIT media labs and Machine Learning for Kids (www.
machinelearningforkids.co.uk). These websites have activities for children to create
neural networks from images, text or numbers and train the machine by writing
Scratch-like (block programming) programs. In another initiative, Google
announced the Do-It-Yourself speech recognition and image recognition kit to
encourage students to develop their own virtual assistant (Google, 2020). While a
vast body of knowledge exists on various areas of the application of AI in general,
the literature reveals few studies have investigated pedagogical complexities, pro-
gramming learning trajectories or curriculum design in teaching children to pro-
gram an AI-powered device. Therefore, further research needs to be undertaken into
teaching AI to school students. This chapter argues that learning to program
Chatbots can assist in introducing AI to school students.
266 J. Nayak et al.

17.2 Artificial Intelligence and Chatbots

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

17.2.1 Chatbots: Technology and Architecture

Chatbots are computer programs that can participate in human-like conversations.


When the user types a question, the program responds. The approach is similar to an
instant messaging system except that in the case of a chatbot, a machine provides a
response. On a macro-level, a chatbot architecture consists of three major compo-
nents (Fig. 17.1). The natural language understanding (NLU) layer that decodes the
user message interprets the intention (happy, sad, frustrated) and then translates the
message into a structured format which the system then can understand. The
Dialogue Management unit processes each user request and converts it into relevant
subject-specific response. The last piece in the chain is the Natural Language
Generation unit that formulates the reply to the user.
Based on the conversation scope, dialogue modelling and the response to user
input, Singh et al. (2019) broadly classified Chatbots into (a) rule-based Chatbots,
(b) smart machines or AI Chatbots and (c) general Chatbots (Fig. 17.2). The impor-
tant distinction between the rule-based chatbot and AI chatbot is that rule-based
bots can only respond to predefined set of questions while smart machine Chatbots
are able to learn and generate responses.
Rule-based Chatbots are limited by the questions they can handle. If a query falls
outside the predefined rules, the Chatbots will fail to provide the correct response.
The AI-based models, on the other hand, use sophisticated machine learning algo-
rithms to train the chatbot to recognize and respond to a variety of user input pat-
terns. Technological advances in storage and retrieval, such as sophisticated
databases, natural language processing (NLP) capabilities, machine learning (ML)
techniques, speech recognition systems and artificial intelligence mark-up language
(AIML), have enabled a machine to process natural human language more
accurately.

Fig. 17.1 General chatbot architecture


268 J. Nayak et al.

Fig. 17.2 Chatbot classification

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.

17.3 Teaching Basic Programming Concepts by Creating


a Chatbot

“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)

Programming has long been a subject of innovative professional activity


(Mykhailyshyn et al., 2018). Innovation capability refers to the ability of individuals
to think originally and critically, adapt to change, work cooperatively and find solu-
tions to problems as they occur (Hill et al., 2018). Chatbots lend themselves to cre-
ative open-ended projects and can test the boundaries of innovation. According to
Luxton-Reilly et al. (2018), children prefer to discover things for themselves, and
they appreciate when their learning is connected to real-world applications, which
is why the teaching of programming through the context of a chatbot to high school
17 Teaching High School Students Artificial Intelligence by Programming Chatbots 269

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

Writing computer programs is a complex cognitive process. The algorithmic com-


plexities and abstract concepts associated with computer programs place a heavy
cognitive load on young children (Jin et al., 2016; Koulouri et al., 2015; Piteira &
Costa, 2013; Yildiz Durak, 2020). Given the range of programming constructs and
their complexities, there has been a lot of interest in how to mitigate the complexity
associated with learning programming. Some studies have examined specific con-
structs to understand why students struggle, while others analysed the cognitive
load to determine the best hierarchical learning structure. Based on a review of
several studies on conceptual difficulties of programming constructs and the learn-
ing trajectories, Butler and Morgan (2007) grouped programming constructs into
three levels: low, mid and high. In this chapter, we have discussed the techniques to
consolidate the understanding of mid-level concepts by engaging students in creat-
ing a relatively simple solution.

17.3.2 Programming: A Pedagogical Perspective

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.

17.4.1 Conversation Flow Level 1: Friendly Greetings

Like any human-to-human conversations, a chatbot conversation should begin with


a friendly introduction, asking the users for their name and responding with a greet-
ing. The two parties normally introduce and exchange pleasantries. According to
Bisser (2021), if users like the introduction and greetings as part of the chatbot, then
they are more likely to continue the conversation. Implementing this functionality
provides opportunities for students to experiment with coding input and output and
to learn the basic syntax and semantics of the programming language. Figure 17.3
shows sample code that could be used to implement the greetings functionality.
While writing this code, students could learn what syntax errors are and why a
computer cannot execute instructions with syntax errors, experiment with the way
text appears on the screen (e.g. all on one line or broken across multiple lines) and
the importance of hardcoding spaces to ensure text readability. It should be noted
that this is also an opportune time to introduce variables, an abstract programming
concept that students struggle to comprehend (Du Boulay, 1986; Grover et al.,
2019). At this stage students can work with one variable and learn how to

Fig. 17.3 A sample code for chatbot greetings


17 Teaching High School Students Artificial Intelligence by Programming Chatbots 271

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.

17.4.2 Conversation Flow Level 2: Decision-Making

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.4.3 Conversation Flow Level 3: Repetitive Tasks

While selection constructs provide an important opportunity to demonstrate and


implement decision-making, implementing multiple interactions in the conversa-
tion could result in messy hard-to-manage code. For example, the Py-Bot applica-
tion developed by Okonkwo and Ade-Ibijola (2020) has 50 interactions in the form
of logical statements. In such cases, functions, loops, lists, arrays and the object-­
oriented paradigm offer greater flexibility and better programming practices. While
functions provide a template for request-response method, loops condense the code
and arrays or lists store the key-value pair pattern reducing the number of if-else
statements. Figure 17.5 depicts the code that utilises these programming structures
and demonstrates cleaner code writing.
The example in Fig. 17.5 depicts some constructs that are challenging even at
university level, so careful planning is required as to how these should be used with
students in high school. To scaffold the learning, students could be asked to modify
the existing code to place the chatbot in a different context. This will require the
students to analyse the code and change the responses to fit into the new context.
The next step could be to identify a real-life problem and create a similar solution
with a different context. A detailed discussion of addressing challenges of learning
programming is beyond the scope of this chapter.

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.

17.6 Conclusion and Future Research Directions

As technology advances, educators have tried to incorporate emerging technologies


in their classroom. In computing education, teaching programming concepts in
schools has been explored using a desktop learning environment, a visual block-­
based programming environment such as Scratch, game-based programming proj-
ects, mobile apps development and educational robotic kits. The next progression
should be towards AI-powered tools and solutions. The introduction of Chatbots
offers the benefit of supporting domain-specific skills to create innovative products.
It also lends itself to creative open-ended projects. There is also potential for future
jobs given that technology companies continue to produce devices that are powered
by AI. However, teaching programming to develop AI-powered devices is still in its
infancy. This chapter attempts to demystify how Chatbots work by getting students
to program their own. Further research is required to understand the effectiveness of
teaching chatbot development, evaluate student’s engagement levels and how this
learning could affect their career choices.

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

Takahisa Furuta, Yoshiaki Okugi, and Gerald Knezek

18.1 Introduction

Encouraging students to learn Science, Technology, Engineering and Mathematics


(STEM) has been a vital issue across many countries. In Japan, teaching informat-
ics, including computer programming, is mandatory in Technology Education
(Gijutsu) classes for junior high schools, where students are aged 13–15. In those
Technology Education classes, not only lectures on facts and theories but hands-on
exercises, such as Project-Based Learning (PBL), where students go through the
Plan-Do-Check-and-Action (PDCA) cycles whose goals are set by the students
themselves, are required (Ministry of Education, Culture, Sports, Science and
Technology, Japan, 2018). Algorithmic and problem-solving concepts that are often
gathered collectively under the term computational thinking are also a component
of this curriculum (Computing at School Working Group, 2012; Kanemune
et al., 2017).
There have been numerous studies that have examined the relationship between
awareness of computers and academic achievement. Positive attitudes towards com-
puters are known to play an important role in learning about computers. Since
around 1990, the Computer Attitude Questionnaire (CAQ) has been widely used to
assess students’ attitudes towards computers and learning dispositions theorized to
be closely related to computer attitudes (Knezek et al., 2000; Knezek & Christensen,
1996). International comparisons have proven the effectiveness of those measures

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

© The Author(s), under exclusive license to Springer Nature 277


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_18
278 T. Furuta et al.

(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

18.2 Implementing Computational Thinking: Teaching


Coding Through Model Train Programming

Curriculum designers from Gunma University, in consultation with junior high


teachers, developed teaching materials for robotics that were based on model trains
beginning around 2009. This was for use in introducing programming in Technology
classes in junior high school, ages 13–15. This action was in response to the deci-
sion that teaching robotics in Technology became mandatory after the revision of
the Japanese Courses of Study in 2008. For the purposes of this chapter, a robot
refers to an electric device that has a computer on it, which checks its environment
and decides its actions based on the programs. This is an embodiment of the manda-
tory topic “measurement-and-control with computers” of Technology classes in
junior high.
Teaching programming with robots has numerous benefits since robotics is an
integration of logic and physics centred on computers. Working on robots allows the
students to understand how the flow of information processing is done with comput-
ers: sensors convert physical information into changes in electricity, which are
received by the CPU, which makes decisions that are executed by actuators such as
motors and LEDs. If one wants a robot to move around in the physical world, he or
she needs to pay attention to friction and force, which makes the designer aware that
knowledge of physical laws plays a vital role in writing programs to interact with
the environment. A student also starts to learn to make accurate predictions of how
physical objects interact and adjusts his or her flow of the logic underlying the pro-
grams so that everything works together. Robots are also effective teaching materi-
als because they teach us that the important thing is our imagination, because with
imagination we can view anything for something other than itself, which is often a
basic mechanism of the society, as can be seen in the way a piece of metal works
as coin.
When we started the development of our teaching material in 2009, there were
few materials available in robotics and computer programming for junior high stu-
dents. Our primary motivation for the introduction of the model train was to align
the curriculum goals of Technology class defined by Japan’s Courses of Study,
namely, realizing the flow of information/control from the sensor to computer to
actuators. Our motivations included the following: (1) trains were popular social
facilities for students, and (2) self-driving trains were already in operation in Tokyo
Disneyland and some other areas of Japan and had attracted media attention.
Therefore, we thought self-driving trains would become more popular in the
near future.
Our robotic teaching material was built on the model train, Takara-Tomy’s
PlaRail, a popular product line of train toys among Japanese children. Below we
describe how our model train-based programming material works and what the stu-
dents learned in their programming practices.
The model train teaching material project started in 2009 with the original pro-
gramming environment built in MS Excel’s Visual Basic Application (VBA) (Furuta
280 T. Furuta et al.

& 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.

18.3 Materials and Methods

In our practice, students wrote computer programs in Chameleon (Fig. 18.1), a


modified version of MIT’s Scratch. This programming environment was specially
prepared for the curriculum by adding extra blocks for the train system hardware
(Fig. 18.2). The name and the mascot of the programming environment were
changed because modified versions of Scratch are not allowed to take the name of
Scratch and the use of the cat is prohibited.
We embedded light sensors within the railroad track to detect the location of the
train. These train sensors were connected to the computer on which the students
wrote programs that ran the train as planned at the planning stage of their projects.
Student computers were also connected to an infrared transmitter that sent com-
mands to the train. The commands to the train engine were “go forwards”, “stop”
18 Teaching Coding and Computational Thinking with Model Train Robotics: Social… 281

Fig. 18.1 Example chameleon programming block for student learning

Fig. 18.2 Model train-based robotic learning materials

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.

18.5 Research Outcomes: Predictors of Student Success

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

As we underwent teaching with the two types of programming environments, we


became aware that there are trade-offs between Visual Basic Applications (VBA,
character-based programming) and Scratch (visual block programming) (Furuta &
Hashizume, 2017). VBA takes much time for novice programmers especially when
they are not used to keyboards, which is critical in educational settings, because the
class hour is limited (one class hour is fifty (50) minutes in a Japanese junior high
school). So most, or many, of the students did not have time trying their ideas during
the class hours. However, they became cautious when they wrote programs. So, they
planned ahead and consulted the textbooks before and during the programming. The
junior high teacher who did the model train teaching commented that VBA could be
educationally better than Scratch because VBA could get students’ awareness
towards copyright protection by experiencing how hard it was to write computer
programs.
By contrast, the students who learned in Scratch looked like they much more
enjoyed computer programming. It seemed to us that the students in Scratch were
not aware that they were writing computer programs, but they were making the train
(or robot) do what the students wanted it to do. The students, especially girls,
showed off to each other their Scratch programs that made sprite characters “speak”
various messages on the screen while running the train, which was not in the origi-
nal lesson plans. In fact, they were not running a train anymore. The students said
the program happened to be like that but enjoyed writing programs. We thought it
was great that they discovered (or created) fun parts in the class by themselves,
which went well beyond the goal of the class. This was the primary motivation for
us to consider the social factors in the programming classes (Furuta et al., 2018) as
measured by the Computer Attitude Questionnaire. One study is described in the
following sections.
For one study in 2016, 200 third year junior high students from two junior high
schools completed a 62-item Likert-style questionnaire that included portions of the
previously validated Computer Attitude Questionnaire (CAQ) (Knezek &
Christensen, 1996) and non-cognitive and extrinsic motivational self-evaluation
items after the completion of the model train-based robotic lessons (Furuta et al.,
2017). Students rated items from 5 (strongly agree) to 1 (strongly disagree). We
performed an exploratory factor analysis (principal components, varimax rotation)
and retained items whose factor loading exceeded |0.40| to be included in a factor,
while deleting items whose factor loading for other factors exceeded |0.25|. Then we
conducted multiple regression analyses with these factors against term-end test
scores to see which factors were reliable predictors of programming skills. The fac-
tor “Likes Computers” (Cronbach’s alpha: 0.93) included such items as “I enjoy
studying informatics and computers” and “I enjoy working on a computer”. This
was the strongest predictor of term-end test scores as the standardized regression
coefficient (beta) of this factor was 0.25, followed by “Study Habits” (Cronbach’s
alpha was 0.83), beta coefficient of 0.24. This result suggests that diligence is as
powerful as intrinsic motivation in driving students to learn programming, regard-
less of gender.
284 T. Furuta et al.

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

As for gender differences, “Praise Seeking (Heroics)” was a significant predictor


of test score for the boys: male students who seek praise are also high achievers in
learning programming. As this factor includes fear of receiving negative evaluation
from peers and parents, and since these emotional aspects come from social com-
parisons with peers and evaluations made by parents and teachers, avoiding shame
may be a strong driving force for learning programming. Also, girls may be praise
seekers, too; however, the detail of praise they are hoping to receive may be some-
what different from that of boys. For example, girls may be wishing to get praise
from collaboration, rather than end results.
While there were some gender differences, we noted gender commonalities that
affect students’ achievement in robotics. Not only was perseverance an important
factor in achieving higher achievement, but also not being picky in subjects was an
important trait for being a high achiever in robotics. Students who study all subjects
equally, and are not just focusing on the subjects they like, seem to be high achievers
in programming. Although we want students to be independent, as we value inde-
pendence as an important human value, we try to get them intrinsically motivated to
study programming. The reason why it is hard to get students engaged in coding or,
say, STEM might be because teachers are hard pressed to solve this apparent
contradiction.

18.7 Role of the Motivational Factors


in Computational Practices

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.

Facilitating Diagram Describing Action Research Process

,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.8 Future Prospects for Action Research

Collaboration skills are an indispensable part of twenty-first-century skills, and


those skills are expected to grow through working together in class. Since learning
to code naturally gets students discussing and exchanging ideas, this subject is suit-
able for building communities of practice in the class. However, as our research
suggests that students seek praise from peers, if teachers learn more about how to
show younger generations ways to inspire peers while working together, this pro-
cess could also work to promote greater student interests in STEM and achievement
of higher levels of learning.

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

Bybee, R. W. (2010). What is STEM education? Science, 329, 996. https://doi.org/10.1126/


science.1194998
Choi, N., & Chang, M. (2011). Interplay among school climate, gender, attitude toward math-
ematics, and mathematics performance of middle school students. Middle Grades Research
Journal, 6, 14.
Collis, B., Knezek, G., Lai, K., Miyashita, K., Pelgrum, W., Plomp, T., & Sakamoto, T. (1996).
Children and computers in school. Lawrence Erlbaum.
Computing at School Working Group. (2012). Computer science: A curriculum for schools. www.
computingatschoo.org.uk
Dagiene, V., & Stupuriene, G. (2016). Informatics concepts and computational thinking in K-12
education: A Lithuanian perspective. Journal of Information Processing, 24(4), 732–739.
288 T. Furuta et al.

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

Miroslava Černochová , Hasan Selcuk , and Martin Beneš

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

M. Černochová (*) · M. Beneš


Faculty of Education, Charles University, Prague, Czech Republic
e-mail: miroslava.cernochova@pedf.cuni.cz
H. Selcuk
Faculty of Education, Psychology and Art, University of Latvia, Riga, Latvia

© The Author(s), under exclusive license to Springer Nature 289


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_19
290 M. Černochová et al.

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

19.2.1 Python in Lower Secondary Schools


in the Czech Republic

In the Czech Republic, Python is introduced by some informatics teachers in lower


secondary schools.1 These are usually young teachers who have graduated in com-
puter studies or worked for some time as computer engineers for computer compa-
nies. At these schools, parents usually closely monitor what their children learn in
computer science as a new subject integrated into the curriculum. The schools
become significant catalysts for computer education in Czech schools.
Regardless of introducing a new curriculum, some Czech schools have dedicated
great attention to informatics education for a long time. For example, at the school
1. ZŠ v Novém Městě na Moravě,2 students who achieve excellent learning out-
comes at the end of the fifth grade and who are interested in computers can continue
to study from the sixth to ninth grade at lower secondary school in specialised
classes with a focus on computer technology. Over four years, students learn, for
example, the control of mobile devices of various platforms (Apple, Android,
Windows), the basics of programming and web design (PHP, HTML, JavaScript)
and, additionally, the basics of programming in Scratch and Python.
In 2021, the students of ZŠ Město Albrechtice school3 joined the ASTRO
PI-Mission4 international space project in which they first had to study the control
of a Raspberry Pi computer and learn how to program in Python and only then write
a program that greets astronauts, plays pictures and measures humidity in a space
station module.
Some schools, for example, ZŠ prof. Otokara Chlupa,5 organise after-school
activities for their students to introduce Python programming. There are also com-
mercial online courses in the Czech Republic, in which students aged 12+ can learn
to use Python in their free time to program their own game (e.g. Vývoj her v Pythonu

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

19.2.2 Review of Existing Studies on Implementing Python


in Lower Secondary Schools

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

Table 19.1 Sample of participants


Class Students Girls % of girls
A 18 8 44.4%
B 22 13 59.1%
C 20 8 40.0%
Total 60 29 48.3%

Table 19.2 Learning activities in lessons


Activity #1 (two
lessons) Activity #2 (five lessons) Activity #3 (four lessons)
Playing with a First steps with Python Programming a game with RPG
white dot Maker
L1: Compute It/ L1: Conversing with computer: First L1: Game scenario, gathering
Little Dot steps with Python resources (pictures, sounds, etc.)
L2: Little Dot L2: Conversing with computer: L2: Draft – creating environment,
Adventure Manipulating strings maps and playable characters
L3: Counting on a computer using L3: Programming events and main
mathematical formulas in Python story
L4: Loops (designing a simple L4: Testing and bug hunting
function that takes numeric inputs)
L5: Show what you have learned
Individual work Group work of 3–4 students Group work of 3–4 students
of students

19.3.1 Teaching Design for Programming in Python

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

Table 19.3 Description of lessons concerning programming in Python


L1: Conversing with computera: First steps with Python
 Content: Introduction to IDEb (programming platform). Python as a calculator, console
interaction. Assigning variable values. Getting familiar with print() function. Simple adding
value to a variable and command (fce) print().
 Learning activity: print (‘Hello world!’)
 Example: “adding value to a variable”
 Outcomes collected in Codeboard.io: Adding value to a variable
L2: Conversing with computer: Manipulating strings
 Content: Data printing to a console, joining strings, obtaining data via input() function.
 Learning activity: jmeno = “Anička” print(jmeno)
 Example: “joining strings, manipulating strings”
 Outcomes collected in Codeboard.io: Joining strings, manipulating strings
L3: Counting on a computer using mathematical formulas in Python
 Content: Arithmetic operations in Python – addition, subtraction, multiplication and division
 Learning activity: To calculate the area and perimeter of a rectangle/triangle using its base
and height
 Example: Obsah_obdelnika = strana_a * strana_b
 Outcomes collected in Codeboard.io: Rectangle area and perimeter
L4: Loops (designing a simple function that takes numeric inputs)
 Content: Flow control (Conditional statements if, elif and else), Functions and Loops.
 Learning activity: def addition(x, y)
 z = x + y
 return z
 Outcomes collected in Codeboard.io: Triangle area and perimeter
L5: Show what you have learned
 Content: A final questionnaire (solved by 1–3 member groups using their own notes and
having access to the IDE)
 Learning activity: Paper-based questionnaire with ten questions
 Outcomes collected in Codeboard.io: Solution of Q1–Q10 (tasks were printed on a paper)
a
https://www.py4e.com/html3/
b
Integrated development environment

Activity #3 Programming a Game with RPG Maker13


The students worked with RPG Maker with the aim to create a simple computer
game. They started exploring the game (game.benes.dev) using arrows, a mouse and
a space bar. While playing the game, they could think about what their game might
look like and design it. Developing their own game in the RPG Maker required
using several tools and items displayed in the abstract form of code and contributed
to enhancing student thinking to be able to read and edit code. During the game
development, students applied the skills of reading code and formal notations, with
which they became acquainted through Activities #1 and #2.

RPG Maker is suitable mainly for designing games based on storytelling, not so much on games
13

which need images and schemes.


298 M. Černochová et al.

19.3.2 Key Findings from the Research Study

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).

19.4 Evidence for Assessing Mastery of Achievement

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сϲϬͿ
ϰϱ͕Ϭй
ϰϬ͕Ϭй
ϯϱ͕Ϭй
ϯϬ͕Ϭй
Ϯϱ͕Ϭй
ϮϬ͕Ϭй
ϭϱ͕Ϭй
ϭϬ͕Ϭй
ϱ͕Ϭй
Ϭ͕Ϭй
ŵĂůĞ ĨĞŵĂůĞ ŵĂůĞ ĨĞŵĂůĞ ŵĂůĞ ĨĞŵĂůĞ ŵĂůĞ ĨĞŵĂůĞ
>ϭ >Ϯ >ϯ >ϰ

ĐŽƌƌĞĐƚůLJ ŝŶĐŽƌƌĞĐƚůLJ ǁŝƚŚŽƵƚĂŶĂŶƐǁĞƌ

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)

Authors of The Meta-Analysis on Effects of Education of Python for Elementary


School Students selected and analysed five studies about implementing Python pro-
gramming in K-12 education (Yoon & Yang, 2020).
An article by Jeong and Chun (2021) focuses on the development of the logical
thinking of K-12 students using Python. The authors examine the usage of practical
textbooks, block programming and Python programming. Students’ logical think-
ing scores rose to 40% on average.

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

 ppendix 19.1: Activities in Python in Lessons L1–L5


A
(Activity #2)

L1 What’s going on at the console? L1 solution:


# edit the greeting variable to include the word hello 3 + 5 = 8 addition
and then print the variable to the console 2*2 = 4 multiplication
4 / 2 = 2 division
10%6 = 4 modulo (remainder
after division)
L1 solution:
greeting = “hello”
print(greeting) # hello

L2 # one line below, create a variable name that will L2 solution:


contain any name my_name = “Peter”
# use the variable called my_name output = my_name + “rides a
# one line below, fill the output variable with any name bike.”
and the phrase rides a bike. Using the variable print(output) # Peter rides a bike
my_name
# example of ascent: Peter rides a bike.
# use the variable −> output
L3 # create a program that calculates the perimeter and L3 solution
content of the rectangle 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)
L4 # create a program that computes the contents of an L4 solution
equilateral triangle a = input(“Enter length of a: ”)
# the user can enter any page size content = (a * a) / 2
L5 Test: Show what you have learned see Appendix 19.2
302 M. Černochová et al.

 ppendix 19.2: Questionnaire “Show What You Have Learned”


A
(Activity #2)

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

Appendix 19.3: A Final Questionnaire (at the End of Activity #3)

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

Christiane Gresse von Wangenheim , Nathalia da Cruz Alves ,


Miriam Nathalie Fortuna Ferreira , and Jean C. R. Hauck

20.1 Introduction

There is a growing emphasis on the importance of computational thinking as a


twenty-first-century skill (Grover & Pea, 2013; Wing, 2006). Therefore, teaching
computational thinking has become a worldwide effort to prepare young people for
the current and future demands of knowledge societies (Grover & Pea, 2013). Many
of these initiatives focus on teaching algorithms and programming, which is not
only a fundamental part of computing but also a key tool for supporting the cogni-
tive tasks involved in computational thinking (Grover & Pea, 2013). Often, in a
constructivist context, a problem-based learning strategy is adopted which poses
programming activities as open-ended ill-structured problems (Brennan & Resnick,
2012). These activities aim to stimulate the development of higher-order thinking
competencies without prescribing a correct or best solution in advance and giving
students more freedom to choose abstract concepts for creating a solution. Examples
are activities in which students create their own mobile applications to solve real-­
world problems (Patton et al., 2019). In middle and high school, this is typically
introduced by using visual block-based programming languages, such as App
Inventor (MIT, 2022), enabling, for example, the development of mobile applications.
Yet, teaching computing in middle and high school does not always cover other
competencies, such as user interface design or software engineering. These skills

C. Gresse von Wangenheim (*) · N. da Cruz Alves · J. C. R. Hauck


Department of Informatics and Statistics, Graduate Program in Computer Science,
Federal University of Santa Catarina, Florianópolis, SC, Brazil
e-mail: c.wangenheim@ufsc.br; nathalia.alves@posgrad.ufsc.br; jean.hauck@ufsc.br
M. N. Fortuna Ferreira
National Institute for Research and Technology on Digital Convergence,
Florianópolis, SC, Brazil

© The Author(s), under exclusive license to Springer Nature 305


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_20
306 C. Gresse von Wangenheim et al.

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 objective of this research is the development, application and evaluation of a


course for introducing computing in middle and high school through the develop-
ment of mobile apps. To achieve this goal, a series of case studies was conducted to
understand the phenomena observed during the application of the course in different
contexts, in order to analyse 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

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.

20.3 Teaching Computing Through the Development


of Mobile Applications

In order to effectively teach computing by providing an engaging experience, we


adopted a constructionist, problem-based learning strategy focusing on active learn-
ing, with hands-on activities to enable students in small groups to practice and
308 C. Gresse von Wangenheim et al.

explore concepts by progressing from learning basic concepts to developing their


own app in middle and high school. In this course, students learn to develop a run-
ning mobile app with App Inventor (MIT, 2022), a drag-and-drop visual program-
ming tool for designing and building fully functional mobile apps for Android
(Fig. 20.1).
The course is aligned with the Use-Modify-Create cycle (Fig. 20.2). At the “use”
stage, students learn basic concepts related to algorithms and programming, such as
conditionals, events and operations by developing a predefined application follow-
ing a step-by-step tutorial. Then, the students are guided to change/add some of the
functionalities of the app (e.g. changing from displaying places for the collection of
recycling trash to ones for the collection of used kitchen oil) and/or to modify the
visual design of the user interface. On the “create” stage, adopting a constructionist-
based problem-based learning strategy, students are challenged to develop their
own mobile application to solve a problem in their community by adopting

Fig. 20.1 App Inventor development platform

Fig. 20.2 Examples of apps and artefacts developed by the students


20 Creating Mobile Applications with App Inventor Adopting Computational Action 309

computational thinking. Following an agile, design thinking-based software pro-


cess, the students learn step by step how to create their own mobile application.
First, students brainstorm about problems in their community and identify potential
app solutions. They analyse the context in terms of users, tasks, mobile devices and
the usage environment. Functional requirements are described in the form of user
stories, and usability requirements are specified for each of the identified tasks
using predefined templates. The students draw sketches and a navigation map of the
screen interfaces. Then, they start to program and test a wireframe2 prototype with
App Inventor. Learning about visual design, the students define and program the
visual elements of the interfaces, including the colour pallet, icons, logo, typogra-
phy and images. Then, the students perform a simple system test as well as a usabil-
ity test, validating if the requirements are achieved. They also learn how to generate
an APK3 version of their app to enable sharing. The results are presented to diverse
audiences at their school as well as local IT companies.
The course is supported by instructional material including slides, videos, exer-
cises and educational games as well as templates for all the artefacts to be created
by the students (Ferreira et al., 2019) (Fig. 20.3).
The learning outcome is automatically assessed with the CodeMaster tool
(Gresse von Wangenheim et al., 2018) (CodeMaster, n.d.) measuring the achieve-
ment of learning objectives related to algorithms and programming (Alves et al.,
2020) and user interface design (Solecki et al., 2020).

Fig. 20.3 Examples of instructional material

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.

20.4 Application of the Course

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

20.5 Evaluation of the Course

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.

20.5.1 Does the Course Increase Students’ Competencies?

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.2 Overview of the assessment of algorithms and programming concepts


Criteria on a scale [0, 3]
Procedural Data Synchro- Total
Project Screens Naming Events abstraction Loops Conditional Lists persistence Sensors Drawing Operators Variables Strings nisation Maps [0, 45]
AcheiO- 3.0 2.0 3.0 0.0 3.0 3.0 2.0 3.0 1.0 0.0 0.0 2.0 3.0 3.0 0.0 28.0
seuEmprego
AppPhone 3.0 2.0 3.0 0.0 0.0 3.0 1.0 0.0 0.0 0.0 3.0 2.0 1.5 0.0 0.0 18.5
EcoPet 3.0 2.0 3.0 1.0 3.0 2.0 2.0 3.0 0.0 0.0 3.0 2.0 3.0 0.0 3.0 30.0
FloripaPraias 3.0 2.0 3.0 0.0 0.0 3.0 2.0 3.0 0.0 0.0 2.0 2.0 3.0 0.0 0.0 23.0
HealthyPlants 3.0 1.0 3.0 0.0 0.0 1.0 1.0 3.0 1.0 0.0 2.0 2.0 3.0 3.0 0.0 23.0
InfoCarvalhal 3.0 2.0 3.0 0.0 0.0 1.0 2.0 2.0 0.0 0.0 2.0 2.0 3.0 0.0 0.0 20.0
Mathfull 3.0 2.0 3.0 2.0 0.0 2.0 2.0 0.0 0.0 0.0 3.0 2.0 3.0 0.0 0.0 22.0
Veganismo 3.0 2.0 3.0 0.0 0.0 3.0 2.0 0.0 0.0 0.0 3.0 2.0 1.5 0.0 0.0 19.5
Mean 3.0 1.9 3.0 0.4 0.8 2.3 1.8 1.8 0.3 0.0 2.3 2.0 2.6 0.8 0.4 23.0
C. Gresse von Wangenheim et al.
20 Creating Mobile Applications with App Inventor Adopting Computational Action 313

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.

20.5.2 Does the Pedagogical Strategy of the Course Promote


an Enjoyable Experience That Facilitates Learning?

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.

20.7 Facilitating Diagram and Links

MIT App Inventor (appinventor.mit.edu): A block-based programming environ-


ment for the development of mobile apps available online.
CodeMaster (http://apps.computacaonaescola.ufsc.br/codemaster): An online tool
for the automatic assessment of App Inventor projects concerning algorithm and
programming and user interface design concepts.
Computação na Escola (https://computacaonaescola.ufsc.br/en/): The Computing
at School Initiative of the Informatics and Statistics Department at the Federal
University of Santa Catarina is dedicated to increasing computing education in
elementary, middle and high schools.

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

Amelie Labusch and Birgit Eickelmann

21.1 Introduction

In the age of increasing technological progress, the demands on educational sys-


tems and institutions and the factual learning and teaching in educational institu-
tions are in a state of tension. For students to be able to actively participate in society
in the digital age, it is necessary to adapt to the changing needs and demands of the
social and learning community and to further develop and investigate new compe-
tences throughout their school years. In this context, computational thinking (CT)
captures the key competences of the twenty-first century and is becoming more and
more important in everyday life (Labusch & Eickelmann, 2020, 2021; Voogt et al.,
2015). It involves a set of thought processes used to model problems and methods
for their solution that allows algorithmic processing (Aho, 2012).
Since computational thinking is expected to be learnt and practiced by everyone
(Wing, 2006), it should be assumed that every student can acquire sufficient compe-
tences in computational thinking in their school career. By 2016, computational
thinking was already anchored in the curricula of 11 European educational systems
in various ways (Bocconi et al., 2016), and other education systems have begun to
follow suit since then. However, there are also many countries in which computa-
tional thinking is not taught at all. Towards this end, research is required on how
computational thinking is learned by K-12 students around the world.
In the following, the learning and teaching of computational thinking in the
eighth grade in Germany is examined in depth. For this purpose, the state of theory
and research for Germany and beyond in terms of school-based learning and teach-
ing of computational thinking will be presented initially. This will include reported
results from the 2018 International Computer and Information Literacy Study

A. Labusch (*) · B. Eickelmann


Institute for Educational Science, Paderborn University, Paderborn, Germany
e-mail: amelie.labusch@upb.de; birgit.eickelmann@upb.de

© The Author(s), under exclusive license to Springer Nature 319


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_21
320 A. Labusch and B. Eickelmann

(ICILS 2018). For Germany (a low-performing country in computational thinking)


and four other countries (two high-performing countries in computational thinking,
the Republic of Korea and Denmark; one average-performing country, the USA;
and one low-performing country, Luxembourg), results are presented based on a
linear multiple regression analysis of the relationship between competences in com-
putational thinking and school learning of computational thinking-related tasks.
Since a close link between individual student characteristics and educational
achievement in computational thinking has been shown (cf. Eickelmann et al.,
2019a, b; Labusch & Eickelmann, 2020, 2021), students’ social background, migra-
tion background and gender are considered in the analysis.
Based on this, the competences of eighth graders in Germany are examined in
more detail, as it has been found in recent years that problem-solving skills are
highly relevant in the context of computational thinking competences and closely
related to them on a theoretical level (Labusch et al., 2019; Eickelmann et al., 2019a,
b). Further results on the relationship between students’ competences in computa-
tional thinking and aspects of problem-solving are reported, including correlations
with students’ gender. The main reported results of this contribution are then sum-
marized in three key messages.

21.2 Theory and Research on Teaching and Learning


Computational Thinking in Germany
in International Comparison

When it comes to the topic of students’ learning of computational thinking at school,


most will readily agree that there might be variances between students of different
educational systems due to different conditions of competence acquisition and
anchorage in curricula. Eickelmann (2019) identified three forms of curricular
implementation of computational thinking: (1) computational thinking as a cross-­
curricular competence, (2) computational thinking as part of computer science and
(3) computational thinking as an individual subject or learning area.
Germany has the peculiarity that it is a federal system and education is admin-
istered at the level of the federal states (‘Länder’). There are federal states where
computer science is a compulsory subject in which (partial) competences of com-
putational thinking are taught, but this is not the case across the board. Thus, not
every student is given the opportunity to acquire the corresponding competences.
In recent years, however, efforts are being advanced to teach computational think-
ing as a digital literacy requirement across disciplines. To this end, The Standing
Conference of the Ministers of Education and Cultural Affairs of the Länder in the
Federal Republic of Germany (2016) has developed the national strategy
‘Education in the Digital World’, which all the Länder have agreed on. The field
‘problem-solving and action’ has an affinity with computational thinking
(Eickelmann, 2019).
21 Learning Computational Thinking in Secondary School (Year 8) in Germany… 321

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

All these considerations result in the following two research questions:


1. To what extent can differences in students’ competences in computational think-
ing be explained by school learning of computational thinking-related skills,
considering their social and migration background and their gender in five
countries?
2. To what extent can differences in German students’ competences in computa-
tional thinking be explained by aspects of problem-solving and their gender?

21.3 School Learning of Computational Thinking


in Germany in International Comparison

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

b (SE) b (SE) b (SE) b (SE) b (SE)


cultural capitalA 32.0* (6.2) 32.6* (3.7) 57.7* (3.4) 63.3* (6.0) 59.1* (3.2)
family languageB -C -C 41.8* (8.3) 19.0* (4.5) 45.4* (7.4) 36.6* (3.6)

students’ learning of computational


–0.7* (0.2) –0.4 (0.3) 0.3 (0.2) –0.7* (0.3) –0.9* (0.2)
thinking tasks at schoolD

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

Investigating differences in students’ computational thinking competences by


social and migration background, students’ learning of computational thinking-­
related tasks at school, and students’ gender and score differences in computational
thinking in favour of students with high cultural capital are evident in all five coun-
tries, varying between 32.0 points (Republic of Korea) and 63.3 points (Germany).
It is also implied that in Denmark, the USA, Germany and Luxembourg, students
who have been tested in the language which they mainly speak at home (e.g. Danish,
English, or German) achieve significantly higher scores in computational thinking
than those who speak a different main language at home. Since 99.3% of students
in the Republic of Korea reported speaking primarily Korean at home and only
0.7% another language (Eickelmann et al., 2019a, b), no scores after migration
background are reported for the Republic of Korea in ICILS 2018 (Fraillon et al.,
2020). The differences vary between 19.0 points (USA) and 45.4 points (Germany).
In terms of the study’s index of students’ learning of computational thinking
tasks at school (Fraillon et al., 2020), there are significant negative relationships to
students’ competences in the Republic of Korea, Germany (both score difference of
0.7 points) and Luxembourg (score difference: 0.9 points).
What also emerges is that there remains no significant difference in performance
between girls and boys in the Republic of Korea and Denmark; however, in the USA
(12.8 points), Germany (11.6 points) and Luxembourg (12.9 points), boys perform
better in computational thinking than girls. The overall model shows a variance
between 3% (Republic of Korea) and 15% (Germany). The statistical significance
of all regression models was also validated with F tests.
In summary, students’ competences in computational thinking are strongly
related to their social and migration background. Surprisingly, in all countries, there
is either a negative or no correlation between the students’ competences in compu-
tational thinking and the learning of corresponding tasks at school. Although there
are also performance differences between girls and boys in favour of boys, these do
not exist in the Republic of Korea and Denmark. In all countries, the variance in
computational thinking is mainly explained by the students’ individual characteris-
tics but also to some extent the learning tasks at their school.
The examination of learning computational thinking-related tasks at school in
international comparison shows that no positive significant correlations to students’
competences in computational thinking occur. However, it should be noted that the
study examined the extent to which the individual skills were learned at school, not
how they were used. At this point, in-depth analyses might be useful to examine in
what form these skills are learned at school. Overall, however, there is a tendency
towards making teaching more productive to help students achieve higher levels of
computational thinking competences.
21 Learning Computational Thinking in Secondary School (Year 8) in Germany... 325

21.4 Computational Thinking and Problem-Solving


in Germany

For learning and teaching computational thinking at schools in Germany, a special


focus is put on aspects of problem-solving. Since problem-solving is closely inter-
woven with computational thinking (cf. Eickelmann et al., 2019a, b; Labusch et al.,
2019; Román-González et al., 2017) but not explicitly addressed in the international
questionnaires, the first author edited and added a problem-solving scale with seven
items from the Problem-Solving Inventory (Heppner & Petersen, 1982) to the ICILS
2018 German national student questionnaire (Labusch et al., 2019; Vennemann
et al., 2021). The students were asked to decide, when thinking about problem-­
solving, how much they agreed or disagreed with corresponding statements. For the
following analyses, four items were used, for which significant correlations with
computational thinking competences have been found in a preliminary investiga-
tion. In addition, the German national study used a paper-based test for students’
reasoning in the figural domain as a subtest from Heller and Perleth’s (2000)
Cognitive Ability Test.
Addressing research question 2, Table 21.2 shows three regression models,
explaining differences in German (N = 3655) students’ computational thinking
competences by problem-solving, reasoning in the figural domain as part of cogni-
tive abilities and gender.
There initially appears to be a significant difference of 37.4 points in computa-
tional thinking competences in favour of those students agreeing with the statement
about their ability to recognize, abstract and describe a problem. In the context of
computational thinking, the relevance reveals not to think of an infinite number of
solutions when encountering a problem until no further solutions occur (difference:
15.5 points) but rather to approach problem-solving in a different way. The third
statement deals with self-confidence in problem-solving and perseverance (differ-
ence: 24.3 points), that is, the ability not to give up when a solution is not immedi-
ately found. Similarly, an emotional stability described in the fourth statement is
significantly related to computational thinking competences (difference: 17.7
points). In model I, a variance of 4% can be explained.
Introducing students’ reasoning in the figural domain as part of cognitive abili-
ties in model II, there is a huge increase in variance explanation from 4% to 33%.
Thus, about one-third of the variance in students’ computational thinking compe-
tences can be explained by parts of problem-solving and reasoning in the fig-
ural domain.
In the third and overall model, the variance explanation increases to 34% when
the students’ gender is introduced. There are correlations between the ability to
recognize, abstract and describe a problem (difference: 18.6 points) in favour of
students who agree to this and in favour of those who disagree to becoming uneasy
about their ability to handle a situation when their first solving efforts fail (differ-
ence: 14.2 points). Students with high reasoning abilities in the figural domain also
perform significantly higher in computational thinking (difference: 6.3 points).
Table 21.2 Regression models explaining differences in German students’ computational thinking by problem-solving, reasoning in figural domain and gender
326

Model I Model II Model III


b (SE) b (SE) b (SE)

When I become aware of a problem, one of the first things I do is


37.4* (11.2) 18.0 (9.6) 18.6* (9.4)
to try to find out exactly what the problem is.A

When I have a problem, I think up as many possible ways to


–15.5* (4.6) –5.9 (4.5) –6.9 (4.6)
handle it as I can until I can’t come up with any more ideas.A

When my first efforts to solve a problem fail,


–24.3* (5.3) –15.4* (4.7) –14.2* (4.6)
I become uneasy about my ability to handle the situation.A

Sometimes I get so charged up emotionally that I am unable to


–17.7* (4.9) –6.2 (4.2) –4.1 (4.1)
consider many ways of dealing with my problems.A

reasoning in figural domain


– – 6.2* (0.4) 6.3* (0.4)
as part of cognitive abilities

genderB – – – – –22.4* (3.4)


constant 489.1 203.6 204.8
R² .04 .33 .34
b - regression weight (unstandardized).
dependent variable: students’ computational thinking.
* significant coefficient (p < .05).
A
0 - disagreement; 1 - agreement.
B
0 - male; 1 - female.
IEA: International Computer and Information Literacy Study 2018 © ICILS 2018
A. Labusch and B. Eickelmann
21 Learning Computational Thinking in Secondary School (Year 8) in Germany... 327

Moreover, examining skills in problem-solving and reasoning in the figural domain,


boys score on average higher in computational thinking than girls (difference: 22.4
points). Since high coefficients of determination may raise the suspicion of multi-
collinearity, the variance inflation factors (VIF), which are all below 1.5 (e.g. rea-
soning in figural domain, VIF = 1.05, gender, VIF = 1.03), are used to confirm that
the independent variables are not correlated.
The overall review reveals that in Germany, two problem-solving skills are of
special importance in the context of computational thinking: the ability to recog-
nize, abstract and describe a problem as well as self-confidence in problem-solving
and perseverance. Investing in particularly these two aspects would be conducive to
the acquisition and improvement of computational thinking competences. This
could involve practicing with students in different contexts to identify and describe
problems and/or helping them to work on their self-confidence and perseverance.
Another essential skill is the processing of figural analogies to improve reasoning
and cognitive skills. In addition, it is important to foster girls’ skill acquisition and
get them more enthusiastic about computational thinking. Boys should be continued
to be encouraged to make the best possible use of their potential too.
With respect to the assessment of computational thinking competences, it can be
stated that, at least in Germany, aspects of problem-solving have to be addressed.
However, it can be assumed that this is also valid for other educational systems.

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:

Learning and teaching computational thinking is still upgradable in many educa-


tional systems: There are many good examples of how computational thinking
can be learned and taught. Nevertheless, the analyses show, overall, in the coun-
328 A. Labusch and B. Eickelmann

tries considered, either a negative or no correlation between the students’ compe-


tences in computational thinking and the school learning of respective tasks.
Accordingly, there is still a need for further development to make teaching more
beneficial for the acquisition of competences.
Individual characteristics – especially social and migration background – have a
significant impact on computational thinking acquisition: As a result, a close link
between the students’ social and migration background and their computational
thinking competences was identified. In the coming years, efforts should be put
into (developing strategies) ensuring more equal opportunities so that all stu-
dents acquire these important competences equally.
In the context of computational thinking, it is beneficial to include aspects of
problem-­solving: The results presented strongly highlight the importance of
investigating computational thinking in the context of aspects of problem-­
solving. The resulting knowledge base has the potential to enhance the develop-
ment of computational thinking.
Overall, although the magic formula of successful learning and teaching of com-
putational thinking in Germany and beyond has not yet been found, we are currently
closer to solving this problem than in the past. Through continuous research and
practice in this area, processes can be made transparent, and the acquisition of com-
putational thinking competences in school settings can be advanced.

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

Diane van der Linde-Koomen , Herma Jonker , and Joke Voogt

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:

D. van der Linde-Koomen · H. Jonker


Windesheim University of Applied Sciences, Zwolle, The Netherlands
e-mail: lc.vander.linde@windesheim.nl; h.jonker@windesheim.nl
J. Voogt (*)
University of Amsterdam, Amsterdam, The Netherlands
e-mail: j.m.voogt@uva.nl

© The Author(s), under exclusive license to Springer Nature 331


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_22
332 D. van der Linde-Koomen et al.

Table 22.1 CT concepts and skills


Problem (re)definition Describing the problem in own words
Data collection Collecting the information that is needed
Data analysis Recognizing the relationships and connections between elements
Data visualization Representing the data in a visual form
Problem Dividing the problem in smaller parts
decomposition
Abstraction Formulating a clear aim for the solution of the problem at hand
Algorithms and Generalizing the problem-solving process, in order to make it applicable
procedures to other problems
Automatize and Being able to execute repetitive tasks in an effective and efficient way
testing (which might be done by a computer)
Adapted from Van der Linde et al. (2021)

CT is a way to solve problems with concepts from computer science. Subskills of


CT are problem decomposition; collecting, analyzing and visualizing data; abstract-
ing; algorithms and procedures; automating, simulating and modelling; and the
simultaneous execution of tasks (ISTE, n.d.). The specific CT concepts and skills
emphasized in the study presented in this chapter are presented in Table 22.1.
CT is often related to learning to code and to program (plugged CT) (e.g. Hsu
et al. (2018)). However, some scholars also teach CT in an unplugged mode (e.g.
Barr and Stephenson (2011)). In the latter way, CT can be easily integrated in vari-
ous subject domains (Yadav et al., 2016), such as in writing education (Wolz et al.,
2011) or in science (Sengupta et al., 2013).

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

Teams of teachers collaboratively designed CT lesson materials for 14–16-year


pre-vocational education students. Each team was composed of Information and
Computer Science teachers and subject matter teachers without a computer science
background. The teacher teams decided to teach CT concepts in an unplugged way,
because of the following reasons:
(1) To create awareness of the possibilities of digital technologies as an attractive future
profession of students in pre-vocational education. CT unplugged is more in line with
the professional tasks that are expected in many qualification levels expected from
vocational education graduates.
(2) The plugged form has the risk that the focus will be on technical skills of coding. The
teams assumed that in the unplugged form, more attention can be paid to CT concepts
than in the plugged form.

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.

22.3 Two Cases: Experiences and Key Findings

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).

Vignette 22.1: AutomationWhat kind of robots, machines and other


automatic processes would you like to use in the bakery?
• What would allow you to bake the sweet pastry rolls faster?
• Which process could you automate?Write down or draw.

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

Fig. 22.2 Sweet pastry


rolls—attractiveness

Fig. 22.3 Sweet pastry


rolls—relevance

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.

Fig. 22.5 Problem


specification—
attractiveness
338 D. van der Linde-Koomen et al.

Fig. 22.6 Problem


specification—relevance

22.4 Rubric for Assessing CT Skills

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

In this proof-of-concept study, we aimed to teach pre-vocational education students


important CT concepts and skills (see Table 22.1) in an unplugged way. In both
cases students were challenged to use CT concepts and skills in solving a concrete
professional problem. They had to come up with a programmable result (see flow-
charts, Figs. 22.1 and 22.4, respectively). We opted for an unplugged mode of teach-
ing CT because it offered the possibility to introduce CT concepts to this specific
target group. Figure 22.7 represents the approach we took in this proof-of-­
concept study.
Overall, we conclude the following:
• The two cases show the potential of teaching CT concepts and skills unplugged
for pre-vocational education students (cf. Caeli & Yadav, 2020).
• The majority of the students found the lessons attractive and relevant.
• The findings indicate that it is important to make the underlying CT concepts and
skills explicit (which did not happen enough in sweet pastry rolls) (Jocius et al.,
2021; Voogt et al., 2017).
22 Computational Thinking in Pre-vocational Education: A Focus on Coding Unplugged 339

Table 22.2 Rubric to assess achievement in CT skills—elaboration of some CT skills


CT concept
and skills Indicator Not present Beginner Average Advanced
Analysing data Recognizes Don’t focus Focuses on Organizes and Organizes and
relationships on the individual connects analyses
and information pieces of pieces of information
connections information information from various
between sources
elements
Problem Can break a Problem is The problem Problem is Recognizes the
decomposition problem into not is approached divided into necessary
small parts recognized as a whole subtasks sequence of
as it occurs subtasks
Algorithms Can generalize Doesn’t see Recognizes Recognizes Recognizes
and a problem-­ any generic generic generic generic
procedures solving features for elements but elements. Use elements.
process so that solving the does not a tool to Convert this
it can be problem convert them convert this independently
applied to into a into a solution into a solution
other problems solution rule rule rule
Automation Can take steps Does not Recognizes Recognizes Recognizes
and testing to perform recognize the repetitive repetitive repetitive tasks
repetitive tasks the repetitive tasks but sees tasks and sees and
more tasks no possibility possibilities independently
effectively and to perform with help to sees
efficiently them more perform them opportunities to
(possibly effectively more perform them
using the and effectively more effectively
computer) efficiently and efficiently and efficiently

Fig. 22.7 Problem-solving using CT concepts and skills


340 D. van der Linde-Koomen et al.

• To increase the relevance for students, it is important to make the connection


with students’ future practice clear (which did not happen enough in problem
specification) (Willems & De Grip, 1995).
• The findings suggest that CT lessons aimed to influence students’ choice for a
prospective occupation (and its preparatory training) must not be a one-time
event in the curriculum and applied in various occupational contexts (cf. Yadav
et al., 2016).

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?

Milorad Cerovac and Therese Keane

23.1 Introduction

In the twenty-first century, the underrepresentation of young girls and women


undertaking STEM (Science, Technology, Engineering and Mathematics)-related
subjects, courses and careers continues to be particularly low especially in computer
science (Deloitte Access Economics, 2021; Keane et al., 2021, 2022; Zagami et al.,
2015). In 2020, women made up 29% of the technology workforce in Australia.
However, this problem is one that is shared around the world with both Canada and
the United States with 25%, the United Kingdom 16%, South Korea 16% and Japan
13% (Deloitte Access Economics, 2021). This overall gender imbalance has in part
been a catalyst for much of the recent research literature that sought to identify the
factors that reveal a complex problem. Organisations that have attained higher lev-
els of gender diversity tend to be more productive and innovative (Deloitte Access
Economics, 2021). Understanding why female participation in technology and the
broader STEM fields is low can be apportioned partly due to cultural and gender-­
based stereotypes which manifest in media and popular culture portrayals of STEM,
messaging about STEM from parents and teachers (unconscious bias), and the way
STEM is presented and taught in the education system (Keane et al., 2022). The
RoboCats initiative was introduced, in part, to address the gender disparity as well

M. Cerovac (*) ∙ T. Keane


La Trobe University, School of Education, Melbourne, VIC, Australia
e-mail: m.cerovac@latrobe.edu.au; t.keane@latrobe.edu.au

© The Author(s), under exclusive license to Springer Nature 343


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_23
344 M. Cerovac and T. Keane

as to provide girls with opportunities to undertake STEM activities in an authentic


and contextual setting. This paper will discuss the RoboCats initiative and the role
of mentors in working alongside the girls to develop their programming knowledge
and skills.

23.1.1 Perceptions of STEM Through the Lens of All-Girl


Secondary Schools

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.

23.1.2 Technologies Curriculum in Secondary Schools

In 2017, the Victorian Department of Education in Australia mandated that schools


teach the Digital Technologies curriculum (Foundation to Year 10, students aged
5–16) based on the Australian Curriculum. The Digital Technologies curriculum is
strongly connected with computational thinking, design thinking and systems think-
ing skills and focuses on data and coding, increasingly seen as crucial to preparing
a future-ready workforce. The Digital Technologies curriculum was a clear response
to the rapidly changing future of work and the acknowledgement that creativity,
innovation and entrepreneurship are critical to ensuring Australia’s future prosper-
ity. As yet, little is known of the impact the Digital Technologies curriculum is hav-
ing on promoting and preparing students for pathways into further studies into
computing or directly into the workforce or for that matter changing students’ atti-
tudes towards coding/computer science and STEM fields more generally.
23 A Case of Girls Building Robots or Robots Building the Girls? 345

23.1.3 Gender Disparity in Computing

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

23.2 Melbourne RoboCats Initiative

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.

23.2.2 The FIRST® Robotics Competition

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

motivate young people to pursue education and career opportunities in science,


technology, engineering and mathematics, while building self-confidence, knowl-
edge and life skills (Wilczynski & Slezycki, 2015). Through three comprehensive
hands-on STEM programs (FIRST® LEGO® League, FIRST® Tech Challenge,
FIRST® Robotics Competition), FIRST® provides a progression pathway for stu-
dents from Foundation to Year 12 (ages 5–18). The latter of these three, the FIRST®
Robotics Competition (FRC), is arguably the most sophisticated secondary school
robotics program currently available, as students use industry hardware and soft-
ware to design, build and program a 50–60 kg game-playing robot (see Fig. 23.1a).
Each year there is a new challenge that students undertake, and they build their
robot depending on the problem presented at season kick-off, usually the first week
in January. At the conclusion of the robot build season, the team’s Robot Lockup
event marks the end of the six-week build season, and the girls unveil and demon-
strate their robot to the parents, sponsors, schoolteachers and principals. Each mem-
ber of the team has a role to play at the lockup event, and the girls explain with
confidence and demonstrate with excitement the capabilities and functionalities of
their robot design. A few weeks after the Robot Lockup event, the students compete
against other teams through a tournament, on a game field that is approximately
one-third the size of a basketball court. An example of the team’s robot and students
at their driver stations can be seen in Fig. 23.1b.
The game-based philosophy of the FRC is a common thread shared with other
STEM and specifically coding-based programs, such as the European-sponsored
Coding4Girls project (de Carvalho et al., 2020). Surveying the literature provides

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

examples of evidence supporting the approach of game-based play to motivate and


engage students (Burguillo, 2010; Howard & Crotty, 2017; Tobar-Muñoz et al.,
2017). Whereas Coding4Girls is European-centric and targeted for students aged
10–16, the FRC is a global program specifically targeted for students in senior high
school from Years 9 to 12 (students aged 14–18).

23.2.3 About the RoboCats

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.

Laura’s comments were echoed by university mentor Terry:


There are some teams where the mentors essentially do everything and although it makes a
cool robot, it isn’t very enjoyable for the actual team members. The RoboCats are different.
The idea is to have the girls do as much as possible, making it more about learning and hav-
ing fun instead of just a laser focus on winning.

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

23.2.4 Why the RoboCats?

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

23.3 The Basics of an FRC Robot

23.3.1 Software Development: LabVIEW Versus Java

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.3 The robot radio and roboRIO (robot controller)


352 M. Cerovac and T. Keane

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).

23.3.3 Robot Control: Programming Autonomous


and Teleoperated Modes

Each robot game comprised of an initial 15-second autonomous period, followed by


the teleoperated mode where human drivers (the students) controlled their robot for
2 minutes and 15 seconds, for a total game time of 2 minutes and 30 seconds. Each
team controlled their robot via a Joystick or Xbox controller connected to a laptop.
The FRC Driver Station software, shown in Fig. 23.4, provided the interface
between the Joystick/Xbox controller input and robot, with the controller input
relayed wirelessly to the robot.
The Java code that had been uploaded to the roboRIO by the girls interpreted the
Joystick/Xbox commands, which moved, manoeuvred and controlled the robot to
perform any number of actions on the game field. A typical robot drive base is
shown in Fig. 23.5, with two motors on either side. As part of learning to program
the robot, the girls realised that to move the robot forward, the two motors on the
right side of the robot chassis (rightMotor1, rightMotor2) needed to spin in the
reverse direction to the two motors on the left side of the chassis. Hence in the
sample code shown in Fig. 23.6, the power delivered to the two right motors were
23 A Case of Girls Building Robots or Robots Building the Girls? 353

Fig. 23.5 A typical robot


drive base with two motors
on either side

Fig. 23.6 Section of Java


code delivering half power
to each one of four motors

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

Fig. 23.7 Section of Java


code executed during
autonomous mode

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

The FIRST® Robotics Competition is a unique program in structure and purpose,


with students designing, building and programming a sophisticated game-playing
robot with limited resources, within a strict timeframe. The interaction between
students and their mentors acts as a powerful catalyst for promoting interest in
careers in technology and engineering. As an all-girl focused team, the presence of
female software engineers has had a profound impact on the girls, providing an
insight into the immensely satisfying opportunities that exist. Developing software
solutions to support a commercial business enterprise, often seen in senior second-
ary schools (e.g. a food ordering system for a Pizzeria), is just one application of
programming. The field of robotics is another example and one that continues to
expand rapidly across diverse industries, whether in manufacturing, mining or med-
ical applications, to name a few. While the RoboCats program provides a focus on
students building robots, it really is a case of the robots building the students, a
theme that has previously been noted within the FIRST® robotics community. It is
our experience that the girls entering the RoboCats program as novice student engi-
neers and computer scientists emerge at the other end feeling empowered, confident
and as capable young women with the skills, knowledge and values to make a dif-
ference in the world. As those catchphrases suggest, with the support of their men-
tors and powerful female role models, they have gained a deep insight into the world
of computer science that takes them beyond simply writing meaningless code, to
solving some of the world’s most pressing problems.

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

24.1 Introduction: From Visual to Textual Programming

A programming course is a demanding enterprise for both teachers and learners.


Several issues and the possible underlying reasons that contribute to such a state are
examined in Kadijevich (2021), for example. Among them is the frequent finding
that novice programmers can, in general, successfully deal with programs with line
and branch structures, but this is not the case for programs with a loop structure that
are usually hard for most students (e.g. Hofuku et al., 2013; Lahtinen et al., 2005).
As a result, various misconceptions have been identified in the literature concerning
basic programming concepts, including variables, conditional statements and loops
(e.g. Swidan et al., 2018). Learning challenges become more demanding and frus-
trating for both students and teachers when a programming course makes use of
object-oriented programming (e.g. Hubwieser 2008) because students have to
implement linear, branch and loop structures using built-in (and perhaps some user-­
defined) classes. That programming tasks have continuously been of high complex-
ity is evidenced by Mark Guzdial’s 20% rule, which underlines that “in every
introduction to programming course, 20% of the students just get it effortlessly …
20% of the class never seems to get it” (source https://blogs.kcl.ac.uk/
proged/2009/09/04/quality-­oriented-­teaching-­of-­programming/).
Because of this complex state, it is not surprising that there is a long-standing
debate in the literature about how to teach programming, especially in introductory
courses (see, for example, a summary given in Noone & Mooney, 2018). Concerned
with this important question, many educators and researchers have recently advo-
cated that visual programming should be practiced before textual programming.
Contrary to the traditional textual programming that requires programmers to write

D. M. Kadijevich (*)
Institute for Educational Research, Belgrade, Serbia
e-mail: djkadijevic@ipi.ac.rs

© The Author(s), under exclusive license to Springer Nature 359


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_24
360 D. M. Kadijevich

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

Fig. 24.1 A computer program in Scratch (left) and Python (right)


24 Applying Hybrid Programming in High Schools: An Empirical Study 361

managing program layout (using brackets, spaces and indentation), understanding


types (e.g. data type), matching identifiers (e.g. naming and using variables), writ-
ing expressions, prototype vs. definition (defining method calls) and interpreting
error messages. On top of these, there is a change in programming paradigm: from
object-based when using Scratch to class-based when programming in C#, for
example. To support this transition and alleviate some of these challenges, so-called
hybrid programming may be applied.

24.2 Hybrid Programming: Literature Synthesis


and Research Questions Used

This kind of programming is practiced in computing environments that support the


use of both visual and textual programming. Such environments may display both
visual and textual programming elements, possibly in a way where changes in ele-
ments of one type automatically generate updates of elements of another type (e.g.
Pencil Code at https://pencilcode.net/edit/first, cf. Google Blockly at https://
blockly-­demo.appspot.com/static/demos/code/index.html). Hybrid programming is
also available in a number of advanced computer environments that may be used in
educational settings, such as Unreal Engine – a three-dimensional creation tool that
combines visually created blueprint functions with textual programming in C++. By
extending its notational machine for C++, this tool becomes suitable for virtual real-
ity projects in secondary schools (Stechert & Vukovic, 2022). Note that applying
hybrid programming fits in with the so-called no-code and low-code trends in pro-
fessional settings. These trends have been increasingly supported by low-code
development platforms offered by large software vendors (e.g. Bock & Frank,
2021). One may even ask whether the future of software development will be the
use of no-code and low-code programming primarily, which would have important
educational implications.
A number of recent papers call for using a hybrid programming environment or
a hybrid programming language, which would positively influence students’ inter-
est and retention in computer science courses (e.g. Noone & Mooney, 2018). This
approach may be implemented in various ways. The user may drag and drop visual
blocks into a text editor with a textual code resulting in an update of that code
(Weintrop & Wilensky, 2018) or use visual blocks that mirror the syntax of a profes-
sional programming language such as Java (Noone et al., 2020). While the former
example deals with a dual-modality environment, the latter one blends the features
of two kinds of programming in a hybrid text/block modality. Although hybrid pro-
gramming usually refers to the use of a single programming language in block- and
text-based modalities within one computing environment (e.g. Wientrop & Wilenski,
2018), other solutions have also been applied (e.g. Tóth & Lovászová, 2021).
A review of hybrid programming showed that this programming may be more
beneficial to students than applying only visual or textual programming, each
362 D. M. Kadijevich

generating learning challenges (e.g. limited programming benefits of block-based


approach vs. a high complexity of text-based approach). In addition, as both kinds
of programming have certain learning benefits, combining them may result in the
best possible learning outcomes (Noone & Mooney, 2018). As visual programming
is primarily practiced by younger students (in primary and lower secondary schools)
and textual programming mostly by (much) older ones (to a fuller extent typical in
high schools only), hybrid programming may be the most suitable for students aged
15–17 years who are in the middle of their secondary education. This sequencing
suggests that there may be certain age groups for which each kind of programming
might be the most beneficial for students (e.g. Cheung et al., 2009; cf. Hsu &
Gainsburg, 2021).
In what ways might hybrid programming be beneficial to students?
A study with US students, done by Weintrop and Wilensky (2018), involved 90 high
students, who had an average age of 17.1 years. It showed that students could use
hybrid programming to browse blocks to recall important programming concepts
they represent, apply blocks to recall or verify syntax or combine text pieces that
represent good parts of the program under development. Although little is known
about the ways hybrid programming would impact the programming practices of
novice programmers, a recent study involving about 700 students aged 14 in Greece
evidenced that to complete given tasks, using the CoffeeScripts commands within
the Pencil Code environment, most students (65%) switched between the two kinds
of programming (Menounou et al., 2019). It also showed that while fewer students
(30%) indicated a preference for textual programming at the beginning of the school
year, about half of them (48%) did so at the end of it; this preference was positively
related to students’ grades. Another study with 90 high school students in Turkey
compared cognitive and affective outcomes of the work of two groups of students:
an experimental, hybrid interface group and a control, non-hybrid interface group
(Unal & Topu, 2021). It was found that applying hybrid programming (the partici-
pants used Python within the Blockly environment) increased students’ program-
ming success, helping them to keep the cognitive load at lower levels. However,
hybrid programming did not decrease computer anxiety; the contrary occurred in
both treatment groups.
Although research evidence is insufficient at present, previous studies do support
a proposal to apply hybrid programming for a certain age group as it may positively
contribute to the development of students’ programming knowledge and skills, pro-
gressing towards the use of text-based programming exclusively. On the other hand,
teachers of programming may not be willing to do this, because of limited teaching
hours, a demanding syllabus, lack of resources or for other reasons. It is thus impor-
tant to examine teachers’ opinions about applying hybrid programming in their
teaching and relate these opinions to relevant background variables, such as age of
students, type of school, teacher’s experience and programming language used. To
the author’s knowledge, these important issues have not been examined so far.
To contribute to this examination, this study asked its participants to indicate
whether hybrid programming would be used in teaching programming in high
24 Applying Hybrid Programming in High Schools: An Empirical Study 363

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

This study used a convenience sample comprising 38 programming teachers (15


males and 23 females) who taught programming in different high schools (25 in
gymnasiums, 13 in vocational schools) in different country regions: 12 in Belgrade,
6 in Eastern and Southern Serbia, 13 in Sumadija and Western Serbia and 7 in
Vojvodina. These figures matched a larger school type by region demographics.
Twenty-four participants had taught programming for more than ten years, whereas
22 teachers had no experience in applying hybrid programming in their teaching.
In high schools in Serbia (years 9–12, students aged 16–19), programming is
taught in gymnasiums (grammar schools), as well as vocational schools mostly of
electrical and mechanical engineering. Programming is usually practiced in two or
more grades, and to this end, various programming languages are used, such as
Python, C, C# and Java Script. Although it is assumed that textual programming is
applied solely, programming may start with visual programming when appropriate.
This approach is officially acknowledged in the document titled “Instructions for
the implementation of the curriculum in the subject Computing and informatics in
the gymnasium” (in grade 9) with the following words: “The topic of programming
can be fully realized using a text-based programming language, but it may start with
a visual programming language based on stacking blocks, and end with a text-based
programming language” (MESTD, 2020; p. 109; translated by the author). If this
visual-to-textual instructional sequence is applied, programming might be practiced
within a hybrid programming environment.
As already mentioned, this study used an online survey of teachers to gather data,
which were then analysed statistically. This survey made use of a questionnaire
364 D. M. Kadijevich

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.

24.3.2 Results and Discussion

24.3.2.1 First Research Question

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.3.2.2 Second Research Question

The second research question sought to uncover relationships, if any, between


teachers’ preference for hybrid programming usage and other variables considered.
A negative relationship was found between hybrid programming usage and the use
of C or C# in teaching (r = −0.382, df = 36, p = 0.018). Although a positive relation-
ship was expected between hybrid programming usage and hybrid programming
366 D. M. Kadijevich

experience, the relevant correlation was zero statistically (r = 0.169, df = 36,


p = 0.312). However, the partial correlation between hybrid programming usage and
hybrid programming experience controlling for two variables, C/C# applied and the
region of Vojvodina, evidenced a positive relationship in question (r = 0.384,
df = 34, p = 0.021). Note that while there was a positive relationship between hybrid
programming experience and Python usage (r = 0.320, df = 36, p = 0.050) – that
usage mostly occurred in gymnasiums – the correlation between hybrid program-
ming experience and C/C# usage was zero statistically (r = 0.080, df = 36, p = 0.635).
Bearing in mind the outcome of the partial correlation mentioned in the previous
paragraph, what had influenced hybrid programming usage?
To this end, a path modelling was performed by using the SmartPLS software
(Ringle et al., 2015), following an appropriate use of binary variables (Hair et al.,
2019). This modelling and its results are presented in Fig. 24.2. The values of path
coefficients as well as the total influence of the three predictors on hybrid program-
ming usage (in terms of R2adj) were determined by using bootstrapped data with
5000 replicates. If we expect that the absolute value of the minimum path coeffi-
cient that is significant at a 5% level is between 0.31 and 0.40, the recommended
sample size would be 39 (Hair et al., 2021; p. 18).
The findings concerning the second research question revealed that teachers’
preference for hybrid programming usage was influenced by their hybrid program-
ming experience, the text-based programming languages they applied (C or C#) and
the country region they worked in (Vojvodina). Firstly, the influence of hybrid pro-
gramming experience on hybrid programming usage is clear: the more experience
with it, the higher preference for its usage (e.g. see Weintrop & Wilensky, 2018, for
the role of student’s experience). Secondly, the influence of the applied text-based
programming languages may also be clear due to the following facts: (a) while
some languages have been implemented in hybrid programming environments (e.g.
Python), the opposite holds true for other languages (e.g. C/C#); (b) although a
particular language might be implemented, the number of available visual blocks
may be limited (e.g. consider the use of Java Script in web programming). Even in

Fig. 24.2 PLS-SEM path analysis and its results


24 Applying Hybrid Programming in High Schools: An Empirical Study 367

introductory programming, these facts may have a negative influence. To consider


the possible influence in his/her school context, the reader may examine the affor-
dances of free environments supporting hybrid programming, such as Pencil Code
and Blockly, mentioned above. Although block-based C language environments
have been developed (e.g. Noone & Mooney, 2018), they are not dual-modality
environments but rather ones that blend the features of two kinds of programming
in a hybrid text/block modality. Thirdly, the finding that hybrid programming usage
may be influenced by country region might be perplexing at first sight. However, it
is the country region in which teacher education and professional development pri-
marily take place. This means that to support programming in the classroom, some
country region(s) might or might not provide teacher education or professional
development that make use of recent promising developments in the field (e.g. as
provided in Menounou et al., 2019). Regarding the negative influence of the region
of Vojvodina on hybrid programming usage, this could be a result of the fact that
teachers in this region participated in teacher professional development less often
(and thus were possibly less open to innovations) than teachers in the remaining
parts of the country as, for example, evidenced by a report on the professional devel-
opment of teachers in vocational schools in Serbia (ETF, 2020). Note that concern-
ing regional GDP, all four regions were below 75% of the EU28 average GDP per
capita (SORS, 2022). The figures for 2019 were as follows: 69.3% (Belgrade),
40.3% (Vojvodina), 26.7% (Sumadija and Western Serbia) and 25.9% (Eastern and
Southern Serbia).

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++

Peer Stechert and Goran Vukovic

25.1 Vocational Education in Germany and Relevance of VR

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

P. Stechert (*) · G. Vukovic


RBZ Technik Kiel, Geschwister-Scholl-Straße 9, Kiel, Germany
e-mail: peer.stechert@rbz-technik.de; goran.vukovic@rbz-technik.de

© The Author(s), under exclusive license to Springer Nature 371


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_25
372 P. Stechert and G. Vukovic

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).

Fig. 25.1 3D model of the vocational school RBZ Technik


25 Hybrid VR Programming: Extending the Notional Machine for C++ 373

25.2 Linking Up to Competence Research

Our research methodology is a design, intervention, evaluation cycle of curriculum


development. It is inspired by successful researchers who investigated their theories
in practice, that is, intervention by performing field studies. Such research method-
ology permits critical reflection upon research results, because it adds knowledge
and insights regarding a phenomenon or problem identified by the researcher
Bassey (1999).
This article is also based on the empirically based MoKoM competence model
for computational modelling and system understanding, which was funded by the
German Research Foundation (DFG) (Magenheim et al., 2010). The competency
model is based, among other things, on one of the authors’ dissertations on “under-
standing of informatics systems” using software design patterns as knowledge rep-
resentation to support learning programming (Stechert, 2009). However, a restriction
to exclusively theoretically derived competences entails the risk that the reference
of competences to complex requirements is neglected or disregarded in real situa-
tions. For this reason, the competency model has been empirically refined. Expert
interviews, in which the Critical Incident Technique was used, provided a suitable
empirical approach to determine the relevant competencies from the two areas of
modelling and system understanding. To reduce the identified competence catego-
ries, an expert rating was then carried out.
The main categories of the competency model are (1) basic competencies, (2)
informatics views, (3) complexity and (4) non-cognitive competencies.
Figure 25.2 shows the second category, Informatics View. Since the empirical
refinement led to the inclusion of K2.3 Change of View as a competence category,

Fig. 25.2 The competence


category K2 Informatics
view according to the
MoKoM-project
374 P. Stechert and G. Vukovic

which underlines the power of hybrid programming, learners can switch between a
textual and a block-based representation.

25.3 Unreal Engine

25.3.1 Choice of the 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.

25.3.2 C++ Programming Language

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

25.3.3 Role of the Unreal Engine

Humans expect physical laws to be considered in real-world simulations. A com-


puter, on the other hand, does not have this expectation. It only executes commands
specified by the programmer. To generate a physically correct implementation, for
example, of a jump, it is necessary to recognize all objects and persons that must be
subject to the laws of nature and then compare them against real references, such as
mass, gravitational force and Earth’s rotation. Engines relieve developers of this
work by offering ready-made functionality. There is a rich range of categories: in
addition to physics engines, there are also graphics engines that can make land-
scapes and bodies look almost real. The Unreal Engine combines graphics, sound
and physics in a software solution that can cover all areas of a 2D/3D application.

25.3.4 Unreal Engine as a Hybrid Programming Environment

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).

Variant 3 An extraordinary advantage of this graphical interface, compared to the


classic variant, is the possibility to use a combination of variant 1 and variant 2.
With the help of Visual Studio, a program is developed that receives a fully auto-
mated graphical user interface in the UE Integrated Development Environment
(IDE) and can then be combined with the existing blueprint functions.
The advantage of this variant is that learners no longer need to type in functions
independently and combine them with each other via text inputs but can search for
existing functions through their expertise and implement them in the necessary
context.
376 P. Stechert and G. Vukovic

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;

10. SphereA = CreateDefaultSubobject<USphereComponent>(this,


TEXT("SphereA"));
11. SphereA->InitSphereRadius(140.0f);
12. SphereA->SetupAttachment(RootComponent);

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. }

18. void ALightSwitchBoth::OnOverlapBegin_Implementation(UPrimi-


tiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveCompo-
nent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitRe-
sult& SweepResult)
19. {
20. if (OtherActor && (OtherActor != this) && OtherComp)
21. {
22. ToggleLight();
23. }
24. }

Fig. 25.3 Example “Light”- example using C++ code (extract)

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

Fig. 25.4 “Light”-example via blueprint functions using an EventGraph

25.4 Notional Machines and Didactical Guidelines


for Hybrid Programming Using Blueprints

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.

25.4.2 A Notional Machine for C++

Regarding the programming language C++, Hidalgo-Céspedes et al. (2016) enriched


lectures of a CS2 course combining conceptual contraposition with programme
memory tracing and evaluated students’ understanding of programming concepts,
for example, memory segmentation, programme entry point, function call, local
variable, while and for loop, standard input and output, function parameter, dynamic

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

respective table. In line 6, the PointLigthA object is instantiated. Instead of a


value, complex objects get an address, in our case <1 > for our first object. We also
add the object to our object-store. In lines 7 and 8, its attributes Intensity and
IsVisible get their values. In line 9, a further advantage of a notional machine
becomes visible: the object PointLigthA is assigned to the global object
RootComponent. Therefore, RootComponent gets the same address, that is,
<1>. The last line evaluated so far in Fig. 25.5 is line 10 where a further object is
created, SphereA. The next line to be evaluated is line 11 where our example
stops. In the next steps, the tables of the other sub-routines must be filled. The first
condition has to be evaluated in line 20.
Here also the big disadvantage shows up: it becomes tedious to create a notional
machine for more than short programmes. The advantage is that once a programme
is introduced, teachers do not always have to go through it from the beginning; the
teacher can also jump in the middle of an execution to highlight interesting phenom-
ena (Mühling, 2020).
In the following section, we describe the Blueprint Visual Scripting System to
show how our notional machine bridges the gap between textual programming and
visual programming within UE. Furthermore, the next section describes in more
detail how the Blueprint Visual Scripting System simplifies VR programming.

25.4.3 Extending the Notional Machine for C++

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 Didactical Guidelines for Hybrid Programming


Using Blueprints

25.4.4.1 Starting with Blueprint Functions

Functions are important building blocks of programmes. They allow a developer to


break down a programme into smaller, more digestible pieces that can be easily and
efficiently reused. When software developers create software, they are usually not
creating it from scratch but reusing predefined blocks such as functions.
According to Zamansky and Dyrland (2020), the key concepts of functions are
modularity, readability, maintainability, abstraction and reuse. Even though learning
about functions involves creating one’s own functions in programmes, students
must recognize that built-in constructs in programming languages are internally
defined as functions.
Regarding programming using blueprint functions, it is important to understand
that you can only use predefined functions. If you need a new function, you must
program it using C++. Modern developers today must be able to independently
recognize when and in what combination of existing solutions lead to the goal.
Therefore, we decided to start developing VR application using predefined blue-
prints. Later, learners should analyse the code behind; modify it, if necessary; and
create functions on their own.
382 P. Stechert and G. Vukovic

25.4.4.2 Use-Modify-Create and PRIMM

Use-Modify-Create is a scaffolding strategy to engage learners in computational


activities (Waite & Grover, 2020). First, learners use the product of someone else.
Later, they look behind the façade, read the code and modify it. Finally, the learners
create their own programme. This way is very promising regarding the complexity
of 3D games. So, we decided to give the learners predefined code, for example, to
switch on the light. A variation is PRIMM (Predict-Run-Investigate- Modify-Make),
where the reading of code and in our case blueprint functions and the notional
machine are emphasized.

25.4.4.3 Events

EventGraphs are a central element of blueprint programming. Rosato and Wolber


(2020) recommend, among other things, to prepare the programming of event-based
languages by writing event-based pseudocodes and to explore existing programmes.
It is also helpful to understand how the programme reacts to events when there
are multiple event handlers that are processed in parallel. According to Rosato and
Wolber (2020), debugging and testing play a key role. For the testing of event-based
programmes, they recommend usability testing by having other learners use the
program and tell their approach by thinking out loud.

25.4.4.4 Modularity with Blueprints: Control Flow and Code Tracing

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 Our First Curriculum Intervention

25.5.1 Learning Objectives

Programming “Virtual Reality” is extraordinarily complex and requires a high


degree of willingness to learn on the part of everyone. But what exactly does it take
to offer trainees a successful entry into the field of VR? All trainees in the IT profes-
sions are taught with the basic concepts of object-oriented programming (OOP) at
RBZ Technik from the beginning of their training.
The interdisciplinary project week took place for all students in their second year
at RBZ Technik, in the last 2 weeks of a training year. In our VR project, 14 students
25 Hybrid VR Programming: Extending the Notional Machine for C++ 383

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.

25.5.3 General Didactical Decisions


and Methodological Considerations

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

This phase consists of “what/when/who/how” questions that need to be answered at


the end of the phase. Learners should jointly distribute the requirements among the
individual groups and create fixed timelines and milestones. In addition, the imple-
mentation of the wiki and the documentation will be discussed in detail. In the end,
all responsibilities must be written down in the form of a binding project plan,
which is then read again by the teacher.

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

Fig. 25.6 A classroom at our (virtual) school

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

With hundreds of programming languages available to teachers, choosing which


programming language or languages to use when teaching students how to pro-
gramme is often the first concern many teachers have. Educators often look to
industry for measures of which languages are the most popular, the recommenda-
tions of other teachers and their own experiences in learning programming. There
are, however, reasons to use different programming languages in different circum-
stances, depending on the age and experience of the learner with programming, the
type of problem being solved or, as will be focused on in this chapter, the complex-
ity of the problem being solved.
Learning a programming language is a difficult undertaking; some argue that it
is akin to learning a new foreign language (Prat et al., 2020), and while there are
similarities, there are also significant differences. While both require mastery of
grammatical rules and syntax, programming languages have far fewer such rules,
though conversely, these must be used more precisely than with natural languages.
Previous experiences with programming languages are also important. While all
programming languages have similarities in basic operations of sequencing instruc-
tions, branching, looping, modularity and the available data structures, each lan-
guage also has its own syntactical rules or grammar and different thematic structure,
akin to language categories. Learning French or Italian, having learnt English, is
relatively straightforward, much less so is learning Chinese or Navaho. Learning a
programming language that has similar genealogical roots to a common language
(such as the Java and Python languages, both developed from the C programming
language) is relatively straightforward. Likewise, various versions of SQL

J. Zagami (*)
Griffith University, Gold Coast, Australia
e-mail: j.zagami@griffith.edu.au

© The Author(s), under exclusive license to Springer Nature 389


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_26
390 J. Zagami

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).

26.3 Intrinsic Cognitive Load

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

process can be mirrored by the computational thinking processes (Tsarava et al.,


2022) of decomposition, generalisation and synthesis, breaking down complex
problems into manageable components, generalising these and synthesising the
generalised components back together to solve the overall problem. Once students
are taught to decompose, generalise and synthesise, they can rely upon the success-
ful completion of previous problems they have mastered to solve more complex
problems.
Unfortunately, computational thinking skills are not well addressed in computer
education – decomposition, synthesis, generalisation, pattern recognition, etc. Even
fundamental processes such as algorithmic thinking are usually taught in an ad hoc
way, with little understanding of why such processes are necessary for problem-­
solving in relation to their impact on reducing cognitive load.
Likewise, the creation of external schemas, while commonly taught, starting
with flowcharts, data flow diagrams, universal modelling language, relational sche-
mas, etc. as aid to understanding programming, involves little consideration of why
they improve understanding and student capacity to solve more complex problems.
Nor how they contribute to the development of internal schemas, such as mental
models depicting the interaction between various elements and concepts.
While simple programming concepts can be held in working memory and pro-
cessed without difficulty, more complex real-world problems involving a range of
programming concepts, such as the use of various data structures and operations,
can easily exceed student’s working memory. This requires approaching the prob-
lem in more manageable parts before an overall solution can be synthesised.
The ability to decompose problems should be taught as soon as students begin
having difficulty synthesising complete solutions to problems, even though they
may be able to articulate an understanding of individual components successfully.
As the working memory capacity of students can vary significantly, from five to
nine elements, it is difficult for teachers to plan learning activities to fully support
this range of students. While a differentiated approach can assist students with lower
working memory capacity while enabling students with greater working memory to
work to their capacity before needing to rely upon decomposition and chunking
processes, generally, all students will need to use techniques to break problems
down into manageable parts reasonably quickly. Once this complexity of problem-­
solving is reached, the differences in programming ability between students with
respect to their intrinsic working memory capacity are reduced significantly.
A problematic zone exists, however, between simple problems involving five or
fewer elements that all students generally have the capacity to process and problems
involving 10 or more elements. For these, all students need to use chunking and
decomposition techniques. Within this zone, student’s ability is significantly influ-
enced by their intrinsic working memory capacity and not their learning, effort or
intelligence. This presents a problem for programmes of instruction that gradually
increase the complexity of problems through this zone while delaying the teaching
of decomposition and synthesis techniques to combine the various solved elements
into an overall solution to the problem under investigation.
26 Cognitive Influences on Learning Programming 393

To address intrinsic cognitive load, decomposition and synthesis techniques


should be taught as soon as students have difficulty solving problems of reasonable
difficulty. Without such techniques, it may be impossible for students to solve the
problem simply because of intrinsic limitations in their working memory. They may
become increasingly frustrated by the ability of their peers to do so, regardless of
their efforts, simply because they have a different intrinsic capacity.

26.4 Germane Cognitive Load

Germane cognitive load provides an opportunity to shift some of the burdens of


maintaining elements in working memory to an external mechanism. While this can
be in the form of textual narratives, instructions, pseudocode or programming code,
these have their cognitive constraints, and it is more often expressed in the form of
visualisations that can depict information and the relationships between information
more efficiently, essentially reflecting the idiom ‘A picture is worth a thousand
words’. Flowcharts, Nassi-Shneiderman diagrams, data flow diagrams, entity-­
relationship diagrams and conceptual schemas each depict various relationships,
with the universal modelling language attempting to address these collectively by
incorporating a range of diagramming approaches, including behavioural diagrams,
use case, activity, interaction, timing, state machine, communication and sequence
diagramming, and structural diagrams – class, object, component, composite struc-
ture, deployment, package and profile diagrams. These visualisation approaches are
used to assist the programmer in understanding what is occurring within the com-
plex system of a software application. Human brains are not well suited to compre-
hensively understanding every interaction in reasonably complex software solutions.
Still, by using abstraction, and in particular visualisation of these abstractions, we
can generalise a complex problem to the point where we can understand the overall
processes and interactions occurring, delving into the detail of parts of the whole as
needed to explore the underlying complexity. This process of abstraction supports
germane cognitive load, using external representations to reduce the load on work-
ing memory.
All programming languages involve abstraction, binary being an abstraction of
the transistors turning on and off in a microchip, machine language being an abstrac-
tion of binary and higher-level programming languages being abstractions of lower-­
level ones. Visual programming languages continue this process, using graphical
techniques to represent the function and relationship between coding statements.
Block-based coding languages such as Scratch and Blockly (Papadakis et al., 2019)
are thus commonly used in primary education because the strict syntactic rules
required by textual programming languages are managed by the physical placement
of blocks in relation to one another within a block-based diagram. They also provide
a diagramming process in which the complexity of a programme is reduced by
using abstracted blocks placed in relationship to other blocks, reducing germane
cognitive load.
394 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

Fig. 26.1 Continua of textual and visual programming languages


26 Cognitive Influences on Learning Programming 395

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.

26.5 Extraneous Cognitive Load

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

Cognitive walkthroughs can be used for the following:


Representation of Operations
This is the most incorporated walkthrough technique in visual programming lan-
guages, highlighting the programming operations in sequence much as a flowchart.
The ability of visual programming languages to replace the need for diagrammatic
planning tools such as flowcharts is incorporated into the spatial layout and con-
nectivity of block-based programming languages.
Representations of Flow
Representing which operations are currently active, this represents a desk check
process to visually see how interaction, branching, looping and subprocesses are
executing. In debugging, students can see the flow of operations and identify dis-
crepancies with expected flow and terminations.
Representations of Data
Representing the data values of variables and more complex data types, combined
with representations of flow, changes in data values can be observed in relation to
the operations acting upon them, further assisting in debugging, by comparing
expected changes in values in real time with representations of flow, as values are
displayed visually and change because of visually highlighted operations.
Collectively, cognitive walkthroughs using visual programming languages can
be dynamically compared with students’ mental models of how programming code
should execute, and discordances assist in challenging students to reconsider their
understanding of cognitive concepts being learnt.

26.8 Conclusion

The choice of programming languages used in teaching programming can be a sig-


nificant factor in the effectiveness of this instruction. Generally, very young pre-­
reading students, benefit from simple, purely visual programming languages and
tactile programming tools. Slightly older students benefit from programming lan-
guages that mix text and visual cues to support students in solving relatively simple
problems.
More experienced students tasked with solving complex real-world problems
need well-established computational thinking skills, in particular, decomposition,
generalisation and synthesis, to support them in breaking down problems into man-
ageable elements and combining these into overall solutions. The choice of pro-
gramming language is less relevant, but a purely textual or purely graphical language
is likely to be more effective than a block-based language, that requires both visual
and textual processing. In balance, purely visual programming languages have more
advantages in conceptualising elements of a problem and understanding the synthe-
sis involved in generating a solution from sub-elements, but such languages are less
commonly available and tend to be specific language types that have a focus on
multitasking and event triggers, such as used in control systems and robotics. In
398 J. Zagami

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

27.1 The Story So Far

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

© The Author(s), under exclusive license to Springer Nature 401


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_27
402 A. E. Fluck

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?

27.3 A General Framework for Learning Programming

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.

27.4 Machine Learning in School Education

Nayak et al. (2022) introduced us to machine learning as students programmed


chatbots. Machine learning falls into the non-deterministic category of computa-
tional practice – because the solution can be verified in a known time (Currin et al.,
2017). For our purposes, a deterministic (often digital) computer returns the same
result for the same input conditions every time. A non-deterministic system (such as
an artificial intelligence system) can give a different result each time, depending
upon the learning provided it between operations. As Kadijevich (2022) showed, the
transition from block to textual programming can cause issues for students. What
then are the intellectual stumbling blocks we may anticipate as they move from
deterministic to non-deterministic programming?
It has been shown that computing-related technological innovations are being
introduced into school curricula faster than each modification can be implemented
in the classroom (Fluck, 2022). Therefore, it is appropriate to look into emerging
computing technologies and translate them into school-centric learning activities to
forestall this educational lag.
27 Where Next for Coding in Schools? 405

27.5 The Basics of Quantum Computing

We live in a quantum world. Each of us is comprised of atoms. There is much inter-


est concerning quantum processes in biology (Cao et al., 2020; Kim et al., 2021),
particularly in neuroscience (Adams & Petruccione, 2020).
The fundamental building block of a classical digital computer is a binary digit
(or bit). In the processor section, this is often implemented as a microscopic transis-
tor switch which can be set to ‘on’ or ‘off’ (representing the binary digits one and
zero). In the storage section, it is a flash memory cell, with both a control and an
insulated floating gate to provide persistent storage. Designers usually employ hys-
teresis to ensure there is a clear boundary zone between a ‘one’ state and a ‘zero’
state. Although an electrical current can flow or not flow, intermediate currents are
ignored in a digital computer. This preserves the operational implementation of
binary computing, by only recognising two distinct states for each component.
By contrast, the key element of a quantum computer is a qubit. A qubit can also
hold a ‘one’ state or a ‘zero’ state, but it can also have a coherent superposition of
both these states. The quantum state of a qubit can be represented by two orthogonal
vectors, each with a probability amplitude. This can be shown visually using a dia-
gram called a Bloch sphere (Fig. 27.3).
Practical implementations of qubits vary greatly. While digital computers are
accessing terabyte storages, few quantum computers at the time of writing have
more than a thousand qubits (Huggins et al., 2022 [54 qubits]; Collins & Angelini,
2022) [127 qubits]). However, this numerical comparison is somewhat invidious,
because the multiple states feasible for qubits magnify their information capacities.

Fig. 27.3 The Bloch


sphere diagram showing
the state of a qubit. (From
Wikimedia Commons,
2022)
406 A. E. Fluck

Talk is turning to ‘quantum supremacy’, where proponents argue about classes of


problems solved more quickly with quantum computers compared to classical digi-
tal computers (Arute et al., 2019). Many quantum computers use equipment cooled
near to absolute zero (−273 °C) to achieve stability, but room temperature qubits are
being made from nitrogen vacancies in diamond (Hare, 2021; Náfrádi et al., 2016).
Work at the University of New South Wales uses qubits made from phosphorous
atoms in silicon (Kobayashi, et al., 2021).
Whatever the physical implementation of qubits, quantum programming is still
in its infancy, with various visual and textual methods emerging. Two aspects make
teaching this skill very different from classical digital programming; it is highly
probabilistic and typically decidedly parallel. The probabilistic nature comes from
the quantum boundary between classical Newtonian/Einsteinian physics and de
Broglie’s wave equations for particles. Particles containing more than 2000 atoms
(Kiałka et al., 2022) are above the boundary and obey Newtonian laws using the
deterministic classical equations of motion, such as F = ma (force is equal to mass
multiplied by acceleration). Below that boundary, in particular, for single photons or
atoms used as qubits, we need to use de Broglie’s wave equations with statistical
h
methods to predict behaviour, for example,   (the wavelength of a particle is
p
Plank’s constant divided by its momentum). Therefore, a quantum programme must
be run many times and the results averaged to get a solution. This shows the non-­
deterministic nature of quantum programming.
Having identified the probabilistic nature of quantum programming, we now
look at whole-computer parallelism. This is best illustrated by looking at the online
access IBM provides to various quantum computers (1–7 qubits) and simulators
(32–100 qubits) (Dwyer, 2020). The quantum composer (Fig. 27.4) shows four
regions. In the top-left is the toolbox of programming instructions. These can be
dragged to individual qubits in the top-right section. This looks like a musical score,
and instructions can be assigned to each qubit simultaneously. Hence the parallel-
ism extends across the entire computer. In the bottom-left, we see the probabilities
of the programme output as a bar chart; while finally, in the bottom-right, the output
is visualised on a Bloch sphere. This shows a superposition of two different values.
While this example resembles block coding in digital computers, the diagram is
missing a right sidebar with text programming in OpenQASM 2.01 or Qiskit.2 The
former is an imperative assembly language (like early digital computer languages)
(Cross et al., 2022), while the latter is a development kit for working at the level of
pulses, circuits and algorithms (Wille et al., 2019). The composer, therefore, resem-
bles hybrid programming with visual blocks and text shown side by side.

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

27.6 Quantum Computing in School Education

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/).

27.7 Discussion and Conclusion

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

Adamatzky, A. (2019). A brief history of liquid computers. Philosophical Transactions of the


Royal Society B, 374, 20180372. https://doi.org/10.1098/rstb.2018.0372
Adams, B., & Petruccione, F. (2020). Quantum effects in the brain: A review. AVS Quantum
Science, 2, 022901. https://doi.org/10.1116/1.5135170
Arute, F., Arya, K., Babbush, R., et al. (2019). Quantum supremacy using a programmable super-
conducting processor. Nature, 574, 505–510. https://doi.org/10.1038/s41586-­019-­1666-­5
Cao, J., Cogdell, R.J., Coker, D.F., Duan, H-G., Hauer, J., Kleinekathöfer, U., Thomas, L. C., Jansen,
T.K., Mančal, T., Miller, R. J. D., Zigmantas, D., Ogilvie, J.P., Prokhorenko, V.I., Renger, T.,
Tan, H.S., Tempelaar, R., Thorwart, M., Thyrhaug, E., Westenhoff, S. (2020). Quantum biology
revisited. Science Advances 6(14) eaaz4888. https://doi.org/10.1126/sciadv.aaz4888
Collins, H., & Angelini, E. (2022). IBM unveils new roadmap to practical Quantum comput-
ing era; plans to deliver 4,000+ qubit system. IBM Newsroom. https://newsroom.ibm.
com/2022-­05-­10-­IBM-­Unveils-­New-­Roadmap-­to-­Practical-­Quantum-­Computing-­Era-­Plans-­
to-­Deliver-­4,000-­Qubit-­System
Cross, A., Javadi-Abhari, A., Alexander, T., de Beaudrap, N., Bishop, L. S., Heidel, S., Ryan,
C. A., Sivarajah, P., Smolin, J., Gambetta, J. M., & Johnson, B. R. (2022). OpenQASM 3: A
broader and deeper quantum assembly language. ACM Transactions on Quantum Computing.
https://doi.org/10.1145/3505636
Currin, A., Korovin, K., Ababi, M., Roper, K., Kell, D. B., Day, P. J., & King, R. D. (2017).
Computing exponentially faster: Implementing a non-deterministic universal Turing machine
using DNA. Journal of the Royal Society Interface, 14(128), 20160990. https://doi.org/10.1098/
rsif.2016.0990
Dwyer, B. (2020). Fun with the IBM Quantum Experience circuit composer. Researchgate. https://
www.researchgate.net/publication/341539446_Fun_with_the_IBM_Quantum_Experience_
Circuit_Composer
File:Bloch Sphere.svg. (2022, April 14). Wikimedia Commons, the free media repository. Retrieved
04:32, July 5, 2022 from https://commons.wikimedia.org/w/index.php?title=File:Bloch_
Sphere.svg&oldid=648896037
Fluck, A. (2022). Pedagogical Adaptation to ICT in Australia. In Paper accepted for presentation
at the World Conference on Computers in Education, 20th–24th August 2020. Available as
EasyChair Preprint no. 8325. https://easychair.org/publications/preprint/bZpg
Freeth, T., Higgon, D., Dacanalis, A., et al. (2021). A model of the cosmos in the ancient
Greek Antikythera mechanism. Scientific Reports, 11, 5821. https://doi.org/10.1038/
s41598-­021-­84310-­w
Hare, J. (2021). Quantum computing leap puts ANU spin-off on $1b
track. Australian Financial Review. https://www.afr.com/technology/
quantum-­computing-­leap-­puts-­anu-­spin-­off-­on-­1b-­track-­20210323-­p57d6v
Huggins, W. J., O’Gorman, B. A., Rubin, N. C., et al. (2022). Unbiasing fermionic quantum
Monte Carlo with a quantum computer. Nature, 603, 416–420. https://doi.org/10.1038/
s41586-­021-­04351-­z
Kadijevich, D. M. (2022). Applying hybrid programming in high schools: An empirical study ana-
lyzing teachers’ opinions. In T. Keane & A. Fluck (Eds.), Teaching coding in K-12 schools –
Research and application. Springer-Nature.
Kiałka, F., Fein, Y. Y., Pedalino, S., Gerlich, S., & Arndt, M. (2022). A roadmap for univer-
sal high-mass matter-wave interferometry. AVS Quantum Science, 4, 020502. https://doi.
org/10.1116/5.0080940
Kim, Y., Bertagna, F., D’Souza, E. M., Heyes, D. J., Johannissen, L. O., Nery, E. T., Pantelias, A.,
Sanchez-Pedreño Jimenez, A., Slocombe, L., Spencer, M. G., et al. (2021). Quantum biology:
An update and perspective. Quantum Report, 3, 1–48. https://doi.org/10.3390/quantum3010006
Kobayashi, T., Salfi, J., Chua, C., et al. (2021). Engineering long spin coherence times of spin–orbit
qubits in silicon. Nature Materials, 20, 38–42. https://doi.org/10.1038/s41563-­020-­0743-­3
410 A. E. Fluck

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

A Coding toys, 4, 24, 25, 28, 32, 33, 36


Animation, 199 Cognitive load, 2, 8, 165, 269, 362, 368,
App Inventor, 7, 98, 99, 120, 121, 264, 265, 390–396, 398, 399
273, 305, 308–313, 315, 316 Computer science (CS), xiv, xvi, xix–xxi, 1,
App prototyping, 97, 98, 101–107 5–8, 48, 74, 83, 100, 122, 145, 154,
Arduino, 44, 45, 52, 53, 225, 230, 231, 237, 172, 191, 192, 210, 225–241, 246,
239, 346 256–259, 263, 266, 289, 291, 298, 299,
Artificial intelligence (AI), 6, 263, 265–267 320, 331, 343, 344, 348, 357, 361,
374, 387
Connectivism, 83
B Constructionism, xvi, 82
Bebras challenge, xxii, 145, 147–150, 154 Creating digital products, 116, 269
Blue-Bot, 216–218 Creativity, reasoning, and collaboration, 209
Bring Your Own Designated Device
(BYODD), 213
D
Design-based research, 4, 24, 37, 66, 177,
C 185, 233–234
Chatbots, 6, 263–265, 267–270, 274 Design patterns, 172, 174, 179,
Codeboard.io, 7, 290, 294–297, 299, 300 183–185, 373
Coding, xv, xviii, xxiii, 1–6, 8, 9, 14, 23–26, Design thinking, 5, 7, 97, 99, 103, 110, 158,
28–36, 39, 40, 42, 47, 48, 51, 52, 54, 55, 160, 163, 166, 167, 306, 307, 309, 311,
63–65, 70, 71, 75, 76, 81–84, 86–88, 90, 314, 344
93, 94, 98, 99, 106, 108, 109, 118, 119, Digital competence, 128
121, 148, 158–163, 166, 167, 171, 172, Digital fluency, 82
174–176, 178, 179, 181–183, 185, 191, Digital storytelling, 70, 75, 134
192, 194, 195, 199, 200, 207, 209, 210,
212, 214, 216, 218, 220, 235, 245–253,
255–259, 270, 272, 280, 285, 287, 299, E
331–340, 344–348, 350, 353–356, 365, Early childhood, 9
390, 393–395, 401–408 Educational robotics, 2, 4, 9, 16, 50–54,
Coding skills, 24, 40, 47, 48, 54, 99, 248, 148, 274
259, 344 Extracurricular, 113–125, 225, 306, 310

© 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

Software engineering, 7, 209, 305–307, 311, U


313, 314, 349, 383 Unplugged, 8, 43, 54, 84, 86, 94, 99,
Spatial thinking, 3, 19–21 129, 133, 141, 192, 198, 199,
Systems thinking, 158, 160, 164, 166–167, 201, 331–340
181, 344

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

You might also like