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.
Seminar „Concepts of Modern C++“ WS 26/27 Prof. Dirk Pflüger, Tim Thüring IPVS, SC Termin Vorbesprechung: Erste Vorlesungswoche Termin Seminar: t.b.a. Zielgruppe Studierende aus den Studiengängen Informatik, Software Engineering und Data Science, die bereits erste Erfahrungen mit C++ gemacht haben und ihre Kenntnisse im Bereich moderner Softwareentwicklung vertiefen möchten. Warum C++? Bei der Implementierung eines Programms muss eine Vielzahl von Anforderungen berücksichtigt werden: Es muss schnell in der Ausführung sein, der entstehende Quellcode soll wartbar und erweiterbar sein. Des Weiteren darf die Umsetzung selbst nicht zu viel Zeit kosten. C++ ist eine Programmiersprache, mit der diese Anforderungen erfüllt werden können, da C++ das Schreiben effizienter Anwendungen auf einem (relativ) hohen Abstraktionslevel erlaubt. Worum wird es gehen? In diesem Seminar geht es um das Schreiben von modernem C++-Code mithilfe der neuen C++-Standards (C++14/17/20/23/26). Einige wichtige Stichworte sind: Core Guidelines, „rule of three/five/zero“, RAII (inkl. Smartpointer) sowie (variadische) Template-Meta-Programmierung. Des Weiteren wird auf das Schreiben von effizienten Applikationen eingegangen, wofür der Zusammenhang von Hardwareeigenschaften zu zentralen Datenstrukturen und Algorithmen in der C++-Standard-Template-Library hergestellt wird. Abgerundet wird das Ganze durch die Neuerungen aktueller C++ Standards wie Module, Concepts, Constraints, mdspan und std::expected. Anforderungen • Erste C++-Erfahrung, Interesse an effizienter Programmierung • Aktiver Beitrag zu den Diskussionen nach den Vorträgen, Beisteuern eigener, hilfreicher Beispiele zum Thema • Sprache: Deutsch (Language: German) Ablauf • Vorbesprechung mit Themenvergabe • Abgabe Ausarbeitungen (10 Seiten + Quellen) vor Vortragsterminen • Reviewprozess der Ausarbeitungen in der Gruppe und Einarbeitung der Reviews in die eigene Ausarbeitung • Seminarvorträge (Blockveranstaltung in der letzten Vorlesungswoche geplant)
Seminar „Concepts of Modern C++“ WS 26/27 Prof. Dirk Pflüger, Tim Thüring IPVS, SC Termin Vorbesprechung: Erste Vorlesungswoche Termin Seminar: t.b.a. Zielgruppe Studierende aus den Studiengängen Informatik, Software Engineering und Data Science, die bereits erste Erfahrungen mit C++ gemacht haben und ihre Kenntnisse im Bereich moderner Softwareentwicklung vertiefen möchten. Warum C++? Bei der Implementierung eines Programms muss eine Vielzahl von Anforderungen berücksichtigt werden: Es muss schnell in der Ausführung sein, der entstehende Quellcode soll wartbar und erweiterbar sein. Des Weiteren darf die Umsetzung selbst nicht zu viel Zeit kosten. C++ ist eine Programmiersprache, mit der diese Anforderungen erfüllt werden können, da C++ das Schreiben effizienter Anwendungen auf einem (relativ) hohen Abstraktionslevel erlaubt. Worum wird es gehen? In diesem Seminar geht es um das Schreiben von modernem C++-Code mithilfe der neuen C++-Standards (C++14/17/20/23/26). Einige wichtige Stichworte sind: Core Guidelines, „rule of three/five/zero“, RAII (inkl. Smartpointer) sowie (variadische) Template-Meta-Programmierung. Des Weiteren wird auf das Schreiben von effizienten Applikationen eingegangen, wofür der Zusammenhang von Hardwareeigenschaften zu zentralen Datenstrukturen und Algorithmen in der C++-Standard-Template-Library hergestellt wird. Abgerundet wird das Ganze durch die Neuerungen aktueller C++ Standards wie Module, Concepts, Constraints, mdspan und std::expected. Anforderungen • Erste C++-Erfahrung, Interesse an effizienter Programmierung • Aktiver Beitrag zu den Diskussionen nach den Vorträgen, Beisteuern eigener, hilfreicher Beispiele zum Thema • Sprache: Deutsch (Language: German) Ablauf • Vorbesprechung mit Themenvergabe • Abgabe Ausarbeitungen (10 Seiten + Quellen) vor Vortragsterminen • Reviewprozess der Ausarbeitungen in der Gruppe und Einarbeitung der Reviews in die eigene Ausarbeitung • Seminarvorträge (Blockveranstaltung in der letzten Vorlesungswoche geplant)
Für die Entscheidungsprozesse in Unternehmen ist es von zentraler Bedeutung, eine integrierte Sicht auf alle entscheidungsrelevanten Daten zur Verfügung zu haben. Ein Data Warehouse ist ein unternehmensweites Informationssystem, das eine solche Integration sowie die darauf aufbauenden Analysemöglichkeiten bietet. In dieser Vorlesung werden Fragen der Architektur eines Data Warehouse sowie relevante Technologien und Werkzeuge für den Aufbau eines Data Warehouse und die Analyse der bereitgestellten Daten behandelt. Darüber hinaus wird für die einzelnen Schritte im Data-Warehouse-Prozess vorgestellt, welche spezifische Unterstützung kommerzielle Datenbanksysteme hierfür bieten. Abschließend werden Fragen der Durchführung von Data-Warehouse-Projekten diskutiert. Unter anderem werden folgende Themen vertieft: - Architektur eines Data Warehouse - Extraktion, Transformation und Laden von Daten (ETL-Prozess) - Data-Warehouse-Entwurf - Online Analytic Processing (OLAP) - Data Mining - Datenbankunterstützung für OLAP und Data Mining - Data-Warehouse-Projekte
Für die Entscheidungsprozesse in Unternehmen ist es von zentraler Bedeutung, eine integrierte Sicht auf alle entscheidungsrelevanten Daten zur Verfügung zu haben. Ein Data Warehouse ist ein unternehmensweites Informationssystem, das eine solche Integration sowie die darauf aufbauenden Analysemöglichkeiten bietet. In dieser Vorlesung werden Fragen der Architektur eines Data Warehouse sowie relevante Technologien und Werkzeuge für den Aufbau eines Data Warehouse und die Analyse der bereitgestellten Daten behandelt. Darüber hinaus wird für die einzelnen Schritte im Data-Warehouse-Prozess vorgestellt, welche spezifische Unterstützung kommerzielle Datenbanksysteme hierfür bieten. Abschließend werden Fragen der Durchführung von Data-Warehouse-Projekten diskutiert. Unter anderem werden folgende Themen vertieft: - Architektur eines Data Warehouse - Extraktion, Transformation und Laden von Daten (ETL-Prozess) - Data-Warehouse-Entwurf - Online Analytic Processing (OLAP) - Data Mining - Datenbankunterstützung für OLAP und Data Mining - Data-Warehouse-Projekte
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
Driven by the requirements of innovative applications and services, new technologies for networked and distributed systems have emerged in recent years. In the Internet of Things, a large number of devices and everyday objects are equipped with sensors and actuators that are networked via mostly wireless communication technologies (e.g. BLE, ZigBee, 6LoWPAN, LoRaWAN) and connected to the Internet. A corresponding trend can be found in the Industrial Internet of Things (IIoT, Industry 4.0), where machines, tools, logistics, etc. are connected. Flexibility and efficiency of distributed systems are being advanced through virtualisation (e.g. NFV) and software-defined systems (e.g. SDN), which enable flexible adaptation and dynamic scaling. Driven by the hype around Bitcoin, distributed ledger technologies (e.g. blockchain) and advanced concepts such as smart contracts have been developed. They not only serve as the basis for electronic currencies (e.g. Bitcoin, Ethereum), but also support other applications in which a consensus between parties must be reached and documented. Another challenge is to reduce latencies, for example by using nearby edge and fog resources in addition to remote cloud resources or by implementing optimised communication protocols that, among other things, enable a fast connection between client and server. Mobile (5G) communication technologies and systems have developed rapidly. For example, the Covid-19 tracking application uses mobile end user devices for contact tracing. This method, known as crowdsensing, can generally be used to collect large amounts of geographically distributed sensor data. In addition to these aspects, this seminar will discuss a wide range of current Internet technologies, protocols and standards that enable networked and distributed applications and services. Other possible topics include machine-to-machine communication (M2M), OPC-UA (Unified Architecture), real-time communication (Real-Time Ethernet), WWW technologies and protocols (HTTP 2.0/SPDY), and new transport protocols (QUIC, Multipath-TCP).
Driven by the requirements of innovative applications and services, new technologies for networked and distributed systems have emerged in recent years. In the Internet of Things, a large number of devices and everyday objects are equipped with sensors and actuators that are networked via mostly wireless communication technologies (e.g. BLE, ZigBee, 6LoWPAN, LoRaWAN) and connected to the Internet. A corresponding trend can be found in the Industrial Internet of Things (IIoT, Industry 4.0), where machines, tools, logistics, etc. are connected. Flexibility and efficiency of distributed systems are being advanced through virtualisation (e.g. NFV) and software-defined systems (e.g. SDN), which enable flexible adaptation and dynamic scaling. Driven by the hype around Bitcoin, distributed ledger technologies (e.g. blockchain) and advanced concepts such as smart contracts have been developed. They not only serve as the basis for electronic currencies (e.g. Bitcoin, Ethereum), but also support other applications in which a consensus between parties must be reached and documented. Another challenge is to reduce latencies, for example by using nearby edge and fog resources in addition to remote cloud resources or by implementing optimised communication protocols that, among other things, enable a fast connection between client and server. Mobile (5G) communication technologies and systems have developed rapidly. For example, the Covid-19 tracking application uses mobile end user devices for contact tracing. This method, known as crowdsensing, can generally be used to collect large amounts of geographically distributed sensor data. In addition to these aspects, this seminar will discuss a wide range of current Internet technologies, protocols and standards that enable networked and distributed applications and services. Other possible topics include machine-to-machine communication (M2M), OPC-UA (Unified Architecture), real-time communication (Real-Time Ethernet), WWW technologies and protocols (HTTP 2.0/SPDY), and new transport protocols (QUIC, Multipath-TCP).
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
Fundamentals of real-time Systems Real-time Scheduling Time Management Resource Access Control Inter-task communication Memory Management File I/O Management
Fundamentals of real-time Systems Real-time Scheduling Time Management Resource Access Control Inter-task communication Memory Management File I/O Management
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
Beschreibung Die Entwicklung und Implementierung von Data-Science-Anwendungen hat sich in den vergangenen Jahren zu einem der zentralen Tätigkeitsbereiche von Datenwissenschaft- ler*innen entwickelt. Angetrieben durch die ra- sante Digitalisierung in Wirtschaft, Wissen- schaft und Gesellschaft entstehen kontinuier- lich neue Anforderungen an die Analyse, Mo- dellierung und Bereitstellung datengetriebener Lösungen von der explorativen Datenanalyse bis hin zu produktiv eingesetzten Machine- Learning-Pipelines. In diesem Kontext hat sich ein breites Ökosystem an Werkzeugen, Frameworks und Plattformen etabliert, das sowohl die Entwicklung als auch die Bereitstellung solcher Anwendungen maßgeblich prägt. Datenwissenschaftler*innen operieren hierbei an der Schnittstelle zwischen Forschung, Soft- wareentwicklung und operativem Betrieb. Sie müssen nicht nur über fundiertes Wissen in Sta- tistik, maschinellem Lernen und Datenverwaltung verfügen, sondern auch in der Lage sein, geeignete Entwicklungsumgebungen einzurichten, kollaborativ an Code zu arbeiten und Mo- delle reproduzierbar zu trainieren, zu evaluieren und zu deployen. Die Wahl der richtigen Werk- zeuge und Frameworks hat dabei direkten Einfluss auf Produktivität, Qualität und Wartbarkeit der entstehenden Lösungen. Um diesen vielschichtigen Anforderungen gerecht zu werden, ist es unabdingbar, dass sich Datenwissenschaftler*innen intensiv mit den verfügbaren Werkzeu- gen zur Entwicklung und Implementierung von Data-Science-Anwendungen auseinanderset- zen. In diesem Seminar sollen daher ausgewählte Werkzeuge, Frameworks und Hilfsmittel aus der Data-Science-Praxis diskutiert und kritisch bewertet werden. Hierunter fallen Themenbe- reiche, wie beispielsweise: • Integrierte Entwicklungsumgebungen für Data Science (z.B. JupyterLab, PyCharm, …) • Frameworks für maschinelles Lernen und Deep Learning (z.B. scikit-learn, TensorFlow, …) • Versionsverwaltung und kollaborative Entwicklung (z.B. git, MLflow, …) • KI-gestützte Entwicklungsassistenten (z.B. GitHub Copilot, Claude Code, …) Anmerkungen • Die Seminarthemen werden in einer ersten Besprechung voraussichtlich in KW29 oder KW30 vorgestellt. Der Termin dieser obligatorischen Besprechung wird per E-Mail bekannt gegeben. • Im Rahmen des Seminars bearbeitet jede(r) Studierende eines der angebotenen Themen. Einstiegsliteratur hierzu wird von den Betreuer*innen bereitgestellt. Die Ergebnisse der Ar- beit werden in einer ca. 20-seitigen Ausarbeitung zusammengefasst und im Rahmen eines ca. 30-minütigen Vortrags präsentiert. Voraussetzungen Kenntnisse aus „Einführung Data Science“ und „Modellierung“ werden vorausgesetzt.
Beschreibung Die Entwicklung und Implementierung von Data-Science-Anwendungen hat sich in den vergangenen Jahren zu einem der zentralen Tätigkeitsbereiche von Datenwissenschaft- ler*innen entwickelt. Angetrieben durch die ra- sante Digitalisierung in Wirtschaft, Wissen- schaft und Gesellschaft entstehen kontinuier- lich neue Anforderungen an die Analyse, Mo- dellierung und Bereitstellung datengetriebener Lösungen von der explorativen Datenanalyse bis hin zu produktiv eingesetzten Machine- Learning-Pipelines. In diesem Kontext hat sich ein breites Ökosystem an Werkzeugen, Frameworks und Plattformen etabliert, das sowohl die Entwicklung als auch die Bereitstellung solcher Anwendungen maßgeblich prägt. Datenwissenschaftler*innen operieren hierbei an der Schnittstelle zwischen Forschung, Soft- wareentwicklung und operativem Betrieb. Sie müssen nicht nur über fundiertes Wissen in Sta- tistik, maschinellem Lernen und Datenverwaltung verfügen, sondern auch in der Lage sein, geeignete Entwicklungsumgebungen einzurichten, kollaborativ an Code zu arbeiten und Mo- delle reproduzierbar zu trainieren, zu evaluieren und zu deployen. Die Wahl der richtigen Werk- zeuge und Frameworks hat dabei direkten Einfluss auf Produktivität, Qualität und Wartbarkeit der entstehenden Lösungen. Um diesen vielschichtigen Anforderungen gerecht zu werden, ist es unabdingbar, dass sich Datenwissenschaftler*innen intensiv mit den verfügbaren Werkzeu- gen zur Entwicklung und Implementierung von Data-Science-Anwendungen auseinanderset- zen. In diesem Seminar sollen daher ausgewählte Werkzeuge, Frameworks und Hilfsmittel aus der Data-Science-Praxis diskutiert und kritisch bewertet werden. Hierunter fallen Themenbe- reiche, wie beispielsweise: • Integrierte Entwicklungsumgebungen für Data Science (z.B. JupyterLab, PyCharm, …) • Frameworks für maschinelles Lernen und Deep Learning (z.B. scikit-learn, TensorFlow, …) • Versionsverwaltung und kollaborative Entwicklung (z.B. git, MLflow, …) • KI-gestützte Entwicklungsassistenten (z.B. GitHub Copilot, Claude Code, …) Anmerkungen • Die Seminarthemen werden in einer ersten Besprechung voraussichtlich in KW29 oder KW30 vorgestellt. Der Termin dieser obligatorischen Besprechung wird per E-Mail bekannt gegeben. • Im Rahmen des Seminars bearbeitet jede(r) Studierende eines der angebotenen Themen. Einstiegsliteratur hierzu wird von den Betreuer*innen bereitgestellt. Die Ergebnisse der Ar- beit werden in einer ca. 20-seitigen Ausarbeitung zusammengefasst und im Rahmen eines ca. 30-minütigen Vortrags präsentiert. Voraussetzungen Kenntnisse aus „Einführung Data Science“ und „Modellierung“ werden vorausgesetzt.