As Artificial Intelligence (AI) becomes integral to modern software systems, the software engineering (SE) research community has been actively developing methods, tools, and frameworks to address software quality assurance of AI-enabled systems across critical dimensions such as robustness, ethics, security, and sustainability. These contributions are designed to tackle the complexity of AI systems, such as their probabilistic nature, data dependencies, and societal impact, ensuring they meet the standards of modern software engineering. These advances have, in turn, inspired educators to introduce Software Engineering for Artificial Intelligence (SE4AI) courses aimed at preparing the next generation of software engineers, with notable success examples already reported in the literature. In this experience report, we contribute to the field of SE4AI education by sharing lessons learned in designing and teaching a course that addresses the unique characteristics of AI-enabled systems. Drawing on insights gathered over four iterations of the course, we discuss how students perceive and apply key software engineering concepts, the challenges they encounter with tools and techniques, and how project-based learning bridges the gap between theoretical knowledge and real-world application. Furthermore, we address the broader educational challenges, such as interdisciplinary barriers and the integration of rapidly evolving AI technologies, and provide recommendations to enhance SE4AI education. By reflecting on these experiences, we aim to offer insights and strategies for improving the teaching of SE4AI topics.
Teaching Software Engineering for Artificial Intelligence: An Experience Report
Palomba, Fabio;Voria, Gianmario;Parziale, Alessandra;Pentangelo, Viviana;Porta, Antonio Della;Martino, Vincenzo De;Recupito, Gilberto;Giordano, Giammaria
2026
Abstract
As Artificial Intelligence (AI) becomes integral to modern software systems, the software engineering (SE) research community has been actively developing methods, tools, and frameworks to address software quality assurance of AI-enabled systems across critical dimensions such as robustness, ethics, security, and sustainability. These contributions are designed to tackle the complexity of AI systems, such as their probabilistic nature, data dependencies, and societal impact, ensuring they meet the standards of modern software engineering. These advances have, in turn, inspired educators to introduce Software Engineering for Artificial Intelligence (SE4AI) courses aimed at preparing the next generation of software engineers, with notable success examples already reported in the literature. In this experience report, we contribute to the field of SE4AI education by sharing lessons learned in designing and teaching a course that addresses the unique characteristics of AI-enabled systems. Drawing on insights gathered over four iterations of the course, we discuss how students perceive and apply key software engineering concepts, the challenges they encounter with tools and techniques, and how project-based learning bridges the gap between theoretical knowledge and real-world application. Furthermore, we address the broader educational challenges, such as interdisciplinary barriers and the integration of rapidly evolving AI technologies, and provide recommendations to enhance SE4AI education. By reflecting on these experiences, we aim to offer insights and strategies for improving the teaching of SE4AI topics.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.