=Paper=
{{Paper
|id=Vol-2531/paper1
|storemode=property
|title=Teaching Software Engineering Principles in Programming and Non-Programming Activities at Schools
|pdfUrl=https://ceur-ws.org/Vol-2531/poster01.pdf
|volume=Vol-2531
|authors=Claus Pahl,Ilenia Fronza
|dblpUrl=https://dblp.org/rec/conf/seuh/PahlF20
}}
==Teaching Software Engineering Principles in Programming and Non-Programming Activities at Schools==
Teaching Software Engineering Principles in
Programming and Non-Programming Activities at
Schools
Claus Pahl Ilenia Fronza
Faculty of Computer Science Faculty of Computer Science
Free University of Bozen-Bolzano Free University of Bozen-Bolzano
Bozen-Bolzano, Italy Bozen-Bolzano, Italy
Abstract—Software engineering principles are relevant to We consider teaching formats that aim at achieving com-
students at school, irrespective of whether they will become puter science objectives and specifically foster SE principles,
professional developers. We discuss two types of situations for while also guaranteeing the achievement of the existing cur-
teaching software engineering principles that we covered in a
number of publications. Firstly, we discuss app development and ricular learning objectives. Here, EUSE can aid the student’s
robotics examples as more traditional settings for software devel- goals, without aiming to transform them into professional
opment. Secondly, we show how the creation of infographics and software engineers with targeted direct courses.
videos represents an opportunity to promote agile approaches. The EUSE field has largely focused on adult, mainly
In schools, computer science subjects are often taught in the professional contexts, only a few contributions are dedicated
context of other subjects, which we address through the second
situation above. We focus on a range of activities that aim at to schools. Most of these studies target the teaching of agile
fostering software engineering principles, while also considering methods, which turn out to be suitable for schools. For
the achievement of the existing curricular learning objectives. example, we propose a framework in which a series of agile
Index Terms—Software Engineering; Software Engineering methods can be adapted for middle schools. We have published
Training and Education; End-User Software Engineering. on the two settings outlined [1]–[4] and will describe the main
I. I NTRODUCTION approach and insights here. We will cover programming and
non-programming activities.
Bollin et al. [6] looked at the need for teaching Software
Engineering (SE) principles in schools. Their feasibility analy- II. S OFTWARE E NGINEERING P RINCIPLES IN S CHOOLS
sis revealed that this is effective in training skills needed today In order to bring the benefits of a Software Engineering
beyond the actual software development. These skills include (SE) approach to end-users, Burnett and Myers recommend
for instance group dynamics, psychology and communication to consider and respect the student’s (i.e., end-users in EUSE
skills as well as general soft skills, but also logic, planning, terminology) goals and working style [8]. The latter can often
modelling, and computational thinking as a problem solving be opportunistic and incremental, collaborative, and organised
ability. End-User Software Engineering (EUSE) [7] refers to into trial-and-error phases. Agile methods are consequently a
non-professional, untrained developers – thus a definition that good candidate in this endeavor, simply because they inher-
applies to students at school from primary to high school lev- ently favor a flexible, iterative approach. Their focus is also
els. The challenge of EUSE in schools is often understanding more on the product than on the production of documentation.
how to leverage existing curricular activities (that do not have The latter would negatively impact on students’ motivation.
software development as their main objective) to foster Soft- The existing attempts to introduce agile principles to schools
ware Engineering principles if focussed programming courses have been compared with a long waterfall development ap-
are not part of the curriculum. proach. Though here the focus was more in the final product,
Central in this effort for schools are the acquisition of rather than the process through which students developed the
software quality notions from a product perspective, but also product. Adopting agile, as we propose, fills this gap. This is
SE principles from a process perspective. This aim creates also more transferable, e.g., to non-STEM subjects, since the
a number of challenges. Often, direct SE lectures should be agile focus is less in technical product quality. As a conse-
avoided as school pupils often do not realise the usefulness of quence, software engineering principles also become relevant
learning SE principles. Furthermore, when computing topics for non-technology oriented students. Software engineers do
are taught as part of other subjects, meeting their core curric- not just write programs; they think in terms of satisfying
ular learning objectives becomes difficult. needs and solving problems. Moreover, following a (software)
The work presented here has been supported by the COCONATS project engineering process teaches how to manage all the steps from
(https://coconats.inf.unibz.it/), Free University of Bozen-Bolzano. initial customer inception to the release of the finished product.
S. Krusche, S. Wagner (Hrsg.): SEUH 2020 68
Copyright © 2020 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
Introduction (2h): tips on infographics/videos but no SE/Agile
The selection of infographics and videos for our sample
Paper-based prototype (6h): small releases (20-min cycles), user
courses had the following reasons. 1) They are transversal stories (storyboards), on-site customer (10-min with teacher)
to many disciplines, and can be adapted to different types Creation of infographic (4h): small releases (20-min cycles),
of schools, e.g., creating videos and infographics takes into testing, on-site customer (10-min revision) + peer evaluation
account the need for visual communication skills. 2) They also Presentation (2h): conformance with the initial requirements and
paper-based prototype user stories and testing
engage them to learn subjects they are not particularly gifted
at. Videos and infographics are good candidates, as the current Based on frequent small releases, it provides an opportunity
generation of students has grown up with digital media. for formative assessment. Focusing on the process side (rather
than on the product), we have selected a set of XP practices,
III. A PPROACH which are recommended to be adopted together. The table
In this work, we focus on middle and high schools, covering below shows the XP practices that can be implemented.
an age range of 10 to 17 years, with the additional goal Practice Description
of connecting to students before they choose their future On-site The customer (i.e., teacher) is always present to
customer provide continuous and direct feedback.
career. However, apart from enticing students into computer
Testing Acceptance testing (to allow continuous feedback),
science studies, we realise that not all will become professional and test-first (to test as soon as possible thus
developers, but will nonetheless need to be equipped with minimizing long-term testing costs).
capabilities suitable for a digitalised world. User stories Informal prototypes (e.g., storyboards) that de-
We discuss here two different types of activities: scribe requirements.
Small Decomposition of activities in short iterations in
• apps and robots as computing topics, with a clear link to
releases order to obtain timely and continuous feedback.
programming and development [5],
• information and media, as concerns of the wider digital IV. R ESULTS AND C ONCLUSIONS
world, without any concrete software connection [3], [4]. We introduced two separate contexts in order to foster soft-
A. Robotics, Apps and Blogs ware engineering skills and principles in schools: a computing-
oriented robotics/apps module and a digital media-oriented
The goal of one proposed teaching module is completing a
creation of infographics and videos. In both cases, this was
robotics project. This is accompanied by documenting these
an opportunity to promote process-oriented principles (here
development activities in a blog, which is often also of
agile) in middle and high schools.
curricular value in school. Writing a blog can link to the
Our assessment included both product and process aspects.
students’ interests and social communication habits, and thus
We observed a quality improvement of the product throughout
engage them better in the technical work. Here, using smart
the iterations. The results also show that students started
phones or other mobile devices to document project activities
adopting a software engineering approach, and managed to
also helps towards a more competent and responsible use of
organize their activities in order to be able to present a
these devices. The blogs are anyway a good opportunity for
prototype at the end of each iteration.
an integration in a traditional curricula.
Our future work includes the further verification of
A module focusses on combining robotics with digital
how fostering SE practices through programming and non-
media, consisting of four main parts:
Introduction and team creation (4 hours); programming activities can be beneficial to students when they
Blogs: introduction and first posts (6 hours); start programming. More experiments would be beneficial to
Unplugged introduction to robotics (4 hours); further clarify the effectiveness.
Robotics project (6 hours).
R EFERENCES
Here, from a software engineering perspective, a software
[1] I Fronza, N El Ioini, C Pahl, L Corral. Bringing the Benefits of Agile
process is clearly applicable. This could be in the form of agile Techniques Inside the Classroom: A Practical Guide. Agile and Lean
methods with a focus on early implementation and testing, Concepts for Teaching and Learning, 133-152. 2019.
with intensive interaction with the ‘customer’, which is the [2] A Colombi, I Fronza, C Pahl, D Basso. COCONATS: Combining
Computational Thinking Didactics and Software Engineering in K-12.
instructor in this case. The challenge is here the assessment. 19th SIG Conference on Information Technology Education. 2018.
Generally software quality aspects could be applied, more [3] I Fronza, C Pahl. End-User Software Engineering in K-12 by Leveraging
research is here needed to develop assessment methods that Existing Curricular Activities. ICSOFT, 283-289. 2019.
[4] I Fronza, C Pahl. Teaching Software Engineering Principles in Non-
will work in a school’s curriculum. Vocational Schools. CSEDU. 2019.
[5] I Fronza, L Corral, C Pahl. Combining Block-Based Programming
B. Digital Media and Hardware Prototyping to Foster Computational Thinking. SIG
We applied a set of agile (eXtreme Programming XP) prac- Conference on Information Technology Education (SIGITE ’19). 2019.
[6] A. Bollin, S. Pasterk, P. Antonitsch, B. Sabitzer. Software engineering
tices in these courses: a) Incremental development, through in primary and secondary schools-informatics education is more than
small releases, frequent testing, and user stories; b) Customer programming. Intl Conf on SE Education and Training, 2016.
involvement, by having the instructor playing this role; and c) [7] S. Chimalakonda, K. V. Nori. What makes it hard to teach software en-
gineering to end users? some directions from adaptive and personalized
Change, through regular system releases, test-first, refactoring, learning. IEEE Conf on SE Education and Training, 2013.
and continuous integration. [8] M. M. Burnett, B. A. Myers, B. A. Future of end-user software
The infographics and video course is organised as follows: engineering: beyond the silos. In Future of Software Engineering. 2014.
S. Krusche, S. Wagner (Hrsg.): SEUH 2020 69