Lessons Learned About Gamification in Software Engineering Education

Lessons Learned About Gamification in Software Engineering Education

Beatriz Marín
DOI: 10.4018/978-1-6684-3710-0.ch071
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Software engineering courses traditionally mix theoretical aspects with practical ones that are later used in the development of projects. Teaching software engineering courses is not easy because in many cases the students lack motivation to exercise the topics prior to project development. This chapter presents the application of gamification on some topics of a software engineering course to engage students and increase their motivation. The authors argue that with the proper motivation, the students can better exercise the topics and obtain stronger knowledge. The authors have created five games to help in the learning process of the software engineering course. The games are related to risk management, BPMN modeling, Scrum process, design and inspection of class diagrams, and COSMIC functional size measurement. Gamification has been applied during four years in the software engineering course, resulting in an improved learning experience for the students. Finally, lessons learned are presented and discussed.
Chapter Preview
Top

Introduction

Nowadays students have many distractions and it is difficult to capture their attention for long periods by using traditional teaching methods, such as a lecturer in front of the class using a blackboard to present the contents (Kirkwood & Price, 2005). Different elements to engage students with the contents and motivate their learning process are needed.

Software engineering courses at university level traditionally focus on theoretical and practical contents that the students put in practice in small projects and later apply in capstone projects (Schefer-Wenzl & Miladinovic, 2018). Teaching software engineering courses is not an easy task, since the students must learn complex concepts related to software development, concepts related to project management, as well as soft skills such as leadership, teamwork, and negotiation, among others (Marques et al., 2018). Despite the importance of the software engineering contents, in many cases the students lack motivation to exercise these contents prior to the development of the capstone project.

Gamification has been defined as the use of game elements such as badges or leaderboards to increase the motivation or engagement of students with regard to certain topics (Deterding et al., 2011) (Dicheva et al., 2015). Serious games are defined as games created for teaching/learning serious topics through a gamified learning experience (Fitz-Walter et al., 2011) (Landers, 2014). Considering the advantages demonstrated by the use of gamification and serious games in computer science education (Vargas-Enríquez et al., 2015) (Reis da Silva et al., 2015) (B. Marín et al., 2019), we argue that gamification and serious games are a good alternative to increase the motivation and engagement of software engineering students.

Much research has been conducted on the use of gamification on software engineering education, which mainly provides experiences about gamification or serious games for isolated topics of software engineering. The purpose of this chapter is to present the application of gamification to different topics of a software engineering course. The researchers of this chapter have designed, developed, and applied five serious games for five different topics of software engineering in order to foster the students’ motivation at a software engineering course. These games are the following ones:

  • 1.

    The RISE game, related to the identification and management of risks in software projects.

  • 2.

    The Scrumption game, focused on the management of a project following the Scrum process for software development.

  • 3.

    The BPMN game, related to the correction of BPMN diagrams, in which the student must decide what kind of conceptual construct better represents a specific business scenario.

  • 4.

    The Classutopia game, focused on the design of class diagrams and defect detection on the diagrams.

  • 5.

    Finally, the BTP game, related to functional size measurement and effort estimation by using the COSMIC measurement method.

Among these five games, the RISE game is the only one that must be played in teams; the remaining four games are played individually. The authors have applied these games in a software engineering course during four years, obtaining as a result that the use of gamification improves the learning process through a better engagement of students with the contents to be learned. Motivation for learning these and other topics of the software engineering course has also been increased. However, the authors also found some drawbacks in the use of gamification in software engineering courses, e.g. when it is used as the only means to teach, without lectures.

This chapter aims to demonstrate the feasibility of the use of gamification in software engineering as well as to provide lessons learned. Therefore, the contribution of this chapter is twofold: 1) it presents the design, development, and application of gamification and serious games for specific software engineering topics, and; 2) it presents lessons learned about the application of gamification and serious games in software engineering, including the limitations or drawbacks identified. These contributions can be useful for researchers, lecturers, and practitioners.

Complete Chapter List

Search this Book:
Reset