You are on page 1of 41

Does FLOSS in Software Engineering Education

narrow the Theory-Practice Gap?


.: A Study Grounded on Students' Perception :.

Debora M. C. Nascimento Christina von Flach G. Chavez Roberto A. Bittencourt


Federal University of Federal University of State University of
Sergipe, Brazil Bahia, Brazil Feira de Santana, Brazil
FLOSS and Software Engineering Education: a viable match?

Free/Libre/Open Source Software


has been instrumental for education and research

Does FLOSS provide a


real-world object of study
for formal higher
User:PSL-BA, II FSL - Bahia, CC BY nc-
sa-2.0
Software Engineering Education (SEE)?
!2
After a series of <<almost>> blind dates
Academic
ID Knowledge Area Place #participants Control
Maturity

Inside
2009 Software Evolution UFBA 20 Seniors
control
2009.1
Software
and UFBA ~30 Full control Juniors
Engineering
2009.2
MsC and
2011 Topics on SE UFBA 15 No control
PhD cand

2011 Topics on SE UFBA 15 No control Seniors

… … … … … …

!3
… we decided to scratch our own itches and …
2012
Do FLOSS projects stand for a proper real-world experience
to be used in formal education in software engineering?
PhD research on the Use of FLOSS for SEE [*]

Goals
1. …
2. Investigate whether the use of FLOSS projects in formal
education in software engineering supports students to
make a connection between theory and practice.
3. …
!4
… learn about how others scratched their itches

2013
Open Source Projects in Software Engineering Education:
A Mapping Study
Systematic Mapping Study on FLOSS + SEE [19]
— updated in 2018 [2]

Questions
RQ1. How have open source projects been used in formal
education in software engineering?
RQ2. Which of the initiatives combine open source projects
with active learning in software engineering courses?
RQ3. …
!5
Software Engineering Educators also have recurrent concerns

● Software engineering curricula, software engineer


competences, software engineer skills (technical,
soft)

● Pedagogical project, syllabus, planning, assignments,


grading …
● Time, time, time …

Here we go!

!6
The Theory-Practice Gap
A metaphor that represents the separation of the
practical dimension [..] from that of theoretical
knowledge, e.g. nursing, medicine.

[..] the difference between taught general principles and


the difficulty in interpreting them for application to a
specific situation, e.g. in the hospital, in the classroom.

[..] the gap between the theoretical and practical


components used in education.

!7
The Theory-Practice Gap in SEE: our definition

Practice is associated with


the activities performed by
students in their tasks.

Theory is associated with


classrooms, books, teachers
and teaching.

[..] the gap between the theoretical and practical


components of software engineering education. !8
The Theory-Practice Gap in Software Engineering Education

Attributes

● Theory about large, ● Practice failing to ● Students don't perceive


complex, multi-person, reflect theory the usefulness of
change, … theory
● Examples & exercises ● Theory perceived as ● Students don't perceive
are small and simple irrelevant to practice contents significance
● Practice with "toy"
projects, from scratch

Antecedents Consequences

!9
Learning Theories: Background

Cognitive Content
Experience Engagement Significance

● Learning results from ● Learning results from ● Learning results from


experience engagement in meaningful contents
• Boud [1] activities • Lefrançois [13]
• Dewey [6] • Davis [5] • Moon [15]
• Gentry [8] • Uden [24] • Uden [24]
• Moon [15] • …
• …

!10
Learning Theories

Experience

The basis and the stimulus for


learning [1] — by doing
authentic, student-centered,
hands-on activities https://mailchi.mp/thnkclrly.com/think-
clearly-experience-problem @thnkclrly

!11
Learning Theories

Cognitive
engagement

The display of a student’s use of


resources and skills in their
effort towards learning and the
learning process [24]

!12
Learning Theories

Content
significance

Only what is perceived as


significant or meaningful
to the learner is captured [24]

!13
FLOSS + SEE + Learning Theories: Related Work

Cognitive Content
Experience Engagement Significance

● Learning results from ● Learning results from ● Learning results from


experience engagement in meaningful contents
• Nascimento [18] activities • Nandigan [17]
• Pinto [22] • Nascimento [18]
• Pinto [22]

!14
Methodology
Methodology
● Two case studies

Goal

Investigate student's perception on whether the use of


OSP makes a connection between theory and practice.

Academic
ID Knowledge Area Place #participants Activity
Maturity

CS1 Software Testing UFS 15 Optional Seniors

Software
CS2 UFS 15 Compulsory Juniors
Requirements

!16
Methodology
Forces

● Students shall contribute to projects X limited


knowledge of TA and students on OSSD models and
practices
○ Inside control (fork and work)
○ partial use … only in some practical activities

● Students shall be able to choose projects that they find


interesting, meaningful, motivating and compelling X
time constraints of TA / instructors
○ Project selected by TA
!17
Methodology

CS1: software testing (optional)

Roles Activities

TA / Instructor Lectures followed by exercises

Research Definition of activities to be carried out;


Team Support to students wrt JabRef issues
Assignments:
Students review and create tests; coverage analysis;
regression plan

!18
Methodology
CS2: software requirements (compulsory)

Roles Activities

TA / Instructor Lectures followed by exercises

Research Definition of activities to be carried out;


Team Support to students wrt JabRef issues
Assignments:
Reverse engineer requirements of JabRef;
Students
Identify FR, NFR; create traceability matrix;
create diagrams
!19
Methodology
● data collection
○ survey with students
○ semi-structured interviews with students

● data analysis
○ inductive-deductive process for qualitative data

!20
Inductive: from codes to themes
Deductive: back to the literature

• align what have been Experience


Cognitive Content

engagement significance
uncovered 
 [22]

to theory or other studies Learning Theories [17]

abstract general

Theme

• coding
• category formation Category Category Category
• theme development

Code Code Code Code Code


real specific

!21
Results
Results
● Three key themes

○ The importance of practice for learning the theory (1)


○ The importance of theory to practice (2)
○ Theory and practice are both important (3)

!23
Theme 1: The importance of practice for learning the theory

CS1 CS2

Practice provides concrete examples Practice provides concrete examples


Practice helps the student to understand Practice helps the student to understand
the theory the theory
— Practice consolidates contents

Practice helps content retention Practice helps content retention

— Practice confirms the applicability of theory

Practice is essential to learning some



subjects
Practice helps students to grasp Practice helps students to grasp
the problem the problem
Practice promotes student's active

participation
!24
Theme 2: The importance of theory for practice

CS1 CS2

Theory is necessary to practice Theory is necessary to practice


Theory enables planning the things to
be performed

!25
Theme 1: The importance of Practice for learning the Theory

concretizes theory
leads to active
participation
helps students to
understand theory
consolidates contents
Practice helps contents retention
confirms the applicability
of theory

helps students grasp the


problem
Legend:
learning
enables discussion skills
!26
(A) Contributions from Practice to the Learning Process

helps to
concretizes consolidates
understand

Practice helps to retain content

promotes active
participation

!27
Contributions from Practice to the Development of Skills

lets you learn develops


how to do technical skills

helps students grasp confirms the


Practice the problem applicability of theory

develops
enables discussion
soft skills

!28
Discussion
● How do these results / evidences (EV) match up with, or
modify or contradict existing learning theories (LT)?

!29
Discussion:
Practice helps the student to understand theory

(EV) Practice with OSP helped students to 'understand the


concepts' studied (CS1 and CS2)

''(..) practice helped a lot to understand the test types,


white box, black box, interface tests, so ...
you take a closer look at the tests ...'' (ST1).

(LT) This is a situation also reported by Hepting [10].

!30
Discussion:
Practice consolidate contents

(EV) Students mention that, with the OSP, they were able to
`connect the dots and fill in the gaps' (SR8).

or that the execution of the project allowed to


`create a box and keep it into the person's knowledge
into the mind' (SR5).

(LT) Without realising it, students illustrated the


process of knowledge assimilation and accommodation
in their cognitive structure, according to the constructivist
understanding of the learning process [13].

!31
Discussion:
Practice is essential to learning some subjects
(EV) In CS1, students recognized that 'lack of practice leads to partial
learning’.
'Lectures enabled understanding about tests, but doubts emerged with practical
activities: [..] when you put into practice what was presented in class,
then the doubts begin to arise’ (ST7) .

To 'learn how to do', one needs to exercise the testing techniques:


"I think a unit testing without practice for me would be ...
wouldn't be good, I think ... I would learn half of it ...'' (ST1).

(LT) The learner will only be sure if he or she knows or does not know,
after experiencing [8] — Gentry 1990.
!32
Discussion:
Practice promotes student's active participation

(EV) In traditional classroom, the student only


'receives' information and
the knowledge 'will vanish at a certain point in time' (SR5).

Active participation is distinct from such passive attitude and


'you learn a lot more by doing than by listening' (SR2).

(LT) Active participation in any OSP will require that students


become self-taught because they will be continuously challenged
to learn some tool or develop some skill [3].

!33
Discussion:
Practice helps students grasp the problem

(EV) By working with projects that are close to reality, students could
`see how the problem really is’ and confirm that things are not as
simple as they seem, when they consider only theory.

"(..) you only see the problem when you have the problem at hand.
Knowing the theory on how to do the tests, what is needed, is nice,
but you will only really know what is needed,
when you are there in the situation" (ST2).

(LT) According to Morelli et al [16], students witness that challenging


problems rarely yield to solutions presented in textbooks.
!34
Discussion
From the perspective of the elements of learning theory
evidence supports:

1. The relevance of 'concrete experience' for meaningful learning;

2. The occurrence of the `process of assimilation and accommodation of


knowledge' in the `cognitive structure' of the learner;

3. The influence of 'content is significant' for long-term memory retention,


and finally,

4. The importance of 'cognitive engagement' for learning through the


activities performed.

!35
Conclusions
Our study investigated whether
the use of open source projects in SE education
in two case studies enabled students to
connect software engineering theory with practice
under students' own perceptions and
narrowed the theory-practice gap.

YES
(with all applicable threats to validity included)

!36
Conclusions
● Within the 2 case studies with JabRef:
○ the object of study became less dependent on
instructors and less abstract
○ The use of FLOSS supported students in making
connections between theory and practice

!37
Challenges
● The use of FLOSS in SEE may require re-structuring of
teaching and detailed planning.

● The use of FLOSS in SEE may require re-training of


faculty, and careful orientation and preparation of
students.

!38
Give back (and culture expects feedback)
Evidence-based research in SEE:
better software engineers,
better educators,
better software, better research

!39
Our Message

Learn upon
software engineering theoretical knowledge in
academia with the support FLOSS projects and
their communities (and vice-versa)

!40
Thanks for your attention
Does FLOSS in Software Engineering Education
narrow the Theory-Practice Gap?
A Study Grounded on Students' Perception

*deboramcn@dcomp.ufs.br
flach@ufba.br, roberto@uefs.br

Education is freedom User:Brandizzi, Monument for Paulo Freire in


(Paulo Freire ) Brasília, Brazil 1, CC BY 2.5
!41

You might also like