Teaching and Promoting Engagement with OSS:

Yet Another Experience Report

(*) Christina von Flach (IC-UFBA)

Daniela Feitosa (PGCOMP-UFBA)

Campo Grande, 29/9/2023

Teaching and Promoting Engagement with OSS: Yet Another Experience Report

  • teaching with OSS
  • and promoting engagement with OSS
  • yet another experience report

We report our latest experience with OSS-based learning in a SE course entitled Topics in Software Engineering (TSE).

Teaching with OSS

The need to reconcile theory and practice, using “real-world” scenarios to stimulate the improvement of technical and soft skills is demanding for Software Engineering (SE) and Computer Science Education.

Previous experience

Open Source Software (OSS)

The availability of source code and the access to its community and development workflows are appealing factors for adopting OSS in SEE.

2017.

We report our latest experience with OSS-based learning in a SE course entitled Topics in Software Engineering (TSE).

And promoting engagement with OSS

JabRef

Nieuwpoort, Rob van and Katz, Daniel S. Defining the Roles of Research Software. DOI: 10.54900/9akm9y5-5ject5y, 2023.

Benefits

Challenges

  • reconcile theory with practice (evolving software in social coding platforms) while planning to address previously reported barriers of OSS-based learning.

  • Not a mandatory SE course

Yet another experience report

Professor

  1. Experiência prévia (desde 2011)
  2. Disciplina optativa
  3. Preocupação com apoio
  4. Preocupação com nucleação

Yet another experience report

Estudante

  1. Preocupação com engajamento
  2. Preocupação com nucleação
  3. Preocupação com acompanhamento e feedback

Course Design

Learning outcomes

  • Understand Open Source Software concepts and practices.
  • Characterize OSS projects regarding its features, history and context, newcomers’ support and social conventions, socio-technical practices and deliverables.
  • Select OSS projects to work with based on their domain and other characteristics.
  • Understand aspects related contributing to OSS projects.

Diaries

The course in Practice

The course in Practice

The course in Practice

Students’ Feedback

Did the course meet your expectations?

Most of the students reported as their basic expectation to acquire (more) knowledge about OSS projects.

Were the strategies used during the semester’s classes adequate?

  • Students’s Gains
  • Students’s Pains
  • Suggestions

General Comments

  • Demystifing OSS
  • Paradigm Shift
  • Education and Career
  • Nucleation
  • Use of internal projects

Instructors’Reflections

  • Course design
  • Git-Paralysis
  • Journaling
  • Project Selection
  • Contributions to OSS
  • Growing soft skills
  • Dissemination

Diaries

Recommendations from the Trenches

  • Hands-on activities are the core of the course: recruit at least one teaching assistant with experience in OSS development.
  • Promote open communication: define communication chan- nels early and use them effectively.
  • Decide on a control strategy to use early in the course (in- ternal or external projects).
  • Plan to be flexible.
  • Plan and communicate the syllabus early, leaving room for last-minute, on-the-fly modifications.
  • Survey the students’ knowledge and previous experience with OSS and adjust the course plan, if necessary. (5) Select suitable OSS projects.
  • Define criteria, filter and select a set of small OSS projects to use as internal learning objects.
  • Double-check the OSS project for welcome messages and guidelines for newcomers.
  • Mentor students in selecting an OSS project to contribute.
  • Share early and share often: share journal entries and stu- dents’ progress, and promote frequent discussions.
  • Invite keynotes to share their expertise and present talks about software licenses, continuous SE, social aspects of OSS, among other topics.