Course Contents
[list]
[*]Data structures: Arrays, lists, binary search trees, B-trees, graph representations, hash tables, heaps
[*]Algorithms: Sorting algorithms, string matching, traversing, insertion, search, and deletion in data structures, shortest path search, minimum spanning trees
[*]Asymptotic complexity: runtime, Landau notation, classes P and NP, NP-completeness
[*]Algorithmic strategies, for example: divide-and-conquer, dynamic programming, brute force, greedy, backtracking, metaheuristics
[/list]

Literature
Suitable references will be announced in the course. A good introduction is the book "Introduction to Algorithms" (fourth edition, April 2022) by Cormen, Leiserson, Rivest, Stein, The MIT Press. Earlier editions of the book can usually also be used.

Preconditions
Recommended:
Funktionale und objektorientierte Programmierkonzepte (Functional and object-oriented programming concepts)

Additional Information
https://moodle.tu-darmstadt.de/course/view.php?id=43541

Online Offerings
Moodle

Semester: Verão 2025

Course Contents
Modern compilers are primarily designed to produce efficient code for a particular platform and in doing so they employ sophisticated analysis and transformation tools. Such an infrastructure is useful also for source code transformation, e.g. for tools to annotate, instrument, or canonicalize codes. The complexity of C++ makes the development of such tools a challenging task.
An open compiler infrastructure used in a variety of research and production compilers is the LLVM infrastructure (www.llvm.org). A well-established front-end for C, C++ and objective C is Clang, which provides powerful mechanisms for extracting information from an abstract syntax tree representation of the underlying code, and thus enables source code modifications as well as the generation of the LLVM intermediate representation.

The students will work with different components and techniques of the Clang/LLVM framework and implement practical exercises for source transformation. The Clang/LLVM techniques include, in particular, handling and matching of the Clang abstract syntax tree. Examples for source transformation will highlight various facets of code augmentation or refactoring, e.g. for instrumenting parallel codes, for passing information between the static analysis and runtime environment of (parallel) codes, or for code refactoring to conform to coding standards.

Preconditions
Lecture Introduction to Compiler Construction (EiCB), Lecture System- and Parallel Programming (SPP), Knowledge of C++

Semester: Verão 2025

Course Contents
- Goals and challenges of explainability for computer vision
- Interpretability of classical machine learning models
- Global vs. local explanations
- Post hoc explanations
- Intrinsically explainable neural networks
- Evaluation of explanations
- Visualization techniques
- Applications of explanations 
- XAI beyond classification

Preconditions
Basic knowledge of computer vision, machine learning, and deep learning. For example, acquired through the courses Computer Vision I, Introduction to Artificial Intelligence, Deep Learning: Architectures & Methods, and/or Statistical Machine Learning.

Online Offerings
moodle

Semester: Verão 2025

Lehrinhalte
Anforderungen und Maßnahmen zur Sicherung der Quality-of-Service (QoS)

- Kriterien aus Anwendungs- & Nutzer-Sicht (QoE: Quality-of-Experience)
- QoS Architektur in IP-Netzen: Differentiated & Integrated Services
- QoS Support & Auswirkung je Anwendung im IP Verkehrs-Mix
  (Video-Streaming, VoIP, Web Browsing, Downloads, Social Networking, Gaming etc.)

Qualitätssicherung in der Netzinfrastruktur von IP Service Providern

- Einfluss der Netz- und Transportebene:
  Routing (OSPF, BGP), Multiprotocol Label Switching (MPLS), TCP mit Absicherung gegen Fehler und Ausfälle
- Messung, Monitoring, Optimierung von IP Verkehr bzgl. QoS
- Standardisierung und Kontrolle von QoS (bei IETF, BNetzA, etc.)

Qualitätssicherung in Service Overlays und auf Anwendungsebene

- Content Delivery Netze (CDN), Clouds, Peer-to-Peer Netze (P2P)
- Optimierung verteilter Daten-Caches, von Transport-Pfaden, Skalierbarkeit
 

Literatur
Wird in der Vorlesung angesprochen

Voraussetzungen
Vorwissen: Grundlegende Kenntnisse der Informatik und Internet-Anwendungen werden vorausgesetzt. Die Vorlesungen Kommunikationsnetze I und II sind empfohlen.

Online-Angebote
Moodle

Course Contents
Demands and measures for Quality of Service (QoS)

- Criteria from the view of applications & users (QoE: Quality of Experience)
- IP QoS Architecture: Differentiated & Integrated Services
- QoS support & impact per application in the current IP traffic mix
  (Video streaming, VoIP, web browsing, downloads, social networking, gaming etc.)

Quality support on the network infrastructure of IP service providers

- Impact of network and transport layer:
  Routing (OSPF, BGP), Multiprotocol Label Switching (MPLS), TCP incl. failure handling and resilience
- Measurement, monitoring and optimization of IP traffic regarding QoS criteria
- Standardization and control of QoS (@ the IETF, BNetzA, etc.)

Quality support in service overlays and on application layer

- Content Delivery Networks (CDN), clouds and Peer-to-Peer networks (P2P)
- Optimization for distributed caches, transport paths, scalability
 

Literature
Will be addressed in lecture

Preconditions
Prerequisites: Basic knowledge in computer science and Internet applications is required. The courses on Kommunikationsnetze I and II are recommended.

Online Offerings
Moodle

Semester: Verão 2025

Course Contents
The lab course offers development projects relevant to the current research of the research group “Science and Technology for Peace and Security” (PEASEC). Additionally to a broad overview, students will gain insight in a specific area of development. These topics are linked to the specializations of the members of the research group and provide the students with technical and scientific insight. The topics will be worked on in small groups.
Examples for topics are available at www.peasec.de/lehre

Literature
Reuter, C. (2018) Sicherheitskritische Mensch-Computer-Interaktion: Interaktive Technologien und Soziale Medien im Krisen- und Sicherheitsmanagement, 660 S., Wiesbaden: Springer Vieweg – im Druck
Altmann, J., Bernhardt, U., Nixdorff, K., Ruhmann, I., & Wöhrle, D. (2016). Naturwissenschaft - Rüstung - Frieden - Basiswissen für die Friedensforschung (Vol. 49), Wiesbaden: Springer Vieweg.
Further literature will be provided in the course dependent on the selected topic.
Voraussetzungen:

Preconditions
Foundations of Computer Science/Functional and Object-oriented Programming Concepts

Semester: Verão 2025

Course Contents
• Markov Decision Process
• Value Functions, Bellman Operator, Policies
• Dynamic Programming
• Monte-Carlo Reinforcement Learning
• Temporal Difference Learning
• Tabular Reinforcement Learning
• Reinforcement Learning with Function Approximation
• Deep Q-Learning
• On-policy and off-policy deep actor-critic
• Model-based Reinforcement Learning
• Intrinsic Motivation
 

Literature
Reinforcement Learning: An Introduction, Sutton and Barto, 2nd Edition: [url]http://incompleteideas.net/book/RLbook2018.pdf[/url]

Preconditions
Good programming in Python.
Lecture Statistical Machine Learning is helpful but not mandatory.

Official Course Description
[b]Motivation:[/b]

"The fundamental challenge in artificial intelligence and machine learning is learning to make good decisions under uncertainty," -- Emma Brunskill. 

Reinforcement learning (RL) is an area of machine learning concerned with how intelligent agents should take actions in an environment to maximize the cumulative rewards. Reinforcement learning is one of three basic machine learning paradigms, alongside supervised learning and unsupervised learning. RL differs from supervised learning in not needing labeled input/output pairs to be presented and not needing sub-optimal actions to be explicitly corrected. Instead, the focus is on finding a balance between exploration (uncharted territory) and exploitation (of current knowledge).

[b]About this course:[/b]

This course will take you through the foundation of reinforcement learning methods till recent deep reinforcement learning advances. By the end of this course, you will have a solid knowledge of the field, and you will be able to solve problems with different reinforcement learning algorithms. This course serves as an excellent background for people wanting to carry out reinforcement learning research independently,  e.g., within the scope of a Bachelor's or Master's thesis. 

Additional Information
The in-person lecture will be accompanied by an online problem-solving solving session (coding exercises) and Q&A session. 

Online Offerings
moodle

Semester: Verão 2025

Course Contents
- Statistical Methods for Machine Learning
- Refreshers on Statistics, Optimization and Linear Algebra
- Bayes Decision Theory
- Probability Density Estimation
- Non-Parametric Models
- Mixture Models and EM-Algorithms
- Linear Models for Classification and Regression
- Statistical Learning Theory
- Kernel Methods for Classification and Regression

Literature
1. C.M. Bishop, Pattern Recognition and Machine Learning (2006), Springer
2. K.P. Murphy, Machine Learning: a Probabilistic Perspective (expected 2012), MIT Press
3. D. Barber, Bayesian Reasoning and Machine Learning (2012), Cambridge University Press
4. T. Hastie, R. Tibshirani, and J. Friedman (2003), The Elements of Statistical Learning, Springer Verlag
5. D. MacKay, Information Theory, Inference, and Learning Algorithms (2003), Cambridge University Press
6. R.O. Duda, P.E. Hart, and D.G. Stork, Pattern Classification (2nd ed. 2001), Willey-Interscience
7. T.M. Mitchell, Machine Learning (1997), McGraw-Hill

Semester: Verão 2025