Yet Another Experience Report
Christina von Flach (IC-UFBA)
Daniela Feitosa (PGCOMP-UFBA)
Campo Grande, 29/9/2023
- Teaching with OSS
- 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).
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).
Activities and tasks may require some interaction with the OSS community
Students may contribute with the OSS in practice
Example
Yet another experience report (3)
Professor
- Previous experience (since 2011)
- Not a mandatory SE course
- Help needed (technicalities)
- Concern with nucleation (graduate course)
Yet another experience report
Students
- Concern with engagement
- Concern with nucleation
- 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
- 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.