Yet Another Experience Report
(*) Christina von Flach (IC-UFBA)
Daniela Feitosa (PGCOMP-UFBA)
Campo Grande, 29/9/2023
- 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).
Benefits
Yet another experience report
Professor
- Experiência prévia (desde 2011)
- Disciplina optativa
- Preocupação com apoio
- Preocupação com nucleação
Yet another experience report
Estudante
- Preocupação com engajamento
- Preocupação com nucleação
- 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
- 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.