Teaching Software Engineering with Project-Based Learning: A Four Years Experience Report

  • Lina Garcés USP
  • Brauner Oliveira USP

Resumo


Project-Based Learning (PjBL) is an educational design methodology embraced by instructors within engineering programs and, recently, in software engineering courses. PjBL enables students to confront real-world scenarios and apply their knowledge to create practical and meaningful software products, all while enhancing essential soft skills required in the software industry. This study draws upon the authors’ firsthand experiences implementing PjBL across four software engineering courses. It outlines the challenges encountered during each course iteration, emphasizing areas ripe for improvement in future offerings. Insights gathered from four years of teaching with PjBL are shared, detailing the positive and negative outcomes of employing various strategies to address challenges identified in prior course runs. The experience reported herein gives fellow software engineering educators valuable insights, enabling them to avoid ineffective approaches and integrate successful ones into their teaching endeavors.

Palavras-chave: Software Engineering, Problem-Based Learning, PjBL, Agile

Referências

Orges Cico, Letizia Jaccheri, Anh Nguyen-Duc, and He Zhang. 2021. Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering Trends. Journal of Systems and Software 172 (2021), 110736. DOI: 10.1016/j.jss.2020.110736

David Delgado, Alejandro Velasco, Jairo Aponte, and Andrian Marcus. 2017. Evolving a Project-Based Software Engineering Course: A Case Study. In 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T). 77–86. DOI: 10.1109/CSEET.2017.22

Vinicius Gomes Ferreira and Edna Dias Canedo. 2020. A Design Sprint based model for User Experience concern in project-based learning software development. In IEEE Frontiers in Education Conference (FIE) (Uppsala, Sweden, 2020-10-21). IEEE, 1–9. DOI: 10.1109/FIE44824.2020.9274214

Maria Lydia Fioravanti, Bruna Oliveira Romeiro, Leo Natan Paschoal, Brauner Oliveira, Simone R. S. De Souza, Ellen Francine Barbosa, and Ana M. Moreno. 2023. Software Engineering Education Through Experiential Learning for Fostering Soft Skills. In 2023 IEEE Frontiers in Education Conference (FIE) (2023). IEEE, College Station, TX, USA, 1–8. DOI: 10.1109/fie58773.2023.10343452

Maria Lydia Fioravanti, Bruno Sena, Leo Natan Paschoal, Laíza R. Silva, Ana P. Allian, Elisa Y. Nakagawa, Simone R.S. Souza, Seiji Isotani, and Ellen F. Barbosa. 2018. Integrating Project Based Learning and Project Management for Software Engineering Teaching: An Experience Report. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Baltimore Maryland USA, 2018-02-21). ACM, 806–811. DOI: 10.1145/3159450.3159599

Christina Von Flach and Daniela Soares Feitosa. 2023. Teaching and Promoting Engagement with OSS: Yet Another Experience Report. In Proceedings of the XXXVII Brazilian Symposium on Software Engineering (<conf-loc>, <city>Campo Grande</city>, <country>Brazil</country>, </conf-loc>) (SBES ’23). Association for Computing Machinery, New York, NY, USA, 534–543. DOI: 10.1145/3613372.3614190

Chetna Gupta. 2022. The Impact and Measurement of Today’s Learning Technologies in Teaching Software Engineering Course Using Design-Based Learning and Project-Based Learning. IEEE Transactions on Education 65, 4 (2022), 703–712. DOI: 10.1109/TE.2022.3169532

Philippe Kruchten. 2011. Experience teaching software project management in both industrial and academic settings. In 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T). IEEE, Waikiki, Honolulu, Hawaii, 199–208. DOI: 10.1109/CSEET.2011.5876087

Stephan Krusche and Lukas Alperowitz. 2014. Introduction of continuous delivery in multi-customer project courses. In Companion Proceedings of the 36th International Conference on Software Engineering (Hyderabad, India) (ICSE Companion 2014). Association for Computing Machinery, NewYork, NY, USA, 335–343. DOI: 10.1145/2591062.2591163

Henrik Hillestad Løvold, Yngve Lindsjørn, and Viktoria Stray. 2020. Forming and Assessing Student Teams in Software Engineering Courses. In Agile Processes in Software Engineering and Extreme Programming – Workshops, Maria Paasivaara and Philippe Kruchten (Eds.). Springer International Publishing, Cham, 298–306.

B. Oliveira and L.’ Garcés. 2024. Supplementary material for the work intitled: Teaching Software Engineering with Project-Based Learning: A Four Years Experience Report. on-line. DOI: 10.5281/zenodo.12794894

Beatriz Pérez and Ángel L. Rubio. 2020. A Project-Based Learning Approach for Enhancing Learning Skills and Motivation in Software Engineering. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education (Portland OR USA, 2020-02-26). ACM, Portland, OR, USA, 309–315. DOI: 10.1145/3328778.3366891

Robbie Simpson and Tim Storer. 2017. Experimenting with Realism in Software Engineering Team Projects: An Experience Report. In 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T). 87–96. DOI: 10.1109/CSEET.2017.23

Alexander Soska, Irmgard Schroll-Decker, and Jürgen Mottok. 2014. Implementation of practical exercises in software engineering education to improve the acquirement of functional and non-functional competences: A field report about project-based learning in software engineering. In 2014 International Conference on Interactive Collaborative Learning (ICL). 338–345. DOI: 10.1109/ICL.2014.7017795

Maurício Souza, Renata Moreira, and Eduardo Figueiredo. 2019. Students Perception on the use of Project-Based Learning in Software Engineering Education. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering (SBES) (Salvador Brazil, 2019-09-23). ACM, Salvador, BA, Brazil, 537–546. DOI: 10.1145/3350768.3352457

A Strobel, J. & van Barneveld. 2009. When is PBL More Effective? A Metasynthesis of Meta-analyses Comparing PBL to Conventional Classrooms. Interdisciplinary Journal of Problem-Based Learning 3(1) (2009), 44–58. DOI: 10.7771/1541-5015.1046

Daniel Ståhl, Kristian Sandahl, and Lena Buffoni. 2022. An Eco-System Approach to Project-Based Learning in Software Engineering Education. IEEE Transactions on Education 65, 4 (2022), 514–523. DOI: 10.1109/TE.2021.3137344

Dan Mircea Suciu, Simona Motogna, and Arthur-Jozsef Molnar. 2023. Transitioning a project-based course between onsite and online. An experience report. Journal of Systems and Software 206 (2023), 111828. DOI: 10.1016/j.jss.2023.111828
Publicado
30/09/2024
GARCÉS, Lina; OLIVEIRA, Brauner. Teaching Software Engineering with Project-Based Learning: A Four Years Experience Report. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 38. , 2024, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 476-486. DOI: https://doi.org/10.5753/sbes.2024.3530.