Teaching Software Engineering for AI-Enabled Systems
Christian K\"astner, Eunsuk Kang

TL;DR
This paper presents a new course designed to teach software engineering principles tailored for AI-enabled systems, emphasizing real-world challenges like data variability, robustness, and ethical considerations.
Contribution
It introduces a novel curriculum that integrates software engineering practices with AI and ML, focusing on practical, realistic system development and ethical issues.
Findings
Successful first offering of the course with positive student feedback
Course materials and infrastructure shared for wider adoption
Enhanced understanding of engineering challenges in AI systems
Abstract
Software engineers have significant expertise to offer when building intelligent systems, drawing on decades of experience and methods for building systems that are scalable, responsive and robust, even when built on unreliable components. Systems with artificial-intelligence or machine-learning (ML) components raise new challenges and require careful engineering. We designed a new course to teach software-engineering skills to students with a background in ML. We specifically go beyond traditional ML courses that teach modeling techniques under artificial conditions and focus, in lecture and assignments, on realism with large and changing datasets, robust and evolvable infrastructure, and purposeful requirements engineering that considers ethics and fairness as well. We describe the course and our infrastructure and share experience and all material from teaching the course for the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Scientific Computing and Data Management · Machine Learning and Data Classification
