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

  1. Teaching with OSS
  2. Promoting engagement with OSS
  3. Yet another experience report

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

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 Software Engineering and Computer Science Education.

OSS-based Learning

2017.

Teaching with OSS (1)

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 Education (SEE).

Promoting engagement with OSS (2)

Activities and tasks may require some interaction with the OSS community Students may contribute with the OSS in practice

Example

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 (3)

Professor

  1. Previous experience (since 2011)
  2. Not a mandatory SE course
  3. Help needed (technicalities)
  4. Concern with nucleation (graduate course)

Yet another experience report

Students

  1. Concern with engagement
  2. Concern with nucleation
  3. Concern with support and 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

Evaluation: 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 (1/3)

  • 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.

Recommendations from the Trenches (2/3)

  • 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.

Recommendations from the Trenches (3/3)

  • 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.