Course syllabus
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.
This is a literature seminar course. You will study scientific literature on a current topic related to Software Engineering for AI/ML enabled systems, write a literature survey, and present the chosen topic in front of the class.
Contact details
Teacher and Examiner:
Farnaz Fotrousi (fotrousi@chalmers.se)
Guest lecturers:
Irum Inayat (irum@chalmers.se)
Shahryar Eivazzadeh (shahryar.eivazzadeh@bth.se)
Student representatives:
Sadhana Anandan (gusanandsa@student.gu.se)
Zhuangzhuang Gong (gusgongzh@student.gu.se)
Chitra Rajasekar (chitrar@chalmers.se)
Volunteer Needed (1)
Volunteer Needed (2)
Organisation
This course is offered to students from the University of Gothenburg and from Chalmers. The course homepage is located in Canvas.
The course is a literature seminar, which combines reading papers, student presentations, and discussions. Students will explore one of the topics about Software Engineering for AI/ML-enabled systems in detail and gain more summative knowledge on the other topics. An individual report is the final element of the course.
Topics are assigned to student teams that typically consist of two students. Students can submit topic preferences and argue for their preferences by referring to their previous experience with certain fields in software engineering or AI/ML. Topics will be assigned based on these preferences, but also with regard to ensuring that all themes are covered.
Components
The course consists of the following components.
- Presentation (team of 2 students): Each team reads papers and presents a topic that belongs to one of the course’s themes.
- Pedagogic example, exercise, or tutorial (team of 2 students): To enrich the presentation each team provides a pedagogic example, exercise, or tutorial that enables participants to gain a deeper understanding of the presented knowledge and to train their judgment in the area.
- Teach-me video (optional, team of 2 students): In addition, teams may produce a short “teach-me” video that illustrates one specific takeaway from their studies in an engaging way. The video will help your follow students to study the content of your seminar. The video is optional to earn extra points towards the final grade.
- Discussion Leader (individual): Each student team acts as a discussion leader for another presentation.
- Attendance (individual): Attendance at the presentations of other students is mandatory.
- Individual written final report (individual): Each student submits an individual report containing two parts: Part A: A reflection on two other student presentations. Part B: A literature survey discussing the state-of-the-art of a new chosen topic.
Support for seminar preparations
Every week after the lectures (Tuesday 11-12, Friday 12.30 - 13.30) we will offer guidance sessions for the teams presenting in the current or following week.
If you need support, please contact Farnaz Fotrousi (fotrousi@chalmers.se) or Eric Knauss (Eric.Knauss@cse.gu.se). You can also try to "drop-in" after the lecture, but then we cannot guarantee that not another group has already reserved some time for guidance.
Course literature
Initial course literature for each topic can be found in the respective Modules.
Schedule
The room schedule can be found on TimeEdit.
The detailed presentation schedule can be found on Detailed Schedule
Week Number | Tuesday | Friday | Task Due Dates |
Week 13 (24.03) |
Lecture starts at 08:15 Introduction, General Overview of Themes => Lecture_1 - Introduction - 2025.pdf
|
Lecture starts at 10:15 Guest Lecture by Irum Inayat Responsible AI Engineering
|
|
Week 14 (31.03) |
Lecture starts at 08:15 How to read a research paper => Lecture_3 - How to read a paper_2025.pdf
|
Lecture starts at 10:15 Example of system architecture for ML enabled systems => Lecture_4 - Architectures for AL/ML enabled Systems - 2025.pdf
|
Task A: Topic Selection Due: Su. 06.04 23:59 |
Week 15 (07.04) |
Lecture starts at 09:15 Guest Lecture Volvo Trucks In the core-ML team at the Volvo Group, we train deep learning models that target a variety of problems. Sure, all of them flow through the MLOps pipeline of dataset assembly, training, validation, deployment, etc., meaning that the pipeline itself should be well constructed and reusable. But the sheer range of applications that we work with forces us to consider other kinds of reuse. How about network architectures, training loops or, more importantly, training objectives themselves? Can they not be reused across problems? I’ll outline our efforts to promote broad spectrum reuse of deep learning code to solve various problems in automotive (software) engineering. I’ll also introduce topics that you could explore as part of an internship or thesis. |
Lecture starts at 9:15 Guest lecture by Shahryar Eivazzadeh, BTH ّUnderstanding Generative AI ==> Lecture_6- Understanding-GenAI-2025_Shahryar.pdf
|
|
Week 16 (14.04) | Self-Studies: Preparation of Presentations / Eastern | ||
Week 17 (21.04) | Self-Studies: Preparation of Presentations / Eastern |
Lecture starts at 8:15 (April 25 - Jupiter243) Challenges when Engineering AI/ML systems in industry / practice by Jakob Seevers and Vilmer Malm Discussion leader: Arvid Sundberg and Ayah Miqdad
Technical Debt, Code Smells, Patterns, and Anti-Patterns by Jenifa Mariyanayagam and Shradha Shinde Discussion leader: Atosa Daneshvar-Minabi and Yuting Huang
Safe-guarding strategies and security by Lialia Beniaminova Discussion leader: Jonathan Edenlund |
|
Week 18 (28.04) |
Lecture starts at 8:15 (April 29 - Jupiter243) Software Architecture for ML by Atosa Daneshvar-Minabi and Yuting Huang Discussion leader: Sandeep Arsule and Milad Namdari
Requirements Engineering for AI by Sadhana Anandan and Elias Samantzis Discussion leader: Omar Younes and Mohammed Agha
|
Self-Studies | |
Week 19 (05.05) |
OBS: Meeting at 08:30 in the lobby of the Ericsson building (May 6) Data Requirements by Yi Peng Discussion leader: Vivien Lacorre |
Lecture starts at 8:15 (May 9 - Jupiter243) AI Engineering Practices by Sandeep Arsule and Milad Namdari Discussion leader: Jenifa Mariyanayagam and Shradha Shinde
Agile Engineering Processes for AI/ML by Jonathan Edenlund Discussion leader: Saif Sayed
MLOps by Nisha Sridhar and Neeraja Kurmam Discussion leader: Chitra Rajasekar and Rachana Ramakrishna |
|
Week 20 (12.05) |
Lecture starts at 8:15 ( May 13 - Jupiter 243) Design Practices of Explainable AI by Omar Younes and Mohammed Agha Discussion leader: Sadhana Anandan and Elias Samantzis
Sustainability in AI/ML by Yik Sau NG Discussion leader: Carl Kylebäck Wennerlöf |
Lecture starts at 8:15 (May 16 - Jupiter 121) Quality vs. Confidence and typical bug types and sources by Arvid Sundberg and Ayah Miqdad Discussion leader: Bin-Umar Saiid and Oluwatosin Omotoyinbo
Risk analysis for AI/ML by Chitra Rajasekar and Rachana Ramakrishna Discussion leader: Pallavi Gupta and Ekta Rai
Model mispredicition diagnosis by Carl Kylebäck Wennerlöf Discussion leader: Lialia Beniaminova |
|
Week 21 (19.05) |
OBS! Wednesday 21.05 Lecture starts at 08:15 (May 21 - Jupiter 121) Accountability, Responsibility, and Transparency by Pallavi Gupta and Ekta Rai Discussion leader: Nisha Sridhar and Neeraja Kurmam
Bias Mitigation Methods by Bin-Umar Saiid and Oluwatosin Omotoyinbo Discussion leader: Zhuangzhuang Gong and Yuhan Li
Safe-guarding strategies and security by Lialia Beniaminova Discussion leader: Jonathan Edenlund |
Lecture starts at 08:15 (May 23 - Jupiter 121) The role of Generative AI in Software Engineering by Saif Sayed Discussion leader: Yik Sau NG
Generative AI for Requirements Engineering by Shahd Metwally Discussion leader: Cynthia Tarwireyi
Generative AI for Software Testing by Zhuangzhuang Gong and Yuhan Li Discussion leader: Jakob Seevers and Vilmer Malm |
Task D: Teach-me video Due: Thurs. 22.05 23:59 |
Week 22 (26.05) |
Lecture starts at 08:15 (May 27 - Jupiter 121) Generative AI and Multi-agent Software Systems by Vivien Lacorre Discussion leader: Yi Peng
Ethics of Gen AI and Gen AI in SE Research by Cynthia Tarwireyi Discussion leader: Shahd Metwally |
Self-Studies | |
Week 23 (02.06) | Exam Week, no lectures | ||
Week 24 (09.06) |
No lectures | Task F: Individual Report Due: Thurs. 12.06 23:59 |
Learning Outcomes
After completing 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 its 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 paper
Changes made since the last occasion
- Refinement of topics.
- Add one guest lecture
Examination
- Topic Selection and Assignment: Students should form teams and submit their topic preferences by the deadline shown in the table below.
- Presentation and Pedagogic example, exercise, or tutorial: The presentation will happen on one of the following days between 8:00 and 12:00. The order of presentations will be determined by topic. The Pedagogic example, exercise, or tutorial is to be delivered as part of the presentation. Presentation slides and materials from the pedagogic example, exercise, or tutorial must be submitted one week after the presentation via Canvas.
- Discussion Leader: Leading a discussion will happen directly after the corresponding presentation.
- Teach-me video: should be submitted on Monday of the week after the presentation of the team. Exceptions are the videos for presentations in the week of May 22 – 26. Videos for these presentations should be submitted on Friday May 19.
- Attendance: Attendance to all student presentations (see dates above) is mandatory. A student may miss a maximum of two dates.
- Individual written final report: The final report is due on Friday. June 2.
Task | Name | Description | Team | Individual | Due Date |
A | Topic Selection | Topic Selection and Assignment: Students should form teams and submit their topic preferences | X | Su. 6. April 2025 23:59 | |
B1 | Presentation and Pedagogic example, exercise, or tutorial | The presentation will happen on one of the following days. The order of presentations will be determined by topic after the course started. Presentation days are stated in the schedule. The Pedagogic example, exercise, or tutorial is to be delivered as part of the presentation. | X | Individual | |
B2 | Submission of material | Presentation slides and materials from the pedagogic example, exercise, or tutorial must be submitted one week after the presentation via Canvas. | X | Individual | |
C | Leading a discussion | Leading a discussion will happen directly after the corresponding presentation. | X | Individual | |
D | Teach-me video | The video will help your follow students preparing the final report. |
X | Thurs. 22. May 2025, 23:59 | |
E | Attendance |
Attendance to all student presentations (see dates above) is mandatory. A student may miss two of the dates. |
X | All lectures | |
F | Report | A final report | X | Thurs. 12. June 2025, 23:59 |
The use of large language models in this course
For guidelines on how to use text generating large language models (LLMs) such as ChatGPT responsibly please see https://chalmers.instructure.com/courses/4215/pages/recommendations-on-use-of-generative-ai-in-software-engineering-courses?module_item_id=373207. If you use LLMs for creating your presentation or report, please add a disclaimer explaining how and for what aspects you used LLMs.
Grading
Grading will be based on individual achievements in the different project activities.
Lecture and Pedagogical Element |
Report |
Teach-Me Video |
|
3 |
The student gives a presentation that represents the theme correctly and to a reasonable degree. The presentation includes a correct pedagogical example, exercise, or tutorial. The student acts as a discussion leader. |
The student submits a sound individual written report that addresses the main aspects asked for in the report. |
% |
4 |
The student gives a presentation that represents the theme correctly and to a large degree, shown for example through the inclusion of releveant additional literature beyond the starting literature. The presentation includes a correct and illustrative pedagogical example, exercise, or tutorial. The student acts as a discussion leader, asking questions that show a general understanding of the presented topic. |
The student submits a sound individual written report that addresses the main aspects asked for in the report and shows the ability to critically reflect on the discussed topic. |
The student submits a teach-me video that is correct in presented content and of sufficient quality so that it can be shown to the class. |
5 |
The student gives a presentation that represents the theme correctly, to a large degree, and shows a depth of knowledge on the topic, shown for example through the inclusion of a significant number of releveant additional literature beyond the starting literature. The presentation includes a correct and illustrative pedagogical example, exercise, or tutorial that encourages participants to reflect critically on the topic and its limitations. The student acts as a discussion leader, asking questions that show a deep understanding of the presented topic and critical examination of the presented information. |
The student submits a sound individual written report that addresses all aspects asked for in the report and shows the ability to critically reflect on the discussed topic. |
The student submits a teach-me video that is correct in presented content, of sufficient quality so that it can be shown to the class and illustrates the information in an engaging way. |
Assessment Criteria
The assessment criteria for each graded element are summarised here: /courses/34210/pages/assessment-criteria
Grading Scheme
- Element 1 and Element 2 are Lecture and Report or vice versa.
- You must pass both elements to pass the course.
- Without the video, you cannot reach a 5.
Final Grade |
Element 1 |
Element 2 |
Video |
U |
U |
U |
%, 4 or 5 |
U |
U |
3 |
%, 4 or 5 |
3 |
3 |
3 |
%, 4 or 5 |
3 |
3 |
4 |
% |
4 |
3 |
4 |
4 or 5 |
4 |
4 |
4 |
%, 4 or 5 |
4 |
5 |
5 |
% |
4 |
5 |
3 |
%, 4 or 5 |
4 |
5 |
4 |
% |
5 |
4 |
5 |
4 or 5 |
5 |
5 |
5 |
4 or 5 |
Missed Deadlines and Revisions
Handling of missed deadlines and revisions depends on the grading component.
- Presentation: If a student fails to show up for their own presentation, a substitute literature review paper can be submitted. The deadline for the resubmission is August 21st, 2025.
- Pedagogic example, exercise, or tutorial: If a student fails to present a pedagogic element, in-depth example, or tutorial, as part of their presentation, a substitute presentation can be scheduled to "make up" for the missing aspects of their presentation.
- Teach-me video: The course can be passed without submission of a teach-me video. A re-submission is not possible.
- Discussion Leader: If a student fails to show up and act as a discussion leader for the assigned presentation, the student has one chance to compensate for that by submitting a report similiar to the report required for missed attendance (see below). The deadline for this substitution task is August 24st, 2025.
- Individual written final report: The individual report can be resubmitted on three dates: August 24st, 2025, October 26rd, 2025, and January 18th, 2026.
- Attendance: If a student misses more than 2 presentation days, the student has the chance to compensate for that by submitting a report including 2 page per lacking presentation day (i.e., if a student attended 8-X presentation days, they should pick X of the non-attended presentations). The report should discuss open questions and give constructive feedback on the presentation slides and pedagogic example, exercise, or tutorial, of the non-attended presentation. The deadline for this substitution task is August 24st, 2025.
Course summary:
Date | Details | Due |
---|---|---|