Beyond the Classroom: Bridging the Gap Between Academia and Industry with a Hands-on Learning Approach
Mingyang Xu, Ryan Zheng He Liu, Mark Stoodley, Ladan Tahvildari
TL;DR
The paper addresses the gap between academic training and industry needs for self-adaptive software systems by presenting a hands-on, theory-plus-practice course enriched with guest lectures and an industry-backed project showcase. It evaluates the approach through surveys of 21 students, reporting significant gains in theoretical understanding and practical readiness, particularly in applying self-* properties and leveraging industry technologies. The study also discusses challenges and lessons learned in balancing theory and practice, diverse student backgrounds, and incorporating up-to-date industry tools. The authors argue that their course design can guide education in other emerging software engineering topics and provide a replicable blueprint for industry-relevant pedagogy.
Abstract
Modern software systems require various capabilities to meet architectural and operational demands, such as the ability to scale automatically and recover from sudden failures. Self-adaptive software systems have emerged as a critical focus in software design and operation due to their capacity to autonomously adapt to changing environments. However, educating students on this topic is scarce in academia, and a survey among practitioners identified that the lack of knowledgeable individuals has hindered its adoption in the industry. In this paper, we present our experience teaching a course on self-adaptive software systems that integrates theoretical knowledge and hands-on learning with industry-relevant technologies. To close the gap between academic education and industry practices, we incorporated guest lectures from experts and showcases featuring industry professionals as judges, improving technical and communication skills for our students. Feedback based on surveys from 21 students indicates significant improvements in their understanding of self-adaptive systems. The empirical analysis of the developed course demonstrates the effectiveness of the proposed course syllabus and teaching methodology. In addition, we provide a summary of the educational challenges of running this unique course, including balancing theory and practice, addressing the diverse backgrounds and motivations of students, and integrating the industry-relevant technologies. We believe these insights can provide valuable guidance for educating students in other emerging topics within software engineering.
