ITIS 6336: Software Engineering for AI-Enabled Systems
University of North Carolina, Charlotte
Bridges software engineering and AI development, focusing on key aspects such as understanding AI model requirements and system constraints. It emphasizes strategically planning AI component integration, including modern generative AI components such as LLMs, within AI-enabled systems. Topics cover the deployment of AI applications via APIs, connecting applications with tools and external resources,�implementation of advanced architectural patterns such as Retrieval-Augmented Generation (RAG) for�efficient�factual grounding, and the design and deployment of multi-agent systems.�The course also ensures responsible and reliable development using machine and deep learning techniques, emphasizing the role of software architecture and quality assurance in maintaining robust models beyond accuracy across various development stages while mitigating the effects of data drift. It also highlights the importance of explainability and interpretability, moving beyond the traditional "black box" view of AI models, and provides hands-on experience with debugging, design considerations, and thorough system-level testing. It requires a foundational understanding of machine learning and deep learning and intermediate programming skills.� Section information text: Bridges software engineering and AI development, focusing on key aspects such as understanding AI model requirements and system constraints. It emphasizes strategically planning AI component integration, including modern generative AI components such as LLMs, within AI-enabled systems. Topics cover the deployment of AI applications via APIs, connecting applications with tools and external resources, implementation of advanced architectural patterns such as Retrieval-Augmented Generation (RAG) for efficient factual grounding, and the design and deployment of multi-agent systems. The course also ensures responsible and reliable development using machine and deep learning techniques, emphasizing the role of software architecture and quality assurance in maintaining robust models beyond accuracy across various development stages while mitigating the effects of data drift. It also highlights the importance of explainability and interpretability, moving beyond the traditional "black box" view of AI models , and provides hands-on experience with debugging, design considerations, and thorough system-level testing. It requires a foundational understanding of machine learning and deep learning and intermediate programming skills.