zum Inhalt springen

Lehre

Unser Lehrstuhl bietet diverse Veranstaltungen für Studierende in Bachelor- und Masterstudiengängen an. Im Folgenden erhalten Sie eine kurze Übersicht der einzelnen Veranstaltungen sowie der mittelfristigen Vorlesungsplanung.

Veranstaltungen für Studierende in Bachelorstudiengängen

Programmierkurs

Die Veranstaltung vermittelt Studierenden, in Kleingruppen, grundlegende Programmierkenntnisse in Java aus den Bereichen Datentypen, Anweisungen und Kontrollstrukturen, Klassen und Objekte, objektorientierter Entwurf und Implementiertung, Klassenbibliotheken sowie Problemanalyse und -behebung.

Im Verlauf der Veranstaltung entwerfen und entwickeln die Studierenden selbstständig kleinere Programme mit Hilfe aktueller Entwicklungswerkzeuge.

Der Programmierkurs wird in der Regel von Dipl. Inform. Manuel Molina Madrid vom Programmierlabor der Informatik betreut.

Grundzüge der Informatik I

Die Veranstaltung versetzt Studierende in die Lage grundlegende Algorithmen zu konzipieren und implementieren sowie Algorithmen in Hinblick auf Korrektheit und ihr Laufzeitverhalten in Abhängigkeit von verwendeten Datenstrukturen zu analysieren.

Nach einer Einführung zur Begrifflichkeit und Definition der Informatik und dem Aufbau sowie der Funktionsweise von Computern behandelt die Veranstaltung grundlegende Inhalte zu Algorithmen und Datenstrukturen. Der Allgemeine Entwurf und die Analyse von Algorithmen wird an Beispielen aus den Bereichen der Sortier- und Suchverfahren sowie elementaren Graphenalgorithmen vollzogen. Die vorgestellten Datenstrukturen umfassen beispielsweise Bäume, Graphen und Union-Find Datenstrukturen.

Die theoretischen Betrachtungen aus der Vorlesung werden unter Anderem durch die Bearbeitung von Programmieraufgaben in den Übungen ergänzt. 

Grundzüge der Informatik II

Die Veranstaltung vermittelt Kenntnisse im Bereich der Kodierungen, Boolschen Funktionen sowie Schaltkreise und Schaltnetze als Grundlage von Rechnerarchitekturen. Darüber hinaus erfolgt eine Einführung in Formale Sprachen und deren Übersetzung durch Compiler sowie in Betriebssysteme und Rechnernetze. Abschließend werden die Grundlagen der Berechenbarkeits- und Komplexitätstheorie vermittelt.

Wie bei Grundzüge der Informatik I, werden die theoretischen Betrachtungen aus der Vorlesung unter Anderem durch die Bearbeitung von Programmieraufgaben in den Übungen ergänzt. 

Programmierpraktikum

Im Rahmen des Programmierpraktikums durchlaufen die Studierenden in selbstorganisierter und eigenverantwortlicher Gruppenarbeit die diversen Phasen der Softwareentwicklung. Ein vorgegebenes Problem soll dabei analysiert und in Teilaufgaben zerlegt werden. Anschließend entwerfen und entwickeln die Studierenden Softwarelösungen samt Dokumentation für das Problem. Die (Teil-)Ergebnisse werden in Rahmen von Meilensteinpräsentationen über den Verlauf des Semesters vorgestellt.

Das programmierpraktikum wird in der Regel von Dipl. Inform. Manuel Molina Madrid vom Programmierlabor der Informatik betreut.

Einführung in die Theoretische Informatik

Die Veranstaltung vermittelt die theoretischen Fundamente von Formalen Sprachen, Berechenbarkeit und Kompexität. Die in Grundzüge der Informatik II vermittelten Grundkenntnisse zur Berechenbarkeits- und Entscheidbarkeitstheorie werden weiter vertieft. Desweiteren wird eine Auswahl von randomisierten, approximativen und Online-Algorithmen vorgestellt und analysiert.

Proseminar Theoretische Informatik

Das Proseminar führt in die Grundlagen und Methoden des wissenschaftlichen Arbeitens ein. Die Teilnehmer stellen im Rahmen einer eigenständigen Projektarbeit Aspekte eines Bereichs der Informatik in einer Seminararbeit und einem Vortrag vor.

Veranstaltungen für Studierende in Masterstudiengängen

Modellierung und Simulation

Die Veranstaltung vermittelt die notwendigen Kenntnisse um Realsysteme mithilfe stochastischer Methoden zu analysieren, aus den Analyseergebnissen Modelle zu erstellen und diese unter Verwendung geeigneter Simulationsverfahren zu implementieren. Am Ende der Veranstaltung könne die Studierenden die so erstellten Simulationsanwendungen auf ihre Aussagekraft hin validieren und durch Erstellung und Analyse von Szenarien Rückschlüsse auf das reale System ziehen.

Die in der Veranstaltung behandelten Inhalte umfassen unter anderem den Lebenszyklus einer Simulationsanwendung, die Grundlagen statistischer Verfahren, die Erzeugung von Zufallszahlen, diverse Analyse-, Modellierungs- sowie Simulationsverfahren, die Verifikation und Validierung, die Ergebnisauswertung und Szenarienanalyse sowie verschiedene praktische Anwendungsbeispiele.

Neben vertiefenden Fachkenntnissen aus dem jeweiligen Bereich ist die Veranstaltung so konzipiert, dass auch allgemein weitergehende Fähigkeiten zur Einordnung, Erkennung, Formulierung und Lösung von Problemstellungen durch konzeptionelles, analytisches und logisches Denken vermittelt werden.

Die theoretischen Betrachtungen aus der Vorlesung werden durch umfassende praktische Programmieraufgaben in den Übungen ergänzt.

Parallele Algorithmen

In dieser Veranstaltung erlernen Studierende Denkweisen und Techniken zur effizienten Nutzung parallel arbeitender Rechnerarchitekturen. Sie versetzt Studierende in die Lage leistungsfähige Algorithmen zu konzipieren, implementieren sowie auf ihre Korrektheit und ihr Laufzeitverhalten in Abhängigkeit von Datenstrukturen zu analysieren.

Die in der Veranstaltung behandelten Themen umfassen unter anderem die Parallel Random Access Machine (PRAM), die Grundlegenden Entwurfstechniken für PRAM-Algorithmen, die Eulertour-Technik und deren Anwendungen, das Sortieren im PRAM-Modell, die parallele Berechnung arithmetischer Ausdrücke, der konvexen Hülle, kürzester Wege, minimaler Spannbäume und Symmetrien, die Komplexitätsklassen NC, P und P-vollständig, netzgekoppelte Rechnermodelle, Bäume, Gitter und Hypercubes, Routing-Verfahren und die Einbettung von Netzen sowie Systolische und semisystolische Algorithmen.

Neben vertiefenden Fachkenntnissen aus dem jeweiligen Bereich ist die Veranstaltung so konzipiert, dass auch allgemein weitergehende Fähigkeiten zur Einordnung, Erkennung, Formulierung und Lösung von Problemstellungen durch konzeptionelles, analytisches und logisches Denken vermittelt werden.

Logik für Informatiker

Ziel dieser Veranstaltung ist das Erlernen der Techniken und Denkweisen des für die Informatik fundamentalen gebietes der Logik. Behandelt werden Syntax und Semantik des Aussagen- sowie der Prädikatenlogik der 1. Stufe, der Resolutionskalkül, Hornlogik und ihre Schlüsselrolle für die Logikprogrammierung, Komplexitäts- und Entscheidbarkeitsfragen sowie alternative Axiomatisierungsansätze. Darüber hinaus werden auch nichtklassische Logiken, wie beispielsweise mehrwertige-, Fuzzy-, temporale- oder modale Logiken, vorgestellt.

Neben vertiefenden Fachkenntnissen aus dem jeweiligen Bereich ist die Veranstaltung so konzipiert, dass auch allgemein weitergehende Fähigkeiten zur Einordnung, Erkennung, Formulierung und Lösung von Problemstellungen durch konzeptionelles, analytisches und logisches Denken vermittelt werden.

Aktuelle Aspekte der Informatik

Diese Veranstaltung vermittelt Hintergrund- und Anwendungswissen in aktuellen Forschungsthemen der Informatik.

Neben vertiefenden Fachkenntnissen aus dem jeweiligen Bereich ist die Veranstaltung so konzipiert, dass auch allgemein weitergehende Fähigkeiten zur Einordnung, Erkennung, Formulierung und Lösung von Problemstellungen durch konzeptionelles, analytisches und logisches Denken vermittelt werden.

Hauptseminar Informatik

Die Veranstaltung gibt Studierenden die Möglichkeit erlernte Kenntnisse aus dem Bereich der Informatik eigenständig zu vertiefen, Literaturrecherchen durchzuführen und darauf aufbauend eine eigenständige Projektarbeit durchzuführen. Die Ergebnisse werden im Rahmen einer Seminararbeit und eines Vortrags vorgestellt.