Master Courses for the Summer Semester 2024

Central allocation for seminars and practical courses for the summer semester 2024 has ended. If you are interested in places that become available due to deregistrations, please contact the course organisers. They will then contact you if you can still be accepted onto the course.

This lecture brings together two trending topics of technology-enhanced learning that have much overlap in terms of providing feedback and self-reflection.

On the one hand, concepts and methods, specific approaches, and standards in E-Assessment are discussed in detail, e.g., formative vs. summative; item-generation, assessment tools.

On the other hand, objectives, approaches, architectures, and standards for Learning Analytics are discussed with a focus on the application in the TEL domain, e.g., social network analysis, recommender systems, clustering, information visualizations.

In combination, E-Assessment and Learning Analytics can provide solid opportunities for optimizing learning and teaching.

The examination will be a combination of a group project and an oral examination.

Einschreibeschlüssel: TEL

In dieser Arbeitsgemeinschaft (AG) werden anspruchsvolle Themen der Künstlichen Intelligenz und des Machine Learning in enger Zusammenarbeit mit ausgewählten Studenten behandelt u.a. im Rahmen von Projekt- und Abschlussarbeiten.

In den Sitzungen der AG präsentieren und diskutieren wissenschaftliche Mitarbeiter des Lehrstuhls ihren aktuellen Forschungsstand (Progress Report) und wichtige Veröffentlichungen (Journal Club) im Bereich der Künstlichen Intelligenz.

Computer Games and Games related formats are an essential branch of the media industry, with sales exceeding those of the music or the movie industry. In many games, building a dynamic environment with autonomously acting entities is necessary. This comprises any types of mobile objects, non-player characters, computer opponents, or the dynamics of the environment itself. To model these elements, techniques from the area of Artificial Intelligence allow for modeling adaptive environments with interesting dynamics. From the point of view of AI Research, games currently provide multiple environments that allow the development of breakthrough technology in Artificial Intelligence and Deep Learning. Projects like OpenAIGym, AlphaGo, OpenAI5, and Alpha-Star earned much attention in the AI research community and the broad public. The reason for the importance of games for developing autonomous systems is that games provide environments that usually allow fast throughputs and provide clearly defined tasks for a learning agent to accomplish. The lecture provides an overview of techniques for building environment engines and making these suitable for large-scale, high-throughput games and simulations.
Furthermore, we will discuss the foundations of modeling agent behavior and how to evaluate it in deterministic and non-deterministic settings. Based on this formalism, we will discuss how to analyze and predict agent or player behavior. Finally, we will introduce various techniques for optimizing agent behavior, such as sequential planning and reinforcement learning.

Enrollment Key: ReadyPlayer#1

Please enroll yourself in the course. Enrollment key: ITP24

  • Lecture Date/Location: Thursdays, 12:15 – 13:45 / Geschwister-Scholl-Platz 1, Main Building, Room E 004
  • Excercises Date/Location: Fridays, 10:15 – 11:45 / Geschwister-Scholl-Platz 1, Main Building, Room E 004
Lecture 2 SWS, Exercise 2 SWS

This lecture focuses on Generative AI, deep learning approaches in computer vision that are generative so they cannot only analyze existing scenes, but in particular synthesize novel images and video.
Modern deep learning has fundamentally changed artificial intelligence. Computer vision was at the forefront of many of these developments and has tremendously benefited over the last decade from this progress. Novel applications as well as significant improvements to old problems continue to appear at a staggering rate. Especially the areas of image and video synthesis and understanding have seen previously unthinkable improvements and provided astounding visual results with wide-ranging implications (trustworthiness of AI, deep fakes).
We will discuss how a computer can learn to understand images and videos based on deep neural networks. The lecture will briefly review the necessary foundations of deep learning and computer vision and then cover the latest works from the quickly developing field of Generative AI. The practical exercises that accompany this course will provide hands-on experience and allow attendees to practice while building and experimenting with powerful image generation architectures.
Topics include but are not limited to:
* Image & video synthesis
* Visual superresolution and Image completion
* Artistic style transfer
* Interpretability, trustworthyness of deep models
* Self-supervised learning
* Modern deep learning approaches, such as transformers and self-attention, invertible neural networks, diffusion models, flow matching etc.

Self enrollment key: GenAISynth
Febr 19 - Apr 15

Einschreibeschlüssel/registration key: W:#;BXsN0Rzqal0WGvLf

This lecture will be in held English.

Einschreibeschlüssel/registration key: MSE

This lecture will be in held English.

Target audience: master level, advanced bachelor level (Wahlpflicht).

There are no hard requirements but we will assume you have some knowledge and experience in object-oriented programming from lectures such as introduction to programming and computer science, software engineering, and the practical programming courses.

The field of natural computing considers and employs algorithms and methods that are adopted or inspired by natural phenomena. This course will cover as such, e.g., evolutionary algorithms and other optimization methods, ant algorithms, cellular automata, artificial chemistry systems, quantum computing and neural networks, whose concepts are derived from biology, chemistry or physics.

Key to register: naco24

The topic of "preferences" has attracted considerable attention in Artificial Intelligence (AI) research in the recent past, notably in the emerging field of generative AI and large language models. Preferences provide a means for specifying desires in a declarative way, which is a point of critical importance for AI. Drawing on past research on knowledge representation and reasoning, AI offers qualitative and symbolic methods for treating preferences that can reasonably complement hitherto existing approaches from other fields, such as decision theory. Needless to say, however, the acquisition of preference information is not always an easy task. Therefore, not only are modeling languages and suitable representation formalisms needed, but also methods for the automatic learning, discovery, and adaptation of preferences. This has initiated the field of preference learning, which has established itself as an independent branch of machine learning in the last decade. Broadly speaking, preference learning is concerned with methods for learning preference models from explicit or implicit preference information, which are typically used for predicting the preferences of an individual or a group of individuals in new decision contexts. While research on preference learning has been specifically triggered by applications such as learning to rank (e.g., for information retrieval), recommender systems, and reinforcement learning from human feedback (RLHF), the methods developed in this field are useful in many other domains as well.

Please enrol yourself with the following key: PLR24

We will cover among other topics:

  • Review of Quantum Computing Basics
  • Quantum Optimization
    • Quantum Annealing (QUBO, Ising)
    • QAOA
    • Variational Quantum Eigensolver
    • Applications (MaxClique, Flight Gate Assignment, Robot Movement, Portfolio Optimization)
  • Quantum Machine Learning
    • Quantum Classifier and its Applications
    • Variational Classifiers
    • Quantum Neural Networks


The course targets first-year PhD students and last-year Master students, i.e., if you have just started as wissenschaftlicher Mitarbeiter or if you study in software engineering (projects or Master thesis) and want to learn more about topics in academic work environments. The idea is to cover things that nobody told you yet in the computer-science studies but which you need if you want to go for PhD.

In order to get started with the discussion, we will usually start presenting some material. This will automatically turn into a discussion after a while. If you are interested, please sign up and stop by.


  • Sciences: Wissen und Wissenschaft, Wissenschaft als Wissenskompression
  • Publications: Open Access and Open Science, Repositories, Bibliographic Data, Licenses
  • Artifacts
  • Bibliographic Data and Rankings, Impact of Rankings
  • Clustering of Research Areas
  • Peer Reviews
  • Authorship Criteria
  • Conflict of Interest
  • Plagiarism
  • Evaluation of Research Results, Competitions, Proofs, Experiments
  • Technical Writing, esp. with LaTeX
  • Structure of Research Papers
  • Grant Proposals
  • Team Work, Groups, Leadership
  • Principles

Please note: This course is mostly about how to do scientific work in the area of software engineering, it is not a course about software engineering itself. If you are interested in an advanced software-engineering course, we recommend Methods in Software Engineering.


There is no exam for this course, and subsequently no ECTS points. We can provide a participant certificate if you regularly attended the course.

The course happens weekly on Tuesday 14-16.

Registration key: SPSE24


Doctoral researchers and Master students interested in a PhD.

Registration Key: SWTest24

Tuesday, 12:15 pm - 01:45 pm, Amalienstr. 73A, 112
Thursday, 02:00 pm - 04:00 pm, Geschw.-Scholl-Pl. 1 - M 014

The course targets Master students in computer science or related programs. We expect participants to already have experience in programming and basic knowledge about software engineering.

The focus of the course is on testing functional behavior. This course introduces basic terms used in the area of software testing and looks into the process of test-case and test-suite generation. To this end, the course discusses the test oracle problem, i.e., whether or when a test is successful and the result of a test is expected. Also, the course covers different manual and automatic approaches for input generation, thereby distinguishing between black-, grey-, and whitebox techniques. Furthermore, the course compares various metrics to judge the adequacy of test suites. In addition, the course studies the issue of regression testing.

At the end of the course, you should be able to

  • explain basic testing terms
  • describe the test oracle problem
  • explain approaches that make correctness requirements, i.e., the expected test outcomes, executable 
  • formulate automatically checkable correctness requirements for requirements given in natural language
  • name and explain the studied input generation techniques and apply them to example programs
  • name, define, explain and distinguish the studied adequacy criteria for test suites, apply adequacy criteria to given test suites, and compare test suites based on adequacy criteria
  • describe techniques for regression testing and apply them to examples
  • discuss advantages, disadvantages, and limitations of the studied techniques

This course covers advanced techniques for automatic software verification, especially those in the field of software model checking. It continues the Bachelor course Formal Verification and Specification (FSV). Knowledge from FSV is helpful but not mandatory. This course can be used for the specialization "Programming, Software Verification, and Logic" in the MSc computer science (cf. German site on specializations).


The course will cover the following topics:

  1. Mathematical foundation for software verification
  2. Configurable program analysis
  3. Strongest postcondition
  4. Predicate abstraction with a fixed precision
  5. Craig interpolation and abstraction refinement (CEGAR)
  6. Predicate abstraction with precision adjustment
  7. Bounded model checking and k-induction
  8. Observer automata
  9. Verification witnesses
  10. Test generation and symbolic execution
  11. Cooperative verification
  12. Project: implementing a software verifier (2 weeks)

Reference Materials


The course consists of weekly lectures and tutorials. Important announcements are sent via Moodle messages.

Time Slots and Rooms

  • Lecture: 08:15 - 09:45, Wednesday, in Room 061, Oettingenstr. 67 (by Prof. Dr. Dirk Beyer)
  • Tutorial: 14:15 - 15:45, Thursday, in C 022, HGB (by Marek Jankola and Niann-Tzer Li, Ph.D.)

The first lecture session on 2024-04-17 will be about the detailed course organization and expectations. The first tutorial session will be on 2024-04-18.


Please enroll yourself with the key: t1/F0al,KdUzqgbf6-JW