From Principles to Practice: Using Real-World Examples to Teach Adaptive Maintenance in Software Engineering
Software engineering education can play a pivotal role in preparing students for industry careers provided it achieves a delicate balance between theoretical foundations and practical applications. However, integrating hands-on practical learning into software engineering coursework remains a challenge for many educators. This paper presents a novel pedagogical approach – learning by finding examples – which encourages students to actively seek out real-world instances that illustrate core software engineering principles. This method was applied to demonstrate the concept of adaptive maintenance. Adaptive software maintenance involves upgrading software systems to accommodate changes in the external environment that are beyond the control of a software development organization, but must be inevitably addressed. Covid-19 pandemic, the quintessential abrupt environmental change that fundamentally altered our way of life, served as the case study. Students were tasked with identifying how software systems were upgraded to respond to this radical shift, leaning as far as possible into their personal experiences. A detailed analysis and thematic organization of the students’ examples revealed that students’ personal encounters significantly enhanced their engagement and understanding of how adaptive software maintenance is unavoidable, and can also sometimes necessitate radical changes to software systems. This highlights the potential of learning by finding examples approach to bridge the gap between software engineering theory, and how it comes to life in the real world.
Authors
- Swapna S. Gokhale (ORCID: https://orcid.org/0000-0001-8443-8146)
Institutions
- University of Connecticut (US)
Publication Details
- Published
- 2025-03-15
- DOI
- https://doi.org/10.1109/isec64801.2025.11147333
- Primary Topic
- Software Engineering Techniques and Practices
- Type
- article
- Field-Weighted Citation Impact
- 0.00