Slide 1

Slide 1 text

Training Software Engineers using Open-Source Software: The Professors’ Perspective @gustavopinto @igorsteinmacher @gerosa_marco @ffilho_

Slide 2

Slide 2 text

Traditional SE courses - Emphasis on the fundamentals - Little time available to teach in-depth details @gustavopinto

Slide 3

Slide 3 text

Traditional SE courses Software industry needs - Emphasis on the fundamentals - Little time available to teach in-depth details - Eager to hire developers experienced with legacy code - Little time available to train developers @gustavopinto

Slide 4

Slide 4 text

Traditional SE courses Software industry needs - Emphasis on the fundamentals - Little time available to teach in-depth details - Eager to hire developers experienced with legacy code - Little time available to train developers What is this ELK stack? @gustavopinto

Slide 5

Slide 5 text

Traditional SE courses Software industry needs - Emphasis on the fundamentals - Little time available to teach in-depth details - Eager to hire developers experienced with legacy code - Little time available to train developers What is this ELK stack? What is this big O notation? @gustavopinto

Slide 6

Slide 6 text

Why not introducing students to free/open source software?

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Can we use open-source software to better support software engineering courses? @gustavopinto

Slide 9

Slide 9 text

Semi-structured Interviews Do you use OSS in any course? Yes, I do! @gustavopinto

Slide 10

Slide 10 text

How to find professors? Do you know any other prof? Hm.. Let me see.. @gustavopinto

Slide 11

Slide 11 text

7 professors interviewed (P1 — P7) @gustavopinto

Slide 12

Slide 12 text

7 professors interviewed (P1 — P7) @gustavopinto

Slide 13

Slide 13 text

7 professors interviewed (P1 — P7) @gustavopinto

Slide 14

Slide 14 text

Research Questions RQ1. What makes a good OSS project for training SE students? @gustavopinto

Slide 15

Slide 15 text

RQ1. What makes a good OSS project for training SE students? Research Questions Too complex Not maintained anymore Unfriendly community @gustavopinto

Slide 16

Slide 16 text

RQ1. What makes a good OSS project for training SE students? Research Questions Too complex Not maintained anymore Unfriendly community @gustavopinto

Slide 17

Slide 17 text

RQ2. What are the benefits of exposing students to OSS development? Research Questions @gustavopinto

Slide 18

Slide 18 text

RQ2. What are the benefits of exposing students to OSS development? Research Questions @gustavopinto

Slide 19

Slide 19 text

RQ3. What are the challenges associated with exposing students to OSS? Research Questions @gustavopinto

Slide 20

Slide 20 text

RQ3. What are the challenges associated with exposing students to OSS? Research Questions @gustavopinto

Slide 21

Slide 21 text

RQ1. What makes a good OSS project for training SE students? Professors mediated project selection @gustavopinto “We go through some recent pull requests, and then get an intuition whether students can use work on it”

Slide 22

Slide 22 text

RQ1. What makes a good OSS project for training SE students? but students had some degree of freedom “there was a student team that liked networks and they chose NS3, which is a network simulator that has never occurred to me as a project to be selected.” [P2] Professors mediated project selection @gustavopinto “We go through some recent pull requests, and then get an intuition whether students can use work on it”

Slide 23

Slide 23 text

RQ1. What makes a good OSS project for training SE students? “I know that is tempting to choose a popular project, but these tend to be harder to make contributions or to get contributions accepted.” [P3] Should be a balance between project popularity and relevance of a contribution @gustavopinto

Slide 24

Slide 24 text

RQ1. What makes a good OSS project for training SE students? “If you pick a small project, maybe the contributions would have little relevance” @gustavopinto Should be a balance between project popularity and relevance of a contribution “I know that is tempting to choose a popular project, but these tend to be harder to make contributions or to get contributions accepted.” [P3]

Slide 25

Slide 25 text

RQ1. What makes a good OSS project for training SE students? “the only thing I ask the maintainer is to provide faster feedback than usual” [P5] P5 and P4 get in touch with core member before letting students select a project “we present the projects that are closer to the contacts.” [P4] @gustavopinto

Slide 26

Slide 26 text

RQ2. What are the benefits of exposing students to OSS development? We engage students with real projects “You teach your students how real world software is developed” [P4] @gustavopinto

Slide 27

Slide 27 text

RQ2. What are the benefits of exposing students to OSS development? We engage students with real projects “You teach your students how real world software is developed” [P4] OSS is a good way to introduce new tools “it is a good way to teach version control systems” [P5] @gustavopinto

Slide 28

Slide 28 text

RQ2. What are the benefits of exposing students to OSS development? Students develop their technical skills “They have to understand what the others had done, how is the architecture […]. This enforces them to develop a much more mature set of skills and reasoning” @gustavopinto

Slide 29

Slide 29 text

RQ2. What are the benefits of exposing students to OSS development? Students develop their technical skills “They have to understand what the others had done, how is the architecture […]. This enforces them to develop a much more mature set of skills and reasoning” “They learn how to be part of a team, learn how to be part of a distributed project.” Good opportunity to learn social skills @gustavopinto

Slide 30

Slide 30 text

RQ2. What are the benefits of exposing students to OSS development? It is an opportunity to motivate students “you can be proud of actually contribute to something” [P1] @gustavopinto

Slide 31

Slide 31 text

RQ2. What are the benefits of exposing students to OSS development? It is an opportunity to motivate students “you can be proud of actually contribute to something” [P1] It is good for their curriculum “When interview with companies, they can say: ‘these are the projects I have contributed to. I was part of the team” [P6] @gustavopinto

Slide 32

Slide 32 text

RQ3. What are the challenges associated with exposing students to OSS? “The big challenge is finding projects, or project candidates” [P7] RQ1 @gustavopinto

Slide 33

Slide 33 text

RQ3. What are the challenges associated with exposing students to OSS? “The big challenge is finding projects, or project candidates” [P7] RQ1 active multiple PRs accepted /proposed large external contributors @gustavopinto

Slide 34

Slide 34 text

RQ3. What are the challenges associated with exposing students to OSS? “Open-source software is not a fairy tale” [P4] Students face many barriers during the process “Finding a suitable thing to do is trick” [P1] “technical level could be the main problem” [P1] @gustavopinto

Slide 35

Slide 35 text

RQ3. What are the challenges associated with exposing students to OSS? “We should engage students quickly” [P3] @gustavopinto The short duration of a course is an issue

Slide 36

Slide 36 text

RQ3. What are the challenges associated with exposing students to OSS? “We should engage students quickly” [P3] The short duration of a course is an issue Professors’ time availability is a also challenge “I’d follow students closely to try to help them. However, I can’t follow them as close as I want to” @gustavopinto

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

Training Software Engineers using Open-Source Software: The Professors’ Perspective @gustavopinto @igorsteinmacher @gerosa_marco @ffilho_