Innovation and Creativity in Software Engineering Education

Innovation and Creativity in Software Engineering Education

Gloria Piedad Gasca-Hurtado, María Clara Gómez-Álvarez, Bell Manrique Losada
Copyright: © 2021 |Pages: 33
DOI: 10.4018/978-1-7998-7552-9.ch007
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

The last decade has increased the demand of software products in several economy sectors; therefore, the need to train people in software engineering is growing. Software engineering, as a discipline, requires developing in engineers technical and social/soft competencies. For all the above, we have been working on the incorporation of new strategies in software engineering education, seeking that students build up software products aligned with organizations business processes. The core of most of such educational strategies is the ‘game' constitutes a dynamic element that changes the ways of interaction and support in the learning processes. The authors present a set of approaches centered on innovation and creativity in which they have made significant contributions along the 10 last years, from the following work branches: 1) methodological, comprising methodologies, methods, techniques, and strategies; 2) application, presenting proposals oriented to games; and 3) support, including guidelines and instruments to evaluate and help in classroom practice.
Chapter Preview
Top

Introduction

Globally, Software industry has grown in the last decade and it is expected to continue growing at a very high rate (Bosch, 2017) whereby the major software companies have defined ambitious plans and growth targets for the future. However, in the last years Software industry has shown dissatisfaction in relation to the training level of recently graduated professionals (Portela et al., 2017), identifying as its main cause the lack of proper Software Engineering (SE) education which may have severe consequences (Garg & Varma, 2008) and may negatively affect the industry growth targets.

SE education emerges as a way of contributing to this dynamic process, looking for a balance between theory and practice in the teaching-learning process (Balaban & Sturm, 2018), and provides students with the knowledge to move to mature companies with a defined structure (Devadiga, 2017). Such a process is oriented to answer mainly two questions: (i) what to teach and (ii) how to teach, for students to develop the competencies required by the software development industry in which solving complex problems and innovating based on creativity is crucial (Crawford et al., 2012).

Faced with the first question, what to teach in SE, it requires developing technical competencies and social/soft skills for the students. Technical competencies, according to Bourque and Fairley (IEEE, 2014), are related to the proper application of techniques, methods, tools, criteria, principles, and values to create and manage software applications. Social skills are centered on the ability to make decisions and produce deliverables with responsibility (Garg & Varma, 2008), as well as communication skills, leadership, managing time, negotiating with the customer, making decisions, and achievement orientation (Matturro et al., 2019). The curricular fundamentals used by Higher Education Institutions for defining what to teach are found in guidelines such as SWEBOK (IEEE, 2014) that presents a body of knowledge comprising the topics that a software engineer should know and the Software Engineering Curricula (Shackelford et al., 2006), that contains the subjects and some guidelines for the design of syllabus.

Regarding to the second question, how to teach, software engineering courses and programs have been addressed using traditional teaching strategies like lecture classes, where the professor presents concepts and the student is a passive actor in the process (Casallas et al., 2002), and, active teaching strategies like project-based learning, problem-based learning, and collaborative learning, where the students face a real software development project (Runeson, 2001; Groth & Robertson, 2001). Although these strategies have generated good results in terms of learning, there is a latent interest in developing critical competencies in today's engineer such as innovation and creativity during their professional training process. According to Sternberg (1997), creativity refers to the mental process of creation, and innovation refers to the materialization of the creative idea in a product. There can be no innovation without creativity, and as affirm Marina (2012), creativity is a capacity or skill that can be learned. Thus, the development of creativity is a function of education that must be present from the instructional design to the development of the teaching-learning process (Guerrero, 2009).

López-Díaz suggests link creativity with the teaching-learning processes, giving a central role. In this way, creative experiences help foster mental growth and develop creative thinking, which provides opportunities to try new ideas, try new ways of thinking, and solve problems (Ribes, 2011), main skills in the software engineering education. It is also necessary to rethink the teaching-learning process and practices with innovation and creativity strategies. Interesting approaches have found in the literature and it is have made proposals and applications in our close practice. This chapter is focused on such approaches mentioned.

In this sense, to improve the teaching-learning process, it is present the following work branches in innovation and creativity in the software engineering classroom in which it is have made significant contributions: 1) Methodological branch, comprising methodologies, methods, techniques, didactics, and strategies; 2) Application branch, presenting proposals oriented to games or applications implemented; and 3) Support branch, including guidelines, tools, and instruments to evaluate and help the classroom practice.

Complete Chapter List

Search this Book:
Reset