Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Course syllabus for

Academic year
DAT550 - Advanced Software Engineering for AI/ML-Enabled Systems
Avancerad programvaruteknik för AI/ML-aktiverade system
Course syllabus adopted 2022-02-01 by Head of Programme (or corresponding)
Owner: MPSOF
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: Second-cycle
Main field of study: Computer Science and Engineering, Software Engineering

Teaching language: English
Application code: 24119
Open for exchange students: Yes
Maximum participants: 30
Status, available places (updated regularly): Yes

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0122 Written and oral assignments 7,5 c Grading: TH   7,5 c    

In programs



Regina Hebig

  Go to Course Homepage


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)


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)

- 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


- 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


- 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


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.

Page manager Published: Thu 04 Feb 2021.