Dies hier ist der Moodle-Kurs zur Vorlesung "Automaten, formale Sprache und Entscheidbarkeit WS24/25". Die erste Vorlesung findet am Freitag, den 17.10.2025, um 8:00 Uhr in Raum S311/08 statt.
- Dozent*in: Ulrich Kohlenbach
- Dozent*in: Morenikeji Neri
Lehrinhalte:
- Einführung in Betriebsysteme (BS) - Notwendigkeit, Design
- Prozesse und Threads - BS Datenstrukturen, Abstraktionen, Kernel/User mode, context switches, Interrupts
- Interprozeß-Kommunikation - IPC, RPC, Schnittstellen, Hierarchien, Messaging-Semantiken
- Koordination: Deadlocks - Critical sections, Deadlock-Charakterisierung, Entdeckung, Recovery und Vermeidung.
- Scheduling/Ressourcen-Management - Prozess-Reihenfolgen, unterbrechendes und unterbrechungsfreies Scheduling, verschiedene Scheduling-Konzepte und -Algorithmen, Implementierungen in BS
- Nebenläufigkeit: Races, Mutual Exclusions - Critical sections, races, spin locks, Synchronisation
- Semaphoren - Semaphoren, Monitore
- Speicherverwaltung - BS-Datenstrukturen, Management- und Austausch-Ansätze, virtueller Speicher, paging, caching, segmentation
- I/O - Geräte-Management, Treiber, Interrupt-Behandlung, DMA
- Dateisysteme - Anforderungen, Design, Implementierungen, Datenstrukturen, Verzeichnisse, virtuelle Dateisysteme
- Fehlertoleranz und Stabilität - Fehlertypen, zuverlässige Nachrichten, BS Zuverlässigkeit und Verfügbarkeit, Sicherheits-Aspekte
- Eingebettete & Echtzeit BS - Speicher/Festplatten/Performanz-Management, Fehlertoleranz, Echtzeit-Aspekte
- Verteilte BS - verteilte Berechnung und Kommunikation, Abstraktionen, Synchronisation, Koordination, Konsistenz
- Virtuelle Maschinen (VM) - Grundlagen und Typisierung von VMs und Hypervisoren
Literatur:
- Operating Systems: Three Easy Pieces (v0.92); Remzi H. Arpaci-Dusseau & Andrea C. Arpaci-Dusseau; Arpaci-Dusseau Books
- Modern Operating Systems, 4th Edition; Andrew S. Tanenbaum & Herbert Bos; Pearson; ISBN-13: 978-0133591620
- Operating System Concepts, 9th Edition; Abraham Silberschatz, Peter B. Galvin, Greg Gagne; John Wiley & Sons; ISBN-13: 978-1118093757
- Dozent*in: Phillip Rieger
Dies ist der Moodle-Kurs für Computersystemsicherheit. Die Veranstaltung findet in jedem Wintersemester statt.
This is the moodle course for Computersystemsicherheit. This course is offered every winter semester.
- Dozent*in: Jens Frieß
- Dozent*in: Tobias Gattermayer
- Dozent*in: Katharina Miesch
- Dozent*in: Donika Mirdita
- Dozent*in: Kevin Nsieyanji Tchokodeu
- Dozent*in: Carsten Schmidt
- Dozent*in: Haya Schulmann
- Dozent*in: Dalchandra Sharma
- Dozent*in: Michael Waidner
Lehrinhalte:
- Aufbau von Compilern
- Kontextfreie Grammatiken zur Beschreibungen der Syntax von Programmiersprachen
- Lexing- und Parsingverfahren
- Zwischendarstellungen
- Semantische Analyse
- Laufzeitorganisation
- Code-Erzeugung
- Software-Werkzeuge für den Compilerbau
- Implementierungstechniken für Compiler
Literatur:
Literaturempfehlungen werden kontinuierlich aktualisiert, ein Beispiel für verwendete Literatur könnte sein:
Watt/Brown: Programming Language Processors in Java
Voraussetzungen:
Empfohlen: Erfolgreicher Besuch der Vorlesungen “Algorithmen und Datenstrukturen”, “Funktionale und objektorientierte Programmierung” sowie “Rechnerorganisation”, bzw. entsprechende Kenntnisse aus anderen Studiengängen
- Dozent*in: Andreas Koch
- Dozent*in: Tammo Mürmann
- Dozent*in: Tim Noack
Die Künstliche Intelligenz (KI) beschäftigt sich mit Algorithmen zur Lösung von Problemen, von denen man gemeinhin annimmt, dass deren Lösung Intelligenz erfordert. Orientierte man sich in den Anfangstagen der Wissenschaft primär an psychologischen Erkenntnissen über das menschliche Denken, hat sich das Gebiet seither zunehmend dahingehend entwickelt, dass in den Problemlösungsansätzen versucht wird, die Stärken des Computers auszunutzen. Im Zuge dieser Vorlesung werden wir einen kurzen Überblick über die zentralen Themen dieser Kernwissenschaft der Informatik geben, insbesondere in die Themen Suche, Planen, Lernen und Schließen. Die historischen und philosophischen Grundlagen werden ebenfalls behandelt.
- Dozent*in: Jannis Blüml
- Dozent*in: Johannes Czech
- Dozent*in: Cedric Derstroff
- Dozent*in: Kristian Kersting
Wissenschaftliches Arbeiten beinhaltet die kritische Auseinandersetzung mit einer Problemstellung unter Anwendung wissenschaftlicher Methoden und Erkenntnisse aus aktueller Fachliteratur. Dabei sind klare Strukturierung, die Verwendung angemessener Begrifflichkeiten, inhaltliche Richtigkeit, sowie der kritische Umgang mit Literatur und den selbst generierten Erkenntnissen essentiell.
Die Lehrveranstaltung „Einführung in wissenschaftliches Arbeiten“ vermittelt den Studierenden die Grundlagen des wissenschaftlichen Arbeitens in der Informatik. Hierbei werden u.a. die Literaturrecherche, die Qualitätsbewertung und Verwaltung externer Quellen, der Aufbau wissenschaftlicher Ausarbeitungen, die wissenschaftliche Argumentation, der Schreibprozess sowie die korrekte Zitierweise behandelt und den Studierenden anhand konkreter Beispiele und Aufgaben erklärt.
Die praktische Anwendung wird in Übungseinheiten vertieft. Dazu werden unter anderem eigene Literaturrecherchen, Einschätzung und Bewertung ausgewählter Texte, die Anfertigung eigener Ausarbeitungen sowie gegenseitige Qualitätssicherung durch Peer-Feedback angewendet.
Inhalt:
- Wissenschaftliches Arbeiten - Methodische Einführung, Argumentation und Logik
- Literaturrecherche / Bibliographien - Methoden, Techniken und Werkzeuge
- Nachhaltiges Forschungsdatenmanagement, Dokumentation und Reproduzierbarkeit
- Was ist konstruktives Feedback? Qualitätskriterien und Anwendung
- Konzeption von Präsentationen und Ausarbeitungen
- Dozent*in: Thomas Arnold
- Dozent*in: Tim Neubacher
- Dozent*in: Colin Wiesenäcker
- Dozent*in: Svana Esche
- Dozent*in: Karsten Weihe
Die Lehrveranstaltung „Informatik und Gesellschaft“ vermittelt praxisbezogenes Wissen über die gesellschaftlichen und ethischen Herausforderungen in der Informatik. Es werden soziale und moralische Fragestellungen behandelt, wie der politische Missbrauch der Informatik und die Reproduktion von Ungerechtigkeit. Die Studierenden erhalten eine Einführung in die Computer- und Informationsethik sowie in ethische Leitlinien (GI/ACM/VDI) und lernen Gestaltungsmethoden zur Integration dieser Aspekte in die IT-Entwicklung. Anwendungsbereiche wie Privatheit, geistiges Eigentum, autonome Systeme, Transparenz, Diversität, Dual Use und Cyberwar werden anhand von Fallbeispielen bearbeitet, um die kritische Reflexion über ethische und gesellschaftliche Themen in der Informatik zu fördern.
Die Vorlesungen und Übungen finden jeden Mittwoch von 13:30 Uhr bis 15:10 Uhr in S3|11 08 (Hexagon) statt. Die Themen der jeweiligen Woche können dem Organisationsfoliensatz "Kapitel 0" entnommen werden.
- Dozent*in: Helen Bader
- Dozent*in: Frank Nelles
- Dozent*in: Christian Reuter
Dies ist der Moodle-Kurs zur Mathematik I für Informatik und Wirtschaftsinformatik im Wintersemester 2025/26.
- Dozent*in: Kord Eickmeyer
- Dozent*in: Simon Raßmann
- Dozent*in: Georg Schindling
Der Einschreibeschlüssel wird in der ersten Vorlesung kommuniziert.
- Dozent*in: Maximilian Gehring
- Dozent*in: Heiko Mantel
- Dozent*in: Tim Weißmantel
Lecture content:
- Basics from probability theory, statistics, and information theory
- Probabilistic approaches to graph-based modelling in computer science
- Basic probabilistic problems and use of probabilistic methods
- in practical computer science (e.g., run-time analysis of programs, data compression)
- in technical computer science (e.g., reliability of hardware, caching)
- in applied computer science (e.g., simulation of stochastic systems, probabilistic systems)
- Selected randomized algorithms, their analysis by `The Probabilistic Method', algorithms for automated decision making and optimization
- Application of probabilistic methods in artificial intelligence (e.g., learning methods, neural networks) and data science
- Implementation of probabilistic methods by means of practical programming examples
- Dozent*in: Theo Gruner
- Dozent*in: Paul JANSONNIE
- Dozent*in: Jan Peters
Foundations of Software Engineering
Among others:
- Requirements Engineering
- Domain Modelling
- Software Architecture
- Software Quality and Verification
- Design Patterns
- Maintenance and Variability
- Agile Development Processes
- Dozent*in: Richard Bubel
- Dozent*in: Max Granzow
- Dozent*in: Reiner Hähnle
- Dozent*in: Matthias Sokolowski
- Dozent*in: Marco Zimmerling
Im Teamprojekt Softwareentwicklung (TPSE), ehem. Bachelor-Praktikum (BP), arbeitest Du gemeinsam mit vier weiteren Studierenden an einem echten Softwareprojekt aus dem universitären Umfeld. Ziel ist es, praxisnah agile Entwicklung zu erleben: von der Anforderungsanalyse über die Umsetzung und Qualitätssicherung bis hin zur finalen Präsentation.
Die begleitende Vorlesung und das Teamtraining liefern Dir das nötige Handwerkszeug, aber im Mittelpunkt steht die eigenständige Projektarbeit im Team. Das TPSE umfasst 9 CP, ist für das 5. Semester im B.Sc. Informatik vorgesehen (s. Studienplan) und wird jedes Wintersemester angeboten. Voraussetzung ist der erfolgreiche Besuch der Module Funktionale und objektorientierte Programmierkonzepte, Algorithmen und Datenstrukturen sowie Software Engineering.
- Organisator*in: Ragnar Mogk
- Organisator*in: Anna Rohrbach
- Dozent*in: Volker Knauthe
- Dozent*in: Arjan Kuijper