Open Educational Resources
Document Type
Lecture or Presentation
Publication Date
Fall 12-10-2025
Abstract
Lecture slides on the software engineering challenges unique to machine learning systems, for an undergraduate software engineering course. After contrasting traditional programming with machine learning, the deck examines why the usual tools for managing complexity—abstraction, reuse, and composition—are harder to apply to ML, given the lack of clear specifications and modularity. It covers concept drift, feedback loops (illustrated with crime-prediction and recommendation examples), and the accumulation of technical debt in ML systems, including the role and pitfalls of notebooks in moving from experimentation to production. Based on "Machine Learning in Production/AI Engineering" by Christian Kaestner and Eunsuk Kang (Carnegie Mellon University).
Creative Commons License

This work is licensed under a Creative Commons Attribution-Share Alike 4.0 License.
Sources

Comments
https://github.com/CSCI-40500-Fall-2025/ML-Challenges