Courses for the Winter Semester 2025/26

The Central allocation for seminars and practical courses for the winter semester 2025/26 is handled by the LSF System. For further information please refer to Course registration with LSF (in German).


Software vulnerabilities are a major security risk, frequently exploited in cyber attacks that lead to data breaches and even bankruptcy of companies. Alarmingly, around 70% of all high-severity vulnerabilities stem from memory unsafety. Yet, most of the software we rely on (operating systems, web browsers, databases, IoT software, ...) is written in inherently memory-unsafe languages like C and C++. In response, many organizations are now transitioning to memory-safe programming languages for newly written code to mitigate these risks.

Rust is a modern systems programming language that offers memory safety without sacrificing performance. It enables fast, native execution and is suitable for the entire software stack - from low-level embedded systems to web services that scale to millions of concurrent users. Rust has topped Stack Overflow’s “most loved language” ranking for nine years in a row, critical components are rewritten in Rust in Firefox, Android and Ubuntu and major tech companies (Mozilla, Google, Amazon, Meta, ...) actively contribute to Rust and its ecosystem. However, Rust is also known for its steep learning curve - mainly due to its strict compiler and novel concepts like ownership and borrowing.

What You'll Learn
In this course, you’ll have the opportunity to:
- Learn about memory management techniques
- Gain practical experience working with Rust
- Develop a larger software project as part of a team

Course Structure
We'll spend the first seven weeks of the course discussing Rust's features and ideas, sometimes comparing it to C and/or Java. The plenum sessions are accompanied by hand-picked small programming exercises where you will actually learn how to write Rust. We conclude the year with an admission exercise, where you will gain experience in navigating a larger codebase. Finally, in the new year, you will develop a project of your choice in teams of four.

The oral exam consists of presenting your project and will be scheduled in the beginning of March.

Prerequisites
- Solid programming experience in at least one imperative language (e.g., successful completion of EiP with a good grade)
- No fear to use the terminal

Beschreibung:

In diesem Praktikum entwerfen, spezifizieren und implementieren die Studierenden unter Anleitung ein größeres Softwareprojekt.
Dabei werden die in den Vorlesungen “Einführung in die Programmierung” und “Programmierung und Modellierung” erlernten grundlegenden Konzepte und Techniken praktisch eingesetzt und erweitert. Des Weiteren werden Kenntnisse über Softwareentwicklungs-Tools wieA Versionsverwaltungsprogramme (Git) oder Integrated Development Environments (IDE) vermittelt.
In der ersten Phase des Praktikums (Vorprojekt) werden nochmals grundlegende Fähigkeiten in der Programmentwicklung in Einzelarbeit geübt.
Nach Bestehen der ersten Phase, werden die Studierenden in Teams von 5-6 Personen aufgeteilt. In der Hauptphase des Praktikums wird dann eine größere Java-Applikation im Team entwickelt. Hierbei können die Studierenden dann auch wertvolle Erfahrungen über Team- und Projektarbeit sammeln.

Bitte beachten:

12 ECTS entsprechen einem Arbeitsaufwand von ca. 24 Stunden pro Woche. Es ist in keiner Weise ausreichend, nur den Plenumstermin und die Tutortreffen wahrzunehmen, sondern sie müssen sehr viel eigenständig am Computer arbeiten und programmieren. Sie müssen genug Zeit für dieses Praktikum einplanen um problemlos einen Termin mit ihren Gruppenmitgliedern zu finden.

Termine und Ort:

Veranstaltung Zeit Ort
Beginn
Plenum
Mo, 12:00 - 14:00 Uhr
tba
tba

16.10.2025 - 05.02.206
Do, 10 -12 Uhr c.t., 
Room: HG, Geschw.-Scholl-Pl. 1 (A), A 015
11 SWS

Machine learning is changing the world. It can be found in almost all segments including healthcare services, education, transport, food, entertainment and many more. Specifically, in the field of computer vision, machine learning techniques have enabled programs to interpret and understand the world, sometimes even better than humans. In this course, we will work on several projects to solve several computer vision tasks using python. The students will have a chance to get their hands on the classical (or potentially deep) machine learning algorithms in teams, and apply those techniques to some of the most interesting topics in computer vision.

Das Blockpraktikum bildet eine theoretische und praktische Einführung in die Administration und Konzeption virtueller Systeme. Unter Laborumgebung wird die Installation, Konfiguration und Administration von Virtuellen Systemen anhand Softwarelösungen von VMware durchgeführt.

Inhalte

Inhalt der Lehrveranstaltung sind Installation, Konfiguration und Management von VMware vSphere 8.0

  • Course Introduction
  • Introduction to vSphere and the Software-Defined Data Center
  • Virtual Machines
  • vCenter Server
  • Configuring and Managing Virtual Networks
  • Configuring and Managing Virtual Storage
  • Virtual Machine Management
  • Resource Management and Monitoring
  • vSphere Clusters
  • vSphere Lifecycle Management

Das Praktikum enhält Vorlesungsanteile und praktische Übungen.

Die Anmeldung findet über Moodle statt, da LSF vermutlich erst zum regulären Semesterstart verfügbar sein wird. Der Einschreibeschlüssel für den Kurs lautet: vSphere