Course syllabus for Advanced Software Engineering for AI/ML-Enabled Systems

Course syllabus adopted 2023-02-02 by Head of Programme (or corresponding).

Overview

  • Swedish nameAvancerad programvaruteknik för AI/ML-aktiverade system
  • CodeDAT550
  • Credits7.5 Credits
  • OwnerMPSOF
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 24115
  • Maximum participants30 (at least 10% of the seats are reserved for exchange students)
  • Open for exchange studentsYes

Credit distribution

0122 Written and oral assignments 7.5 c
Grading: TH
0 c0 c0 c7.5 c0 c0 c

In programmes

Examiner

Eligibility

General entry requirements for master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for the course, the student should have a bachelor·s degree in Software Engineering, Computer Science, Computer Engineering, Information Technology, Information Systems, or equivalent.
In addition, the student should have completed courses in:
  • Programming (e.g. DAT042, DAT050, DAT055, DAT170, TDA545, TDA550 or equivalent)
  • A basic course in machine learning (e.g. DAT405 Introduction to data science and AI, DAT410 Design of AI systems, DAT440 Advanced topics in machine learning, or euqivalent)
  • A general Software Engineering course (e.g. TDA594 Software engineering principles for complex systems or equivalent) or 6 credits in one or more of the following areas of Software Engineering: Software processes and agile development, Software architecture, Software Quality Assurance or Testing, Requirements Engineering (e.g. DAT257, EDA397, DAT360, DAT490, TDA567, DAT321 DAT356, DAT231, or equivalent)

Aim

Artificial intelligence and machine learning are more and more used in practice. However, the introduction of AI/ML components into a software system comes with new challenges and needs and changes the way the software system is engineered. This course introduces processes, practices and techniques for engineering AI/ML-enables software systems.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding
- Explain processes and engineering practices for developing AI/ML-enabled systems, from requirements engineering to testing
- Explain typical roles in software engineering of AI/ML enabled systems as well as challenges in interdisciplinary teams consisting of Data Scientists and Software Engineers
- Explain typical requirements for AI/ML components, such as non-functional requirements, requirements on data, and contextual requirements
- Explain architectures and patterns for AI/ML-enabled systems
- Describe existing techniques to verify and explain decisions made by AI/ML-enabled systems
- Give an overview of recent research on SE for AI/ML-enabled systems

Skills and abilities
- Read a research paper on software engineering for AI/ML-enabled systems, present it's content, and critically discuss the presented research design
- Demonstrate a software engineering approach for AI/ML-enabled systems with appropriate examples
- Assess new engineering knowledge for AI/ML-enabled systems and relate it to the knowledge presented in this course

Judgement and approach
- Judge the extent to which an AI/ML component needs to be safe-guarded
- Judge what verification methods are appropriate when developing an AI/ML-enabled system given the requirements o that system
- Judge whether a model has systematic biases and discuss the consequences of these biases
- Judge fairness and potential other ethical issues of an AI/ML-enabled system
- Judge user‘s information needs to work with an AI-enabled system
- Judge limitations of a state-of-the-art software engineering approach for AI/ML given evidence presented in research papers

Content

The course will comprise a number of themes with respect to Software engineering of AI/ML-Enabled Systems:
  • Processes, Engineering Practices, and Interdisciplinary Teams
  • Requirements Engineering
  • Architectures
  • Verification and Testing
  • Analysis of Failure Cases and Debugging
  • Fairness, Bias, and Ethics
  • User Management and Explaining AI Decisions

Organisation

The course is provided in the form of a literature seminar, which combines reading
papers, student presentations, and discussions. Students will explore one of the topics in detail and gain more summative knowledge in the other topics. An individual report is the final element of the course.

Literature

Course literature will be announced at the latest 8 weeks prior to the start of the course.

Examination including compulsory elements

The examination consists of an individual presentation. In addition an active participation and contribution to discussions is required as well as an individual report.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.