Course syllabus

Course-PM: Welcome to DAT550 / DIT978 Advanced Software Engineering for AI/ML-Enabled Systems lp4 VT23 (7.5 hp)

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.

Contact details

Examiner: Eric Knauss (mail)

Lecturers: Hans-Martin Heyn (mail), Eric Knauss (mail)

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 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 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.

Support for seminar preparations

Every week after the lectures (Tuesday 10-11, 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 Hans-Martin Heyn (hans-martin.heyn@gu.se) or Eric Knauss (Eric.Knauss@cse.gu.se). You can also try to "drop-in" after the lecture, but then we cannot guarantuee that not another group has already reserved some time for guidance.

Components

The course consists of the following components.

  • Presentation (team 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 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 (team 2 students): In addition, teams produce a short “teach-me” video that illustrates one specific takeaway from their studies in an engaging way. The video will be shown to the class on the Tuesday after the presentation as part of the previous week’s summary. Exceptions are videos for presentations that are scheduled in the last week, as they are shown directly in the same week.
  • Discussion Leader (individual): Each student team acts as a discussion leader for another presentation. There are multiple discussion leaders per presentation.
  • Attendance (individual): Attendance at the presentations of other students is mandatory.
  • Individual written final report (individual): Each student submits an individual report reflecting on the things learned in the course.

Schedule

The room schedule and timetable can be found on TimeEdit.

Course literature

Initial course literature for each topic can be found in the respective Modules.

Course design

Week Number Tuesday (08:15 - 10:00) Friday (08:15 - 11:45) Task Due Dates
12 (21.03 / 24.03)

Introduction, General Overview of Themes (Link to Slides)

How to read & research scientific papers (Link to Slides). 

Fr. 2429.03 17:00

Task A: Topic Selection

13 (28.03 / 31.03)

Example of system architecture for ML enabled systems (Link to Slides)

Responsible AI Engineering (Link to Slides)






14 Self-Studies: Preparation of Presentations / Eastern
15 (14.04) Self-Studies: Preparation of Presentations / Eastern

Start: 08:30
Guest Lecture Volvo Trucks
AI Engineering: going beyond pipelines

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.

Link to Internships and Master Theses Page.

16 (18.04 / 21.04) Self-Studies: Preparation of Presentations
17 (25.04 / 28.04) Start: 08:30 Student Presentations Start: 08:30 Student Presentations
18 (02.05 / 05.05) Start: 08:30 Student Presentations Start: 08:30 Student Presentations
19 (09.05 / 12.05) Start: 08:30 Student Presentations Start: 08:30 Student Presentations
20 (16.05 / Wednesday, 17.05) Start: 08:30 Student Presentations

OBS! Wednesday 17.05

Start: 08:30 Student Presentations

 

21 (23.05 / 26.05) Start: 08:30 Student Presentations

Start: 08:30 Student Presentations &
Visit to AI.Sweden

 Fr. 26.05 19:00

Task D: Teach-me video

22 Exam Week

Exam Week, no lectures

Fr. 02.06 19:00

Task F: Individual Report

Presentation Schedule

The presentation schedule of the student presentations can be found here. NB: New version from 2023-05-05.

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

    Study plan (Chalmers)

    Study plan (GU)

Changes made since the last occasion

This is the first instance of this course.

Examination

  • Topic Selection and Assignment: Students should form teams of 2 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 of 2 and submit their topic preferences X Fri. 29. March 2023 17:00
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. Presentation days are: Tu. April 25, Fr. April 28, Tu. May 2, Fr. May 5, Tu. May 9, Fr. May 12, Tu. May 16, and Tu. May 23. The exact times will be shown in Canvas. 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 Should be submitted by Friday, 26th May 2023.
X Fri. 26. May 2023, 19:00
E Attendance

Attendance to all student presentations (see dates above) is mandatory. A student may miss one of the dates.

X All lectures
F Report A final report X Fri. 02. June 2023, 19:00

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://lor.instructure.com/resources/1c8bb6691f2543a399988bd20967e99b?shared. 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.

Requirements

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 and 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. The presentation includes a correct and illustrative pedagogical example, exercise, or tutorial. The student acts as a discussion leader, asking questions that show a good understanding of the presented 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. 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 gives a presentation that represents the theme correctly, to a large degree, and shows a depth of knowledge on the topic. 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 good understanding of the presented topic and critical examination of the presented information. 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. 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.

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 presentation can be given on the 17th of May, 2023. Re-submissions of the presentation slides or materials can be done on the following dates: August 21st, 2023, October 23rd, 2023, and January 15th, 2024
  • Pedagogic example, exercise, or tutorial: If a student fails to present a pedagogic example, exercise, or tutorial, as part of their presentation, materials for this task can be resubmitted on the following days: August 21st, 2023, October 23rd, 2023, and January 15th, 2024
  • 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 5-page report that discusses open questions and gives constructive feedback on the presentation slides, pedagogic example, exercise, or tutorial, and the final report of the group who gives that presentation. The deadline for this substitution task is August 21st, 2023.
  • Individual written final report: The individual report can be resubmitted on three dates: August 21st, 2023, October 23rd, 2023, and January 15th, 2024
  • Attendance: If a student fails to attend at least 8 of the 10 presentation days (including teach-me video presentations), the student has the chance to compensate for that by submitting a report including 1 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 21st, 2023.

Course summary:

Date Details Due