Skip to main content Skip to navigation

Teaching Software Engineering for AI-Enabled Systems

Project Overview

The document explores the integration of generative AI in education through a specialized course aimed at equipping students with software engineering skills tailored for AI-enabled systems. It underscores the necessity of merging software engineering methodologies with machine learning principles to effectively tackle the complexities involved in developing robust, scalable, and ethical AI applications. The course emphasizes hands-on learning, providing students with assignments that replicate real-world challenges in system design, implementation, and quality assurance specifically within the AI context. Key applications of generative AI in this educational framework include creating adaptive learning environments, enhancing personalized feedback, and improving student engagement. The findings highlight that students who engage with these practical experiences not only gain vital technical skills but also foster a deeper understanding of the ethical implications of AI technologies. Overall, the document illustrates how generative AI is reshaping educational practices, preparing future professionals to navigate the intricacies of AI development while emphasizing the importance of ethical considerations in technology deployment.

Key Applications

Software Engineering for AI-Enabled Systems course

Context: Graduate students with a background in machine learning and software engineering.

Implementation: The course was designed to integrate software engineering principles with AI, including hands-on simulations and practical assignments.

Outcomes: Students gained practical skills in building AI systems, understanding the importance of software engineering practices in AI, and addressing real-world challenges in deploying AI models.

Challenges: Students had varying backgrounds in ML and software engineering, making it difficult to cover all necessary concepts. The simulation infrastructure required significant engineering effort and needed further refinement.

Implementation Barriers

Educational Barrier

Students often had gaps in either machine learning or software engineering knowledge, making it challenging to teach the course effectively.

Proposed Solutions: Future iterations could involve separate sections for students from either background, ensuring foundational concepts are covered.

Technical Barrier

Building and running the simulator required significant engineering effort and resulted in a less realistic user behavior model. Future offerings should scale the simulator and explore additional learning tasks to enhance the complexity and realism of assignments.

Proposed Solutions: Future offerings should scale the simulator and explore additional learning tasks to enhance the complexity and realism of assignments.

Tooling Barrier

There was a lack of mature tools for emerging AI topics such as fairness and explainability, complicating the teaching process. Encouraging the software engineering community to develop tools and benchmarks for AI-enabled system developers is essential.

Proposed Solutions: Encouraging the software engineering community to develop tools and benchmarks for AI-enabled system developers.

Project Team

Christian Kästner

Researcher

Eunsuk Kang

Researcher

Contact Information

For information about the paper, please contact the authors.

Authors: Christian Kästner, Eunsuk Kang

Source Publication: View Original PaperLink opens in a new window

Project Contact: Dr. Jianhua Yang

LLM Model Version: gpt-4o-mini-2024-07-18

Analysis Provider: Openai

Let us know you agree to cookies