Conference PaperPDF Available

Abstract

Mobile application development (MAD) has became, or is considering to be a part of the academic curricula in Computer Science courses. However, training students on mobile application development inherits the challenges of teaching software engineering where the target computer is a device that has a large number of features accessible by software. Furthermore, the most related experience in teaching students reveals difficulties in developing software engineering competencies. In this paper we present results from a case study conducted in four universities in Brazil. We have investigated the adoption of Challenge-Based Learning (CBL) framework and agile practices for training students in software engineering applied in mobile application development environments.
Poster: Challenge-Based Learning: A Brazilian Case Study
Alan Santos
Afonso Sales
Paulo Fernandes
School of Technology, PUCRS
Porto Alegre, RS, Brazil
{alan.santos,afonso.sales,paulo.fernandes}@pucrs.br
Josiane Kroll
University of Manitoba
Winnipeg, MB, Canada
josiane.kroll@umanitoba.ca
ABSTRACT
Mobile application development (MAD) has became, or is consid-
ering to be a part of the academic curricula in Computer Science
courses. However, training students on mobile application devel-
opment inherits the challenges of teaching software engineering
where the target computer is a device that has a large number
of features accessible by software. Furthermore, the most related
experience in teaching students reveals diculties in developing
software engineering competencies. In this paper we present re-
sults from a case study conducted in four universities in Brazil. We
have investigated the adoption of Challenge-Based Learning (CBL)
framework and agile practices for training students in software
engineering applied in mobile application development environ-
ments.
CCS CONCEPTS
Social and professional topics Software engineering ed-
ucation
;
Information systems
Mobile information processing
systems;
KEYWORDS
Challenge-Based Learning, Software Development, Mobile, Agile
Practices, Software Engineering Education.
ACM Reference Format:
Alan Santos, Afonso Sales, Paulo Fernandes, and Josiane Kroll. 2018. Poster:
Challenge-Based Learning: A Brazilian Case Study. In ICSE ’18 Companion:
40th International Conference on Software Engineering Companion, May
27-June 3, 2018, Gothenburg, Sweden. ACM, New York, NY, USA, 2 pages.
https://doi.org/10.1145/3183440.3195061
1 INTRODUCTION
In spite of the accumulation of knowledge generated in recent
years, the mobile application development (MAD) industry contin-
ues growing over the years. In this direction, the traditional devel-
opment model seems not to be attractive anymore, as long planning
and development cycles result in applications out of date [2].
The development software process transformation in the IT in-
dustry raises new questions that needs to be answered attend to the
Permission to make digital or hard copies of part or all of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for prot or commercial advantage and that copies bear this notice and the full citation
on the rst page. Copyrights for third-party components of this work must be honored.
For all other uses, contact the owner/author(s).
ICSE ’18 Companion, May 27-June 3, 2018, Gothenburg, Sweden
© 2018 Copyright held by the owner/author(s).
ACM ISBN 978-1-4503-5663-3/18/05.
https://doi.org/10.1145/3183440.3195061
market changes. Therefore, these changes generate a need to reeval-
uate development processes and how to better prepare computer
science students to work in this market [5].
In the academia, software engineering (SE) concepts are usually
teach through theoretical disciplines, with lectures, supplementary
readings, and theoretical exercises that span practical competence
in a limited space of time [
3
]. In this sense, when exposed to the
industry, students nd a scenario in which learned techniques and
methods may be little applied [
6
]. For Beckman et al. [
1
], one of
the ways to increase the quality of teaching is by improving the
teaching and learning processes through innovative didactic and
strategies.
Active learning techniques such as Problem-Based Learning,
Project-Based Learning (PBL) and Challenge-Based Learning (CBL)
engage students and improve their performance positively. This
type of techniques moves students beyond a watchful role in tradi-
tional classes to activities that engage students in real problems [
7
].
In this study, we focus on CBL approach. CBL aims to enable stu-
dents to conduct research by integrating practices with theory and
application of knowledge and skills, such as collaboration, problem
solving and exibility, and taking action in the community context.
Another point that dierentiates CBL from other practices is
that it is eective in learning environments with technology [
4
],
which allows for agility in the learning process as students skills
are obtained through working in real world problems.
In order to contribute to the SE area and help students to improve
their SE skills, this work presents results from a case study that
combines the CBL and agile practices in mobile application devel-
opment (MAD) environments. For this, an approach using CBL and
agile practices was developed to evaluate how this junction might
be adopted in MAD environments.
2 THE CASE STUDY
We conducted a case study in four universities located in the North,
Northeast, Southeast, and South of Brazil. These universities pro-
vide training courses in MAD where students have the opportunity
to develop iOS applications as part of their assignments. The train-
ing course is oered to graduate and undergraduate students and
the only requirement for students is to have basic programming
logic skills. This project is a pioneer initiative in the country and it
is held in a unique learning environment, congured to provide a
variety of work environments.
Each training course has one year duration, with class sizes
ranging from 40 to 100 students organized in dierent teams. The
course is divided into two main phases. The rst phase focuses
on the theoretical basis through workshops and small application
155
2018 ACM/IEEE 40th International Conference on Software Engineering: Companion Proceedings
ICSE ’18 Companion, May 27-June 3, 2018, Gothenburg, Sweden Alan Santos, Afonso Sales, Paulo Fernandes, and Josiane Kroll
projects development, while the second phase focuses on more
robust projects with a bigger application scope. In the second phase
students are allocated to teams where they have six months to
develop their projects.
The course curriculum includes Object Oriented Programming,
User Interface Components, Model View Controller (MVC), data
sources, navigation, animations and frameworks topics. Students
are also trained in CBL and agile practices. Instructors played as
experts for all students groups, overseeing projects and providing
feedback. The size of student teams varies between two and ve
members, since the students are free to choose their own teams.
The course requires 20 hours dedication per week (four hours a
day). The course is facilitated by instructors, which have dierent
levels of industry and academic experience, also it is important
to remark that each university has dierent teachers running the
program. All teachers have previous iOS development training and
CBL training and most of them have some experience with agile
software development.
Universities were selected following convenience criteria. The
data collection consisted of primary sources through interviews.
We conducted 32 semi-structured interviews with students from
dierent teams. Each university provided a facilitator to support
the interviews process and all interviews were transcribed.
3 RESULTS
Our results show the adoption of CBL combined with agile practices
helps in rapidly identifying problems, constant feedback, develop-
ment speed, project organization and transparency, communication,
product delivery, exibility and performance, iterative planning
and continuous improvement, and improve quality.
Agile practices support CBL implementation specially for MAD.
These type of environment is dynamic in terms of constant plat-
form and constant requirements updates, which requires a set of
exible software practices. Since CBL is based on active learning
approaches, agile practices t through the dynamics of exible
software development environments.
We also found that dierent agile practices were adopted by
the participants on the project development, such as: automated
builds (15.62%), using of burndown chart (21.87%), daily meeting
(81.25%), collocation (81.25%), continuous integration (34.37%), Kan-
ban (68.75%), pair programming (46.87%), refactoring (25%), Test
driven development (TDD) (3.1%), small releases (43.75%), and iter-
ative planning (59.37%).
When comparing CBL with traditional teaching methods, par-
ticipants report that it teaches them how to learn. However, the
mentor will help teams to reect where to go. In this sense, mentors
(also instructors) need to have a good knowledge in order to be
able to support dierent students demands.
At the end of the training course, we found that students have
improved their learning, according to their own perception of appli-
cation development and agile development. Using a scale between 0
and 10, in average, students assessment score 2.37 before the course
starts and score 7.76 at the end of the course. This result shows that
students have increased their knowledge, considering a standard
deviation of 2.32 (before training) and 1.36 (after training).
We also identied six recommendations to support this approach.
To do so, we asked the students if they could do something dier-
ently next time, and they pointed the following:
Promoting team engagement;
Adoption of version control system early in the process;
Promote team reections during the learning process;
Keep focus on the learning process;
Reduce failure by reducing teams exchange; and
Adoption of the right tools and more agile practices to sup-
port the projects learning and execution.
The analyze of student and instructor role has shown that their
roles are more active compared to the traditional teaching ap-
proaches. It happens because instead of students following instruc-
tors content exposure, students need to have attitude, which causes
students engagement on knowledge construction. Due to the fact
that our approach exposes a situation where students have to build
their own knowledge, it increases their engagement. The instructor
focuses more on steering a knowledge path.
4 CONCLUSION AND FUTURE WORK
In this study, we present results of a case study conducted in four
universities located in Brazil. Our study investigated the adoption
of CBL combined with agile practices for training students in MAD
environments.
Our results show that our approach which combines CBL and
agile practices support the learning process in SE. Thus, we con-
clude that our approach can be used as a training approach for
developing mobile applications, teaching agile practices, as well
as SE practices. In addition, the user experience and how students
evaluated their learning at the end of the training course, provide
us a set of recommendations to support our approach.
As future work, we are planning to expand the evaluation of
our approach not limited to MAD environments, but also to other
application development domains. Future studies will look for bet-
ter understand how our approach can improve the learning and
teaching process on other software development environments.
Additionally, we are looking for explore how our approach can help
us to promote a change in the current teaching practices adopted
in classroom.
REFERENCES
[1]
H. Beckman, N. Coulter, S. Khajenoori, and N.R. Mead. 1997. Collaborations:
closing the industry-academia gap. Software, IEEE 14, 6 (Nov 1997), 49–57.
[2]
Barry Burd, João Paulo Barros, Chris Johnson, Stan Kurkovsky, Arnold Rosen-
bloom, and Nikolai Tillman. 2012. Educating for Mobile Computing: Addressing
the New Challenges. In Proceedings of the Final Reports on Innovation and Technol-
ogy in Computer Science Education 2012 Working Groups (ITiCSE-WGR ’12). Haifa,
Israel, 51–63.
[3]
Shihong Huang and Damiano Distante. 2006. On Practice-Oriented Software
Engineering Education. In 19th Conference on Software Engineering Education and
Training Workshops (CSEETW’06). 15–18.
[4]
L. Johnson and S Adams. 2011. Challenge Based Learning: The Report from the
Implementation Project. Technical Report. The New Media Consortium, Austin,
TX, USA.
[5]
Laura Naismith, Peter Lonsdale, Giasemi Vavoula, and Mike Sharples. 2013. Liter-
ature Review in Mobile Technologies and Learning. Technical Report. University of
Birmingham.
[6]
Mohammad Nauman and Muhammad Uzair. 2007. SE and CS Collaboration:
Training Students for Engineering Large, Complex Systems. In 20th Conference on
Software Engineering Education and Training (CSEET’07). 167–174.
[7]
M. Nichols, K. Cator, and M. Torres. 2016. Challenge Based Learning Guide. Digital
Promise, Redwood City, CA, USA.
156
... Some examples make use of the Apple paper, while others relate to the multidisciplinary approach of CBL and/or presents the theoretical roots of CBL, like problem-based learning (Luis & Marrero, 2013) or inquiry-based learning. Like in Santos et al. (2018): Active learning techniques, such as Problem-Based Learning, Project-Based Learning (PBL) and Challenge-Based Learning (CBL) engage students and improve their performance positively. This type of technique moves students beyond a watchful role in traditional classes to activities that engage students in real problems (p. ...
Article
Full-text available
This review maps patterns in research on Challenge Based Learning (CBL) in higher education (HE) between 2009 and 2020. How is CBL defined in HE settings? How is CBL in HE grounded scientifically in the research? The results show a shift of CBL from being a concept coined by a multinational technology company targeting learning in schools, to being embraced by HE, first and foremost as a method for transformation of adult learning. A critical scientifically grounded approach towards learning is however absent or marginally present in the papers reviewed.
... One of the methodologies that combines the educational process with interactive learning and applied to everyday challenges is the Challenge Based Learning (CBL) [12]. This methodology works well not only in real world projects, but also in educational settings [15,16]. CBL encourages problem-solving through activities such as reflections, self and team evaluations and challenges carried out during the process [11]. ...
Conference Paper
Teaching entrepreneurship to computer science or software engineering students is challenging. Lecturers must find ways to effectively present the importance of focusing on the customers' problems and needs and work backwards to the technology. Additionally, the experience in the classroom has to be engaging and students must feel motivated to work on their given solution. We conducted a study describing the path of 30 software engineering students through an undergraduate software startup entrepreneurship course that applied Challenge Based Learning methodology to guide students' projects. Data was collected from both students and the lecturer through a semi-structured questionnaire applied at the end of each deliverable. Our preliminary results indicate that Challenge Based Learning methodology can strengthen students' collaboration and engagement in addition to helping in the process of learning how to develop a startup.
Article
The application of Challenge-Based Learning (CBL) has increased in higher education institutions, fostering student transversal competencies, knowledge of sociotechnical problems, and collaboration with industry and community actors. However, a broad range of different frameworks, hybrid approaches, and educational interventions are using this term to define their approach. This lack of standardization creates definitional and conceptual challenges for the domain. A review of CBL literature was conducted to examine key characteristics, challenges and benefits, and educational factors. A total of 100 articles were reviewed using a qualitative thematic matrix. Results describe CBL benefits despite many institutional, practical and academic challenges. Although there was much variability in CBL approaches, eight common characteristics emerged from the literature. This research can support future research and implementation of CBL by providing a guiding conceptual framework and a preliminary classification of CBL approaches.
Book
Full-text available
The official guide to Challenge Based Learning provides an overview of the framework and a a process for getting started.
Conference Paper
Full-text available
Computers that once filled rooms now fit in our pockets, and unlike their predecessors, mobile computers abound. The mobile industry is surging, with more smartphones being sold to consumers than PCs [17]. But does the rise of mobility impact computer science education? We claim that computer science educators must seriously consider mobility as they examine their curriculum. In this working group report, we offer a brief defense of why mobile computing belongs in our courses, summarize our survey of several hundred courses which already incorporate it, and discuss how educators might adopt it in their own courses. We hope that this work will help computer science educators make informed decisions about incorporating mobile computing into their courses and provide examples of such integration on different levels, ranging from individual projects or lecture topics to mobile computing as a learning context for an entire course.
Conference Paper
Full-text available
The old saying "practice makes perfect" has been proven to be true in many fields when training new people to master the skills needed for a particular domain. It is even truer for software engineering education. Software engineering, by and large, is the application of engineering to software. Unlike other disciplines in the computer sciences, only by coupling theory and practice can students (who usually lack real-world working experience) understand some of the abstract concepts and principles taught in software engineering courses. This paper summarizes our experience in teaching software engineering courses in two different universities using a practice-oriented approach that guides students through learning the different, and yet abstract, aspects of the software engineering process.
Article
When it comes to software engineering education, there is a gap between what industry needs and what universities offer. To close this gap, the authors propose a comprehensive collaboration between academic software engineering programs and industry. They offer a model for this collaboration and highlight three real-world ventures
Conference Paper
Today's software industry is characterized by fast growth and diversity. To engineer software in such an environment, software engineers are required to work with large teams and handle large complex systems, involving common off-the-shelf components, open source software and outsourced resources. This poses a serious challenge for software engineering institutions. In this paper, we outline a framework for collaboration among computer science and software engineering programmes within a university with the goal of training students for engineering large, complex systems. We chart a three phase layout for the framework in which students of both programmes work together to simulate the industry's practices by designing, building, integrating and testing a large, complex system. We consider the issue of evaluating students in such a framework and give alternatives for certain variables so as to fit the framework in different environments.
Challenge Based Learning: The Report from the Implementation Project
  • L Johnson
  • Adams
L. Johnson and S Adams. 2011. Challenge Based Learning: The Report from the Implementation Project. Technical Report. The New Media Consortium, Austin, TX, USA.