ABSTRACT
OSS-based learning refers to using open source software (OSS) and their sociotechnical practices in the pedagogical context. Several educators reported its benefits and barriers within different contexts, goals, and areas of knowledge, bringing evidence that it is a feasible approach to address Software Engineering Education challenges. Some appealing factors to adopting OSS-based learning are the availability of the software source code and workflows, access to the OSS community, and information about its development and evolution, which may improve the learning of SE concepts and practices and foster students’ engagement in real-world projects. Observing students as they work towards hard and soft skills, understanding, engaging with, and eventually contributing to an OSS project is a rewarding part of the routine of educators who have recognized the benefits of OSS-based learning and adopted it in their classes. We report our experience after delivering a “hands-on” course to introduce graduate students to OSS projects and their sociotechnical practices. Some graduate students were higher education instructors in other institutions. We present the course design and details of its execution, followed by a reflection based on students’ feedback and our perceptions of gains and pains. Overall, students valued the course and were highly motivated to explore OSS, especially those who worked as educators. Most of the feedback concerning the course methodology was positive, but some students requested more information about the weekly lesson plans in advance. We hope this experience report helps to demystify OSS, inspire educators to adopt OSS projects in their courses, and foster instructors’ and students’ engagement with OSS projects.
- Judith Bishop, Carlos Jensen, Walt Scacchi, and Arfon Smith. 2016. How to Use Open Source Software in Education. In 47th ACM Technical Symposium on Computing Science Education (Memphis, Tennessee, USA) (SIGCSE ’16). ACM, New York, NY, USA, 321–322.Google ScholarDigital Library
- Serge Demeyer, Stéphane Ducasse, and Oscar Nierstrasz. 2008. Object-Oriented Reengineering Patterns. Square Bracket Associates, Web. http://scg.unibe.ch/download/oorp/ (This book is available as a free download from http://www.iam.unibe.ch/ scg/OORP/. ).Google Scholar
- Chris DiBona and Sam Ockman (Eds.). 1999. Open Sources: Voices from the Open Source Revolution. O’Reilly Media, USA. http://oreilly.com/openbook/opensources/book/index.htmlGoogle Scholar
- Joseph Feliciano, Margaret-Anne Storey, and Alexey Zagalsky. 2016. Student Experiences Using GitHub in Software Engineering Courses: A Case Study. In Proc. of the 38th International Conference on Software Engineering Companion (Austin, Texas) (ICSE ’16). ACM, New York, NY, USA, 422–431. https://doi.org/10.1145/2889160.2889195Google ScholarDigital Library
- Clarice Ferreira, Cleice Souza, Gustavo Pinto, Igor Steinmacher, and Paulo Meirelles. 2018. When students become contributors: leveraging OSS contributions in software engineering courses. In Proceedings of the XXXII Brazilian Symposium on Software Engineering, SBES 2018, Uirá Kulesza (Ed.). ACM, New York, NY, USA, 260–269. https://doi.org/10.1145/3266237.3266250Google ScholarDigital Library
- Karl Fogel. 2017. Producing Open Source Software: How to Run a Successful Free Software Project (second ed.). O’Reilly Media, USA. http://www.producingoss.com/.Google Scholar
- Vahid Garousi, Gorkem Giray, Eray Tuzun, Cagatay Catal, and Michael Felderer. 2019. Closing the gap between software engineering education and industrial needs. IEEE Software 37, 2 (2019), 68–77.Google ScholarCross Ref
- Jenny T. Liang, Thomas Zimmermann, and Denae Ford. 2022. Understanding Skills for OSS Communities on GitHub. In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Singapore, Singapore) (ESEC/FSE 2022). ACM, New York, NY, USA, 170–182. https://doi.org/10.1145/3540250.3549082Google ScholarDigital Library
- D Nascimento, R Bittencourt, and Chavez C. 2015. Open source projects in software engineering education: a mapping study. Computer Science Education 25, 1 (2015), 67–114. https://doi.org/10.1080/08993408.2015.1033159Google ScholarCross Ref
- Debora M. C. Nascimento, Christina F. G. Chavez, and Roberto A. Bittencourt. 2018. The Adoption of Open Source Projects in Engineering Education: A Real Software Development Experience. In IEEE Frontiers in Education Conference, FIE 2018, San Jose, CA, USA. IEEE, USA, 1–9. https://doi.org/10.1109/FIE.2018.8658908Google ScholarDigital Library
- Debora Maria Coelho Nascimento, Christina von Flach Garcia Chavez, and Roberto Almeida Bittencourt. 2019. Does FLOSS in Software Engineering Education Narrow the Theory-Practice Gap? A Study Grounded on Students’ Perception. In Open Source Systems - 15th IFIP WG 2.13 International Conference(IFIP, Vol. 556), F. Bordeleau, A. Sillitti, P. Meirelles, and V. Lenarduzzi (Eds.). Springer, USA, 153–164. https://doi.org/10.1007/978-3-030-20883-7_14Google ScholarCross Ref
- Gustavo Pinto, Clarice Ferreira, Cleice Souza, Igor Steinmacher, and Paulo Meirelles. 2019. Training software engineers using open-source software: the students’ perspective. In 41st International Conference on Software Engineering: Software Engineering Education and Training, ICSE (SEET) 2019, Sarah Beecham and Daniela E. Damian (Eds.). IEEE / ACM, USA, 147–157. https://doi.org/10.1109/ICSE-SEET.2019.00024Google ScholarDigital Library
- Gustavo Pinto, Fernando Figueira Filho, Igor Steinmacher, and Marco Aurelio Gerosa. 2017. Training Software Engineers Using Open-Source Software: The Professors’ Perspective. In 30th IEEE Conference on Software Engineering Education and Training, CSEE&T 2017, Hironori Washizaki and Nancy Mead (Eds.). IEEE, USA, 117–121. https://doi.org/10.1109/CSEET.2017.27Google ScholarCross Ref
- Eric S. Raymond. 1999. The Cathedral and the Bazaar (1st ed.). O Reilly and Associates, Inc., Sebastopol, CA, USA.Google Scholar
- Gregorio Robles, Igor Steinmacher, Paul Adams, and Christoph Treude. 2019. Twenty Years of Open Source Software: From Skepticism to Mainstream. IEEE Software 36, 6 (2019), 12–15. https://doi.org/10.1109/MS.2019.2933672Google ScholarDigital Library
- Brooke Kelsey Ryan, Adriana Meza Soria, Kaj Dreef, and André van der Hoek. 2022. Reading to Write Code: An Experience Report of a Reverse Engineering and Modeling Course. In 44nd International Conference on Software Engineering, Software Engineering Education and Training (ICSE- SEET ’22). ACM, New York, NY, USA, 1–12. https://doi.org/10.1145/3510456.3514164Google ScholarDigital Library
- Fernanda G. Silva, Moara S. Brito, Jenifer V.T. Tavares, and Christina von Flach G. Chavez. 2019. FLOSS in Software Engineering Education: Supporting the Instructor in the Quest for Providing Real Experience for Students. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, SBES 2019, Salvador, Brazil, I.C. Machado, R. Souza, R.S.P. Maciel, and C. Sant’Anna (Eds.). ACM, New York, NY, USA, 234–243. https://doi.org/10.1145/3350768.3353815Google ScholarDigital Library
- Fernanda G. Silva, Paulo E. D. Santos, and Christina von Flach. 2023. OSS in Software Engineering Education: Mapping Characteristics of Brazilian Instructors. Journal of Software Engineering Research and Development 11, 1 (Jan. 2023), 2:1 – 2:14. https://doi.org/10.5753/jserd.2023.1977Google ScholarCross Ref
- Therese Mary Smith, Robert McCartney, Swapna S. Gokhale, and Lisa C. Kaczmarczyk. 2014. Selecting open source software projects to teach software engineering. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education. ACM, New York, NY, USA, 397–402. https://doi.org/10.1145/2538862.2538932Google ScholarDigital Library
- Diomidis Spinellis. 2021. Why Computing Students Should Contribute to Open Source Software Projects. Commun. ACM 64, 7 (July 2021), 36–38. https://doi.org/10.1145/3437254Google ScholarDigital Library
- Igor Steinmacher, Marco Aurélio Graciotto Silva, and Marco Aurélio Gerosa. 2014. Barriers Faced by Newcomers to Open Source Projects: A Systematic Review. In Open Source Software: Mobile Open Source Technologies, L. Corral, A. Sillitti, G. Succi, J. Vlasenko, and A.I. Wasserman (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 153–163.Google Scholar
- Antonio Terceiro, Rodrigo Souza, and Christina Chavez. 2012. Patterns for Engagement in Free Software Projects. In Proceedings of the 9th Latin-American Conference on Pattern Languages of Programming (Natal, Rio Grande do Norte, Brazil) (SugarLoafPLoP ’12). ACM, New York, NY, USA, Article 3, 20 pages. https://doi.org/10.1145/2591028.2600812Google ScholarDigital Library
- TOS. 2023. Teaching Open Source. https://teachingopensource.orgGoogle Scholar
- Christina von Flach and Fabio Kon. 2021. Software Livre: Pré-requisito para a Ciência Aberta (PT-BR). Computação Brasil 1, 46 (Dezembro 2021), 12–15.Google Scholar
- Liguo Yu. 2014. Overcoming Challenges in Software Engineering Education: Delivering Non-Technical Knowledge and Skills (1st ed.). IGI Global, USA.Google Scholar
Index Terms
- Teaching and Promoting Engagement with OSS: Yet Another Experience Report
Recommendations
Promoting Student Engagement Using Flipped Classroom in Large Introductory Financial Accounting Class
ICEEL '19: Proceedings of the 2019 3rd International Conference on Education and E-LearningFlipped classroom has become an instructional trend used by many universities especially in Science courses. The use of flipped instructional classroom encourages student to be actively engaged in their learning. However, the implementation of flipped ...
A scalable and incremental project-based learning approach for CS1/CS2 courses
Cupi2 is a project that promotes an integral solution to problems in teaching/learning programming using a large and structured courseware, and a student-centered pedagogical model (Villalobos and Casallas 2006a; Villalobos et al. 2009a, b; Jiménez and ...
Integrating Project-Based Learning in Mobile Development Course to Enhance Student Learning Experience
SIGITE '18: Proceedings of the 19th Annual SIG Conference on Information Technology EducationIn the 21st century workplace and in academia, success requires more than basic knowledge and skills. In a project, students learn how to take initiative and responsibility, build their confidence, solve problems, work in teams, communicate ideas, and ...
Comments