Bridging Theory to Practice in Software Testing Teaching through Team-based Learning (TBL) and Open Source Software (OSS) Contribution (2404.10912v1)
Abstract: Curricula recommendation for undergraduate Software Engineering courses underscore the importance of transcending from traditional lecture format to actively involving students in time-limited, iterative development practices. This paper presents a teaching approach for a software testing course that integrates theory and practical experience through the utilization of both TBL and active contributions to OSS projects. The paper reports on our experience implementing the pedagogical approach over four consecutive semesters of a Software Testing course within an undergraduate Software Engineering program. The experience encompassed both online and in-person classes, involving a substantial cohort of over 300 students spanning four semesters. Students' perceptions regarding the course are analyzed and compared with previous, related studies. Our results are positively aligned with the existing literature of software engineering teaching, confirming the effectiveness of combining TBL with OSS contributions. Additionally, our survey has shed light on the challenges that students encounter during their first contribution to OSS projects, highlighting the need for targeted solutions. Overall, the experience demonstrates that the proposed pedagogical structure can effectively facilitate the transition from theoretical knowledge to real-world practice in the domain of Software Testing.
- Tutaleni I. Asino and Alana Pulay. 2019. Student Perceptions on the Role of the Classroom Environment on Computer Supported Collaborative Learning. TechTrends 63, 2 (March 2019), 179–187. https://doi.org/10.1007/s11528-018-0353-y
- Mihir Awatramani and Diane Rover. 2015. Team-based learning course design and assessment in computer engineering. In 2015 IEEE Frontiers in Education Conference (FIE). 1–9. https://doi.org/10.1109/FIE.2015.7344227
- FLOSS in software engineering education: an update of a systematic mapping study. In Proceedings of the XXXII Brazilian Symposium on Software Engineering (SBES ’18). Association for Computing Machinery, New York, NY, USA, 250–259. https://doi.org/10.1145/3266237.3266249
- Peer assessment and evaluation in team-based learning. New Directions for Teaching and Learning 2008, 116 (Dec. 2008), 69–78. https://doi.org/10.1002/tl.334 Publisher: John Wiley & Sons, Ltd.
- Teaching Software Testing with Free and Open Source Software. In 2020 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW). 412–418. https://doi.org/10.1109/ICSTW50294.2020.00074
- Open Source Software Onboarding as a University Course: An Experience Report. In 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). 324–336. https://doi.org/10.1109/ICSE-SEET58685.2023.00037 ISSN: 2832-7578.
- Joint Task Force on Computing Curricula IEEE Computer Society Association for Computing Machinery. 2014. Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. https://www.acm.org/binaries/content/assets/education/se2014.pdf
- Evaluating the Benefits of Team-Based Learning in a Systems Programming Class. In 2020 IEEE Frontiers in Education Conference (FIE). 1–7. https://doi.org/10.1109/FIE44824.2020.9274183 ISSN: 2377-634X.
- Agile Manifesto for Teaching and Learning. 17 (2017).
- Hrafn Loftsson and Ásrún Matthíasdóttir. 2019. Using Flipped Classroom and Team-Based Learning in a First-Semester Programming Course: An Experience Report. In 2019 IEEE International Conference on Engineering, Technology and Education (TALE). 1–6. https://doi.org/10.1109/TALE48000.2019.9225985 ISSN: 2470-6698.
- Deploying Team-Based Learning at Undergraduate Software Engineering Courses. In 2017 IEEE/ACM 1st International Workshop on Software Engineering Curricula for Millennials (SECM). 9–15. https://doi.org/10.1109/SECM.2017.2
- Team-Based Learning: A Transformative Use of Small Groups (1st edition ed.). Praeger, Westport, Conn.
- Larry K. Michaelsen and Michael Sweet. 2008. The essential elements of team-based learning. New Directions for Teaching and Learning 2008, 116 (Sept. 2008), 7–27. https://doi.org/10.1002/tl.330
- Does FLOSS in Software Engineering Education Narrow the Theory-Practice Gap? A Study Grounded on Students’ Perception. In Open Source Systems (IFIP Advances in Information and Communication Technology), Francis Bordeleau, Alberto Sillitti, Paulo Meirelles, and Valentina Lenarduzzi (Eds.). Springer International Publishing, Cham, 153–164. https://doi.org/10.1007/978-3-030-20883-7_14
- Team-based learning versus Traditional lecture-based learning: An investigation of students’ perceptions and academic achievements. Pakistan Journal of Medical Sciences 37, 4 (May 2021). https://doi.org/10.12669/pjms.37.4.4000 Number: 4.
- Sofia Ouhbi and Nuno Pombo. 2020. Software Engineering Education: Challenges and Perspectives. In 2020 IEEE Global Engineering Education Conference (EDUCON). 202–209. https://doi.org/10.1109/EDUCON45650.2020.9125353 ISSN: 2165-9567.
- Training Software Engineers Using Open-Source Software: The Students’ Perspective. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). 147–157. https://doi.org/10.1109/ICSE-SEET.2019.00024
- Training Software Engineers Using Open-Source Software: The Professors’ Perspective. In 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T). 117–121. https://doi.org/10.1109/CSEET.2017.27 ISSN: 2377-570X.
- Impact of HFOSS on Education on Instructors. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’19). Association for Computing Machinery, New York, NY, USA, 285–291. https://doi.org/10.1145/3304221.3319765
- Improving Grading Outcomes in Software Engineering Projects Through Automated Contributions Summaries. In 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). 259–270. https://doi.org/10.1109/ICSE-SEET58685.2023.00030 ISSN: 2832-7578.
- Melissa Rands and Ann Gansemer-Topf. 2017. The Room Itself Is Active: How Classroom Design Impacts Student Engagement. Journal of Learning Spaces 6, 1 (Jan. 2017), 26–33. https://lib.dr.iastate.edu/edu_pubs/49
- Hits and Misses: Newcomers’ ability to identify Skills needed for OSS tasks. In 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). 174–183. https://doi.org/10.1109/SANER53432.2022.00032 ISSN: 1534-5351.
- Shift Toward Value-Based Learning: Applying Agile Approaches in Higher Education. In Web Information Systems and Technologies (Lecture Notes in Business Information Processing), Massimo Marchiori, Francisco José Domínguez Mayo, and Joaquim Filipe (Eds.). Springer Nature Switzerland, Cham, 24–41. https://doi.org/10.1007/978-3-031-43088-6_2
- Selecting open source software projects to teach software engineering. In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE ’14). Association for Computing Machinery, New York, NY, USA, 397–402. https://doi.org/10.1145/2538862.2538932
- Diomidis Spinellis. 2021. Why computing students should contribute to open source software projects. Commun. ACM 64, 7 (June 2021), 36–38. https://doi.org/10.1145/3437254
- Collaborative Learning in Engineering Design Education: A Systematic Literature Review. IEEE Transactions on Education (2023), 1–0. https://doi.org/10.1109/TE.2023.3283609 Conference Name: IEEE Transactions on Education.
- Elaine Venson (2 papers)
- Reem Alfayez (2 papers)