The course introduces fundamental concepts and methods of GPU programming, with a particular focus on numerically intensive applications. Starting from the hardware architecture of modern graphics processors, concepts of massively parallel programming (e.g., using CUDA) are introduced systematically, including the memory model, thread hierarchy, parallel programming patterns, and performance optimization.
A central application area is accelerated linear algebra—the computational foundation of modern simulation and machine learning methods such as neural networks, generative models, and physical particle simulations. The course is project-oriented and includes an independent graded implementation project.
The course introduces fundamental concepts and methods of GPU programming, with a particular focus on numerically intensive applications. Starting from the hardware architecture of modern graphics processors, concepts of massively parallel programming (e.g., using CUDA) are introduced systematically, including the memory model, thread hierarchy, parallel programming patterns, and performance optimization.
A central application area is accelerated linear algebra—the computational foundation of modern simulation and machine learning methods such as neural networks, generative models, and physical particle simulations. The course is project-oriented and includes an independent graded implementation project.
Ausgewählte Kapitel des Wissenschaftlichen Rechnens
Semester:
WS 26/27
Inhalt:
Aktuelle weiterführende Forschungsthemen des wissenschaftlichen Rechnens, wie z.B. adaptive Finite Elemente, hierarchische Basen und dünne Gitter, robuste Multilevellöser, Wavelets und schnelle Wavelettransformation, p-Version oder Spektralverfahren.
Ausgewählte Kapitel des Wissenschaftlichen Rechnens
Semester:
WS 26/27
Inhalt:
Aktuelle weiterführende Forschungsthemen des wissenschaftlichen Rechnens, wie z.B. adaptive Finite Elemente, hierarchische Basen und dünne Gitter, robuste Multilevellöser, Wavelets und schnelle Wavelettransformation, p-Version oder Spektralverfahren.
Die Studierenden haben einen Überblick über das Wissenschaftsgebiet der Informatik. Insbesondere können Sie die unterschiedlichen Grundlagen und Forschungsrichtungen einschätzen und einordnen. Dabei bekommen sie ein erstes Verständnis der Arbeitsweisen der verschiedenen Gebiete in der Informatik. Die Studierenden verstehen, wie sie in einem technischen Studiengang wie der Informatik das Studium angehen sollten, um erfolgreich zu sein.
Die Studierenden haben einen Überblick über das Wissenschaftsgebiet der Informatik. Insbesondere können Sie die unterschiedlichen Grundlagen und Forschungsrichtungen einschätzen und einordnen. Dabei bekommen sie ein erstes Verständnis der Arbeitsweisen der verschiedenen Gebiete in der Informatik. Die Studierenden verstehen, wie sie in einem technischen Studiengang wie der Informatik das Studium angehen sollten, um erfolgreich zu sein.
After attending this lecture, students understand the challenges behind the integration of heterogeneous data sources in consolidated warehouses and the provisioning of analytical services. They know the typical data warehouse architecture as well as current trends, e.g., real-time data warehousing. Further topics are the structure of a data warehouse and the main processes for building data warehouses (extraction, transformation, load). A special focus is on technologies to analyze data warehouse data, e.g., reporting, online analytic processing and data mining, and their role as part of analytical services. Introduction to data warehousing - Data warehouse architecture - Data warehouse design - Extraction, transformation, load - ETL as a service - Introduction to analytics and analytic services - Real-time reporting - Online analytic processing - Data mining
After attending this lecture, students understand the challenges behind the integration of heterogeneous data sources in consolidated warehouses and the provisioning of analytical services. They know the typical data warehouse architecture as well as current trends, e.g., real-time data warehousing. Further topics are the structure of a data warehouse and the main processes for building data warehouses (extraction, transformation, load). A special focus is on technologies to analyze data warehouse data, e.g., reporting, online analytic processing and data mining, and their role as part of analytical services. Introduction to data warehousing - Data warehouse architecture - Data warehouse design - Extraction, transformation, load - ETL as a service - Introduction to analytics and analytic services - Real-time reporting - Online analytic processing - Data mining
Die Vorlesung "Datenbanken und Informationssysteme" ist als Einstiegsveranstaltung in das Vertiefungsgebiet Datenbanksysteme konzipiert. Aufbauend auf dem Inhalt der Vorlesung "Modellierung" werden insbesondere Entwurfs- und Realisierungsaspekte von Datenbanksystemen betrachtet. Die Entwicklung, Installation und Administration von Datenbanksystemen bestimmen hier sowohl Stoffauswahl als auch Detaillierungsgrad.
Als Grundlage für alle weiteren Betrachtungen wird ein Schichtenmodell zur Beschreibung eines allgemeinen Datenbanksystems vorgestellt. Darauf aufbauend werden die einzelnen Systemschichten im Detail diskutiert, die dort zu realisierenden Komponenten betrachtet sowie die jeweils vorherrschenden Algorithmen beschrieben und bewertet. Im einzelnen werden folgende Aspekte vertieft: Anwendungsprogrammierschnittstelle, Externspeicherverwaltung, DBS-Pufferverwaltung, Speicherungsstrukturen und Zugriffspfadstrukturen, Anfrageverarbeitung und Anfrageoptimierung, Transaktionsverarbeitung, Synchronisation, Logging und Recovery.
Die Vorlesung "Datenbanken und Informationssysteme" ist als Einstiegsveranstaltung in das Vertiefungsgebiet Datenbanksysteme konzipiert. Aufbauend auf dem Inhalt der Vorlesung "Modellierung" werden insbesondere Entwurfs- und Realisierungsaspekte von Datenbanksystemen betrachtet. Die Entwicklung, Installation und Administration von Datenbanksystemen bestimmen hier sowohl Stoffauswahl als auch Detaillierungsgrad.
Als Grundlage für alle weiteren Betrachtungen wird ein Schichtenmodell zur Beschreibung eines allgemeinen Datenbanksystems vorgestellt. Darauf aufbauend werden die einzelnen Systemschichten im Detail diskutiert, die dort zu realisierenden Komponenten betrachtet sowie die jeweils vorherrschenden Algorithmen beschrieben und bewertet. Im einzelnen werden folgende Aspekte vertieft: Anwendungsprogrammierschnittstelle, Externspeicherverwaltung, DBS-Pufferverwaltung, Speicherungsstrukturen und Zugriffspfadstrukturen, Anfrageverarbeitung und Anfrageoptimierung, Transaktionsverarbeitung, Synchronisation, Logging und Recovery.
Die Vorlesung "Datenbanken und Informationssysteme" ist als Einstiegsveranstaltung in das Vertiefungsgebiet Datenbanksysteme konzipiert. Aufbauend auf dem Inhalt der Vorlesung "Modellierung" werden insbesondere Entwurfs- und Realisierungsaspekte von Datenbanksystemen betrachtet. Die Entwicklung, Installation und Administration von Datenbanksystemen bestimmen hier sowohl Stoffauswahl als auch Detaillierungsgrad.
Als Grundlage für alle weiteren Betrachtungen wird ein Schichtenmodell zur Beschreibung eines allgemeinen Datenbanksystems vorgestellt. Darauf aufbauend werden die einzelnen Systemschichten im Detail diskutiert, die dort zu realisierenden Komponenten betrachtet sowie die jeweils vorherrschenden Algorithmen beschrieben und bewertet. Im einzelnen werden folgende Aspekte vertieft: Anwendungsprogrammierschnittstelle, Externspeicherverwaltung, DBS-Pufferverwaltung, Speicherungsstrukturen und Zugriffspfadstrukturen, Anfrageverarbeitung und Anfrageoptimierung, Transaktionsverarbeitung, Synchronisation, Logging und Recovery.
Die Vorlesung "Datenbanken und Informationssysteme" ist als Einstiegsveranstaltung in das Vertiefungsgebiet Datenbanksysteme konzipiert. Aufbauend auf dem Inhalt der Vorlesung "Modellierung" werden insbesondere Entwurfs- und Realisierungsaspekte von Datenbanksystemen betrachtet. Die Entwicklung, Installation und Administration von Datenbanksystemen bestimmen hier sowohl Stoffauswahl als auch Detaillierungsgrad.
Als Grundlage für alle weiteren Betrachtungen wird ein Schichtenmodell zur Beschreibung eines allgemeinen Datenbanksystems vorgestellt. Darauf aufbauend werden die einzelnen Systemschichten im Detail diskutiert, die dort zu realisierenden Komponenten betrachtet sowie die jeweils vorherrschenden Algorithmen beschrieben und bewertet. Im einzelnen werden folgende Aspekte vertieft: Anwendungsprogrammierschnittstelle, Externspeicherverwaltung, DBS-Pufferverwaltung, Speicherungsstrukturen und Zugriffspfadstrukturen, Anfrageverarbeitung und Anfrageoptimierung, Transaktionsverarbeitung, Synchronisation, Logging und Recovery.
Einführung in Artificial Intelligence and Data Science
Semester:
WS 26/27
Inhalt:
• Vermittlung relevanter Begrifflichkeiten, Definitionen und Standards im Data Science Kontext • Überblick über konzeptionelle Frameworks wie CRISP-DM und den KDD-Prozess zur strukturierten Datenanalyse • Einführung in Modellierungstechniken zur strukturellen Darstellung von Prozessen und Daten • Vermittlung grundlegender algorithmischer Ansätze der Datenana-lyse • Nutzung von einfachen Datenanalysewerkzeugen • Einführung in die Programmiersprache Python und Nutzung von Jupyter Notebooks
Einführung in Artificial Intelligence and Data Science
Semester:
WS 26/27
Inhalt:
• Vermittlung relevanter Begrifflichkeiten, Definitionen und Standards im Data Science Kontext • Überblick über konzeptionelle Frameworks wie CRISP-DM und den KDD-Prozess zur strukturierten Datenanalyse • Einführung in Modellierungstechniken zur strukturellen Darstellung von Prozessen und Daten • Vermittlung grundlegender algorithmischer Ansätze der Datenana-lyse • Nutzung von einfachen Datenanalysewerkzeugen • Einführung in die Programmiersprache Python und Nutzung von Jupyter Notebooks
Die Lehrveranstaltung vermittelt grundlegende Kenntnisse der Informatik und führt in aktuell populäre Werkzeuge ein. Mögliche Themen beinhalten: • Einführung in das Informatikstudium, C@mpus und ILIAS • Software-Entwicklung und -verwaltung mit Git und Docker • Arbeiten mit Linux-Terminalinterface, SSH, Ausführen von Programmen auf entfernten Rechnern • Aufbau verteilter Systeme, Kommunikation über das Internet • KI-unterstütztes Arbeiten • Methoden der Software-Evaluation und Datenanalyse • Erstellen von Studienarbeiten und Präsentationen, LaTeX
Die Lehrveranstaltung vermittelt grundlegende Kenntnisse der Informatik und führt in aktuell populäre Werkzeuge ein. Mögliche Themen beinhalten: • Einführung in das Informatikstudium, C@mpus und ILIAS • Software-Entwicklung und -verwaltung mit Git und Docker • Arbeiten mit Linux-Terminalinterface, SSH, Ausführen von Programmen auf entfernten Rechnern • Aufbau verteilter Systeme, Kommunikation über das Internet • KI-unterstütztes Arbeiten • Methoden der Software-Evaluation und Datenanalyse • Erstellen von Studienarbeiten und Präsentationen, LaTeX
Fachpraktikum Software-defined and Time-Sensitive Networking
Semester:
WS 26/27
Inhalt:
Computer networks are essential for many modern applications. The Internet of Things (IoT) and Industrial Internet of Things (“Industrie 4.0”) implement networks of sensors, actuators, and controllers to control machines in factories, smart home devices, or any kind of “cyber-physical” system. Cloud computing services rely on huge data-center networks to connect hundreds of thousands of machines in each data center. Mobile networks provide connectivity for autonomous cars and other vehicles such as unmanned aerial vehicles (UAV). Such applications face great challenges: (1) the flexibility to adapt the network quickly and automatically to new applications, protocols, devices (“plug and produce”), etc.; (2) high efficiency while using precious network resources; (3) providing quality of service such a guaranteed bandwidth or real-time guarantees (bounded delay). The goal of this lab-course (Fachpraktikum) is to get practical hands-on experience and profound technical knowledge of two specific modern networking technologies: Software Defined Networking (SDN) and Time-Sensitive Networking (TSN). SDN has been first introduced and utilized by companies such as Google and Microsoft to improve the efficiency and flexibility of their networking and cloud infrastructures. SDN is based on the following essential concepts: separation of network data plane (forwarding of packets by switches and routers) and control plane (controlling network devices such as switches and routers). In particular, the control plane is “outsourced” to a logically centralized network controller with global view onto the network and communication flows (data streams between applications). The network controller implements the control logic (“apps”) “in software” using standard programming languages such as C, Java, or Python to dynamically control the forwarding of packets by the data plane or dynamic configuration of other network functionality such as firewalls or load balancers. TSN is a set of official IEEE standards that extend standard IEEE 802.3 (Ethernet) networks to enable “hard” real-time applications requiring deterministic bounds on network delay and delay variation (jitter) as typically required by safety-critical networked applications (e.g., control of machines in a factory, or sensors and actuators in cars, planes, etc.). In particular, TSN introduces so-called shapers to schedule packets to be forwarded based on their priority, as well as other functionality to increase reliability (packet duplication), robustness (filtering of packets), time synchronization, etc. After presenting the specific knowledge about SDN and TSN to the participants, the participants will practically apply their knowledge by implementing different networked applications and systems to gain hands-on experience with these technologies. Besides SDN and TSN, different tools and technologies will be taught and used in this course, such as network programming, network emulators (Mininet), network simulators (OMNeT++/INET), software SDN switches (Open vSwitch), Linux networking mechanisms (Queuing Disciplines/QDISCs), and Controller Area Networks (CAN).
Fachpraktikum Software-defined and Time-Sensitive Networking
Semester:
WS 26/27
Inhalt:
Computer networks are essential for many modern applications. The Internet of Things (IoT) and Industrial Internet of Things (“Industrie 4.0”) implement networks of sensors, actuators, and controllers to control machines in factories, smart home devices, or any kind of “cyber-physical” system. Cloud computing services rely on huge data-center networks to connect hundreds of thousands of machines in each data center. Mobile networks provide connectivity for autonomous cars and other vehicles such as unmanned aerial vehicles (UAV). Such applications face great challenges: (1) the flexibility to adapt the network quickly and automatically to new applications, protocols, devices (“plug and produce”), etc.; (2) high efficiency while using precious network resources; (3) providing quality of service such a guaranteed bandwidth or real-time guarantees (bounded delay). The goal of this lab-course (Fachpraktikum) is to get practical hands-on experience and profound technical knowledge of two specific modern networking technologies: Software Defined Networking (SDN) and Time-Sensitive Networking (TSN). SDN has been first introduced and utilized by companies such as Google and Microsoft to improve the efficiency and flexibility of their networking and cloud infrastructures. SDN is based on the following essential concepts: separation of network data plane (forwarding of packets by switches and routers) and control plane (controlling network devices such as switches and routers). In particular, the control plane is “outsourced” to a logically centralized network controller with global view onto the network and communication flows (data streams between applications). The network controller implements the control logic (“apps”) “in software” using standard programming languages such as C, Java, or Python to dynamically control the forwarding of packets by the data plane or dynamic configuration of other network functionality such as firewalls or load balancers. TSN is a set of official IEEE standards that extend standard IEEE 802.3 (Ethernet) networks to enable “hard” real-time applications requiring deterministic bounds on network delay and delay variation (jitter) as typically required by safety-critical networked applications (e.g., control of machines in a factory, or sensors and actuators in cars, planes, etc.). In particular, TSN introduces so-called shapers to schedule packets to be forwarded based on their priority, as well as other functionality to increase reliability (packet duplication), robustness (filtering of packets), time synchronization, etc. After presenting the specific knowledge about SDN and TSN to the participants, the participants will practically apply their knowledge by implementing different networked applications and systems to gain hands-on experience with these technologies. Besides SDN and TSN, different tools and technologies will be taught and used in this course, such as network programming, network emulators (Mininet), network simulators (OMNeT++/INET), software SDN switches (Open vSwitch), Linux networking mechanisms (Queuing Disciplines/QDISCs), and Controller Area Networks (CAN).
This Lab-Course is meant as an introduction to the world of parallel computing and simulations. The main project is the parallel implementation of an n-body algorithm simulating our solar system including planets, dwarf planets, moons, and asteroids. The primary goal of this Lab-Course is to get familiar with parallelization strategies and frameworks established in the High- Performance Computing (HPC) community. Other goals include: • gaining experience with versioning software like Git as well as continuous integration • a practical and efficient application of tree data structures • working with remote systems • learning to translate mathematical equations or pseudo-code to actual source code • usage of established programs in the world of simulations (e.g., ParaView) • practicing writing short scientific texts as well as giving short presentations
This Lab-Course is meant as an introduction to the world of parallel computing and simulations. The main project is the parallel implementation of an n-body algorithm simulating our solar system including planets, dwarf planets, moons, and asteroids. The primary goal of this Lab-Course is to get familiar with parallelization strategies and frameworks established in the High- Performance Computing (HPC) community. Other goals include: • gaining experience with versioning software like Git as well as continuous integration • a practical and efficient application of tree data structures • working with remote systems • learning to translate mathematical equations or pseudo-code to actual source code • usage of established programs in the world of simulations (e.g., ParaView) • practicing writing short scientific texts as well as giving short presentations
Überblick über die Simulationspipeline und die Wechselwirkungen zwischen den einzelnen Schritten Skalenabhängige Modellierung Diskretisierung (Gitter, Finite Elemente, Zeitschrittverfahren) Algorithmen (Gittergenerierung, Adaptivität, Lineare Löser, Linked-Cell, Fast Multipole) Parallelisierung (Gitterpartitionierung, Lastbalancierung) Kurzer Überblick über die Visualisierung
Überblick über die Simulationspipeline und die Wechselwirkungen zwischen den einzelnen Schritten Skalenabhängige Modellierung Diskretisierung (Gitter, Finite Elemente, Zeitschrittverfahren) Algorithmen (Gittergenerierung, Adaptivität, Lineare Löser, Linked-Cell, Fast Multipole) Parallelisierung (Gitterpartitionierung, Lastbalancierung) Kurzer Überblick über die Visualisierung
Entwicklung von Rechensystemen und Programmiersprachen Aufbau von Programmiersprachen, kontextfreie Grammatiken, reguläre Ausdrücke, Syntaxdarstellungen Grundlegende Entwicklungswerkzeuge Die Programmiersprache Python, Abgrenzung interpretierte und kompilierte Programmiersprachen Gängige Bibliotheken und Hilfsmittel in Python Ausdrücke und ihre Bedeutung, Boolsche Logik Variablen, Datentypen, Objekte Schleifen, Iteratoren, Hoarsche Regeln und Schleifeninvarianten Objekte, Abstraktionen und Modularisierung Programmstrukturen, Rekursion Vererbung, Modellierung mit UML Einfache Algorithmen und Datenstrukturen
Entwicklung von Rechensystemen und Programmiersprachen Aufbau von Programmiersprachen, kontextfreie Grammatiken, reguläre Ausdrücke, Syntaxdarstellungen Grundlegende Entwicklungswerkzeuge Die Programmiersprache Python, Abgrenzung interpretierte und kompilierte Programmiersprachen Gängige Bibliotheken und Hilfsmittel in Python Ausdrücke und ihre Bedeutung, Boolsche Logik Variablen, Datentypen, Objekte Schleifen, Iteratoren, Hoarsche Regeln und Schleifeninvarianten Objekte, Abstraktionen und Modularisierung Programmstrukturen, Rekursion Vererbung, Modellierung mit UML Einfache Algorithmen und Datenstrukturen
In den letzten Jahren sind, vorangetrieben durch die Anforderungen innovativer Anwendungen und Dienste, neue Technologien für vernetzte und verteilte Systeme entstanden. So werden im Internet der Dinge (IoT) eine Vielzahl von Geräten und Alltagsgegenständen mit Sensoren und Aktoren ausgestattet, mithilfe meist drahtloser Kommunikationstechnologien (z.B. BLE, ZigBee, 6LoWPAN, LoRaWAN) vernetzt und an das Internet angebunden. Im industriellen Internet der Dinge (IIoT, Industrie 4.0) werden maßgeblich Maschinen, Werkzeuge, Fahrzeuge usw. vernetzt. Ein zentrales Thema in diesem Kontext ist Machine-to-Machine Communication (M2M). Ein weiterer Trend ist die Flexibilisierung und Effizienzsteigerung verteilter Systeme durch Virtualisierung (z.B. NFV) und „software-definierte“ Systeme (z.B. SDN), die flexible Anpassung und dynamische Skalierung ermöglichen. Neben stationären Netzen haben sich mobile (5G) Kommunikationstechnologien und Systeme rasch weiterentwickelt. Ein weiteres Thema ist dabei die Verringerung von Latenzen, häufig mit dem Ziel, Echtzeitkommunikation (Real-Time-Ethernet) zu ermöglichen. Zudem kommen zusätzlich zu zentralisierten Cloud-Ressourcen verstärkt auch Edge- und Fog-Ressourcen in unmittelbarer Nähe des Endnutzers zum Einsatz. Zudem werden optimierte Kommunikationsprotokolle (z.B. HTTP) 2.0/SPDY, QUIC) eingesetzt, um unter anderem einen raschen Verbindungsaufbau zwischen Client und Server zu ermöglichen. In diesem Seminar befassen wir uns eingehend mit Technologien in den oben genannten Bereichen. Die Themen werden auf der Homepage des Fachbereichs veröffentlicht und gemäß einem standardisierten Verfahren zugewiesen, das in der Einführungsveranstaltung erläutert wird.
In den letzten Jahren sind, vorangetrieben durch die Anforderungen innovativer Anwendungen und Dienste, neue Technologien für vernetzte und verteilte Systeme entstanden. So werden im Internet der Dinge (IoT) eine Vielzahl von Geräten und Alltagsgegenständen mit Sensoren und Aktoren ausgestattet, mithilfe meist drahtloser Kommunikationstechnologien (z.B. BLE, ZigBee, 6LoWPAN, LoRaWAN) vernetzt und an das Internet angebunden. Im industriellen Internet der Dinge (IIoT, Industrie 4.0) werden maßgeblich Maschinen, Werkzeuge, Fahrzeuge usw. vernetzt. Ein zentrales Thema in diesem Kontext ist Machine-to-Machine Communication (M2M). Ein weiterer Trend ist die Flexibilisierung und Effizienzsteigerung verteilter Systeme durch Virtualisierung (z.B. NFV) und „software-definierte“ Systeme (z.B. SDN), die flexible Anpassung und dynamische Skalierung ermöglichen. Neben stationären Netzen haben sich mobile (5G) Kommunikationstechnologien und Systeme rasch weiterentwickelt. Ein weiteres Thema ist dabei die Verringerung von Latenzen, häufig mit dem Ziel, Echtzeitkommunikation (Real-Time-Ethernet) zu ermöglichen. Zudem kommen zusätzlich zu zentralisierten Cloud-Ressourcen verstärkt auch Edge- und Fog-Ressourcen in unmittelbarer Nähe des Endnutzers zum Einsatz. Zudem werden optimierte Kommunikationsprotokolle (z.B. HTTP) 2.0/SPDY, QUIC) eingesetzt, um unter anderem einen raschen Verbindungsaufbau zwischen Client und Server zu ermöglichen. In diesem Seminar befassen wir uns eingehend mit Technologien in den oben genannten Bereichen. Die Themen werden auf der Homepage des Fachbereichs veröffentlicht und gemäß einem standardisierten Verfahren zugewiesen, das in der Einführungsveranstaltung erläutert wird.
Practical Course Information Systems: Text-to-SQL via LLM-Technologies
Semester:
WS 26/27
Inhalt:
This practical course mainly focuses on data-intensive applications and how they process, analyze and store their data. Nowadays, the amount of data in applications is growing intensely. This data can be either structured, e.g., stored in relational database systems such as MySQL, or unstructured, e.g., stored in text documents, pictures or other media files. Deriving information and, as a consequence, knowledge from this data is a huge challenge. To cope with this issue, new data analytics and data management technologies have been developed that focus on both, deriving information from this large amount of structured and unstructured data (e.g., machine learning, data mining, natural language processing, large language models, …) and data platforms (e.g., data mesh, data lake, …) as well as the underlying data storage (e.g. NoSQL databases, column- stores, RDBMS…). Another recent technology is text-to-sql transformation via LLM technologies (e.g. BIRD-SQL). For this topic, we cooperate with IBM to evaluate various foundation models regarding their suitability for text-to-sql. First Meeting The first meeting will be at the beginning of the winter term. Registered participants will be informed by email. Remarks This course is primarily offered for students of the Master Informatik, Master Softwaretechnik, Master Autonome Systeme (Vernetzte Intelligenz) and Master Computer Science (STE). This practical course is not available for students of INFOTECH. Participants will work in small teams of typically three students. Prerequisites Experience in programming and system development as well as knowledge on database systems and information systems, in particular SQL, e.g. from lecture "Modellierung" is mandatory
Practical Course Information Systems: Text-to-SQL via LLM-Technologies
Semester:
WS 26/27
Inhalt:
This practical course mainly focuses on data-intensive applications and how they process, analyze and store their data. Nowadays, the amount of data in applications is growing intensely. This data can be either structured, e.g., stored in relational database systems such as MySQL, or unstructured, e.g., stored in text documents, pictures or other media files. Deriving information and, as a consequence, knowledge from this data is a huge challenge. To cope with this issue, new data analytics and data management technologies have been developed that focus on both, deriving information from this large amount of structured and unstructured data (e.g., machine learning, data mining, natural language processing, large language models, …) and data platforms (e.g., data mesh, data lake, …) as well as the underlying data storage (e.g. NoSQL databases, column- stores, RDBMS…). Another recent technology is text-to-sql transformation via LLM technologies (e.g. BIRD-SQL). For this topic, we cooperate with IBM to evaluate various foundation models regarding their suitability for text-to-sql. First Meeting The first meeting will be at the beginning of the winter term. Registered participants will be informed by email. Remarks This course is primarily offered for students of the Master Informatik, Master Softwaretechnik, Master Autonome Systeme (Vernetzte Intelligenz) and Master Computer Science (STE). This practical course is not available for students of INFOTECH. Participants will work in small teams of typically three students. Prerequisites Experience in programming and system development as well as knowledge on database systems and information systems, in particular SQL, e.g. from lecture "Modellierung" is mandatory
Selbstorganisierende und adaptive Systeme (Self-Organizing and Adaptive Systems)
Semester:
WS 26/27
Inhalt:
Self-organizing systems adapt themselves to the current state of their execution environment. This lecture discusses focal application areas of context-aware computing and the technical background. It covers fundamental concepts, algorithms, and protocols for the design and implementation of adaptive systems, following the MAPE (Monitoring, Analysis, Planning, Execution) adaptation framework.
The lecture is complemented by an exercise with a case study assignment. Successful completion of the case study is a prerequisite for participation in the exam.
Selbstorganisierende und adaptive Systeme (Self-Organizing and Adaptive Systems)
Semester:
WS 26/27
Inhalt:
Self-organizing systems adapt themselves to the current state of their execution environment. This lecture discusses focal application areas of context-aware computing and the technical background. It covers fundamental concepts, algorithms, and protocols for the design and implementation of adaptive systems, following the MAPE (Monitoring, Analysis, Planning, Execution) adaptation framework.
The lecture is complemented by an exercise with a case study assignment. Successful completion of the case study is a prerequisite for participation in the exam.
Grundlegende Systemstrukturen und -organisationen: Multitaskingsystem, Multiprozessorsystem, Verteiltes System Modellierung und Analyse nebenläufiger Programme Abstraktionen: Atomare Befehle, Prozesse, nebenläufige Programme Korrektheitkriterien nebenläufiger Programme Betriebssystemkonzepte:
Organisation von Betriebssystemen Prozesse und Threads Scheduling-Konzepte
Synchronisation über gemeinsamen Speicher:
Synchronisationsalgorithmen und Mechanismen: Dekker, Bakery, Fast Mutual Exclusion, Synchronisation mit atomaren Befehlen, Semaphor, Monitor Nebenläufige Programmierung in Java Synchronisationsprobleme und -lösungen
Grundlagen Rechnernetze
Grundlagen IP Grundlagen Transportprotokolle Socket-Schnittstelle
Konzepte zur Kommunikation und Synchronisation mittels Nachrichtentransfer
Grundlegende Systemstrukturen und -organisationen: Multitaskingsystem, Multiprozessorsystem, Verteiltes System Modellierung und Analyse nebenläufiger Programme Abstraktionen: Atomare Befehle, Prozesse, nebenläufige Programme Korrektheitkriterien nebenläufiger Programme Betriebssystemkonzepte:
Organisation von Betriebssystemen Prozesse und Threads Scheduling-Konzepte
Synchronisation über gemeinsamen Speicher:
Synchronisationsalgorithmen und Mechanismen: Dekker, Bakery, Fast Mutual Exclusion, Synchronisation mit atomaren Befehlen, Semaphor, Monitor Nebenläufige Programmierung in Java Synchronisationsprobleme und -lösungen
Grundlagen Rechnernetze
Grundlagen IP Grundlagen Transportprotokolle Socket-Schnittstelle
Konzepte zur Kommunikation und Synchronisation mittels Nachrichtentransfer