🤖 AI Summary
A significant gap exists between academia and industry in adaptive software systems education, resulting in curricula that lag behind industrial practice. Method: This study designs and delivers a practice-oriented course introducing the novel “dual-track academic–industrial” pedagogical model. The curriculum deeply integrates Model-Driven Engineering (MDE) with runtime feedback control architectures, incorporates industrial-grade adaptive infrastructure—including Kubernetes, Prometheus, and OpenTelemetry—and leverages industry expert instruction, real-world case reviews, and cross-disciplinary collaboration to strengthen hands-on competencies. It systematically addresses three core educational challenges: balancing theory and practice, accommodating heterogeneous student backgrounds, and unifying diverse technical stacks. Results: Empirical evaluation with 21 students demonstrates significant improvements in mastery of core adaptive systems concepts, alongside concurrent gains in technical proficiency and engineering communication skills—validating the model’s effectiveness and scalability for broader adoption.
📝 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.