Beyond Models: Reflections on Engineering AI-enabled Systems in a Project-Based Course

2026-06-15Software Engineering

Software EngineeringArtificial Intelligence
AI summary

The authors designed a master’s course where students built a movie recommendation system to learn how AI fits into larger software projects. They found students struggled with early design choices, mixing machine learning with software engineering, and handling changing needs and data. The study used student work and surveys to understand these challenges. The authors observed that the course helped students think more about the whole system and pay closer attention to data in AI projects.

software architecturemachine learning integrationAI-enabled systemssystem designscalabilitydeploymentdata managementproject-based learningrecommendation systemsmixed-methods study
Authors
Amir Mashmool, Kishan Ravindra Sawant, Mojtaba Shahin, Nico Hochgeschwender, Rainer Koschke
Abstract
Teaching Software Engineering for AI-enabled systems entails addressing the integration of AI components within full-scale software architectures under realistic constraints. While machine learning courses emphasize model development, students often lack experience in architectural design, deployment, and monitoring of AI-enabled systems. Empirical evaluations of such system-oriented AI courses remain limited. This paper reflects on the design and implementation of a project-based master's-level course titled AI Algorithms: Theory and Engineering, at the University of Bremen, in which students developed a movie recommendation system while making architectural design decisions to address challenges related to scalability, deployment, and evolving requirements. We conducted a mixed-methods study combining analyses of student submissions and questionnaire responses to investigate integration challenges, learning outcomes, and opportunities for improvement. Our results indicate persistent difficulties in early architectural decisions, heterogeneous ML integration, evolving requirements, and data management, largely due to uneven ML and software engineering expertise. From the educator's perspective, the course fostered system-level reasoning and strengthened awareness of data-centric ML practices in AI-enabled systems.