Graduation work

We offer various options for project and final theses for Bachelor and Masters students. For example within the following research areas:

  • Sensorbased activity recognition
  • Pattern recognition
  • State estimation in dynamical systems
  • Efficient probabilistic inference using advanced methods (Lifted Inference)

Please contact us via email or within our lectures.

Abschlussarbeiten

Wir bieten vielfältige Möglichkeiten für Projekte und Abschlussarbeiten auf Bachelor- und Masterniveau an. Wie z.B. in den folgenden Themenbereichen:

  • Sensorgestützte Aktivitätserkennung
  • Mustererkennung
  • Zustandsschätzung in dynamischen Systemen
  • Effiziente probabilistische Inferenz mit fortgeschrittenen Methoden (Lifted Inference)

Sprechen sie uns bitte einfach per Email oder in unseren Lehrveranstaltungen an. 

Summer Term / Sommersemester

Die folgenden Pflichtveranstaltungen im Bachelor werden von uns im Sommersemester angeboten:

Algorithmen und Datenstrukturen

Inhalte

  • Grundlegende Begriffe und formale Eigenschaften von Algorithmen
  • Techniken der Algorithmenentwicklung
  • Datentypen und Datenstrukturen
  • Grundlegende Datenstrukturen der Informatik und ihre Implementierung
  • Ausgewählte Algorithmen aus dem Bereich Sortieren und Suchen
  • Asymptotische Komplexitätsanalysen

Weiterführende Informationen

Logische Programmierung

Die logische Programmierung beruht auf der Entdeckung, dass Logik als problemnahe und effiziente Programmiersprache verwendet werden kann. Die bekannteste Vertreterin dieser Sprachen ist Prolog. Das Modul behandelt die theoretischen Grundlagen der logischen Programmierung, führt in die Sprache Prolog ein und zeigt verschiedene praktische Anwendungen, z.B. aus den Gebieten Software Engineering und Verarbeitung von natürlicher Sprache. Die im Modul integrierten Übungen ermöglichen konkrete Erfahrungen mit Prolog.

Inhalte

  • Was ist logische Programmierung
  • Tutorial zur Programmiersprache Prolog
  • Prädikatenlogik
  • Klauselform
  • Logische Inferenz: Resolution, Unifikation, SLD Resolution
  • Negation: Negation als Fehlschlag, SLDNF Resolution
  • Listen
  • Mengenprädikate
  • Metainterpreter
  • Definite Clause Grammars
  • Exemplarische Anwendungen
  • Ausblick (DATALOG, CLP, HOL)

Weiterführende Informationen

Künstliche Intelligenz (Modul: Smart Computing)

Ziel der Künstlichen Intelligenz (KI) ist die Entwicklung von Verfahren, mit deren Hilfe: Softwaresysteme selbständig komplexe Situationan analysieren und adäquate Reaktionen bestimmen können. Nach der Euphorie Anfang der 80’er Jahre und der Ernüchterung Anfang der 90’er Jahre hat sich die Künstliche Intelligenz als fester Bestandteil der Informatik etablieren können. Die im Rahmen der KI entwickelten innovativen Methoden werden in vielen Anwendungsbereichen genutzt. Die Vorlesung gibt einen Überblick über Methoden der KI und ihre Anwendungen.

Inhalte

  • Suchalgorithmen
  • Rationales Verhalten und terminologische Logiken
  • Genetische Algorithmen, genetisches Programmieren
  • Expertensysteme: regelbasiert, objekt-orientiert und reif für die Anwendung?
  • Fuzzybasierte Ansätze
  • Planen in der Robotik:“What are plans for?“
  • Entscheidungstheorie: Zur Rationalität von Agenten
  • Zurechtkommen mit unsicherem Wissen: Wahrscheinlichkeitstheoretisches Schließen
  • Ohne Lernen geht es nicht: Induktive und fallbasierte Methoden
  • Ausgewählte Anwendungsbereiche: Ökologie und Medizin

Weiterführende Informationen

Weiterhin bieten wir im Sommersemester die folgenden Veranstaltungen im Bereich „Smart Computing“ des Master an:

Intelligente Umgebungen und kooperative Ensembles

Die Vorlesung gibt einen Überblick über die Methoden des Einsatzes von Strategien kooperierender Geräte- und Agentenensembles für die Steuerung intelligenter Umgebungen. Schwerpunkt der Vorlesung ist die Nutzung von Methoden aus der verteilten KI für die Steuerung intelligenter Umgebungen. Neben theoretischen Inhalten wird besonders auf einen praktischen Zugang zu den Lehrinhalten geachtet. Die Veranstaltung besteht aus klassischen Vorlesungen, seminar-ähnlichen Studentenbeiträgen, betreuten Übungen und der Umsetzung eines Gruppenprojektes im Smart Appliance Laboratory.

Inhalte

  • Anforderungen an Intelligente Umgebungen
  • Stand der Technik: Hausbusse und Hausvernetzung
  • Middlewaresysteme
  • Multiagentensysteme
  • Deliberative Multiagentensysteme; Joint Intention Theory
  • Reaktive Multiagentensysteme; Schwärme und Emergentes Verhalten

Weiterführende Informationen

Statistische Signalverarbeitung und Inferenz

In der Veranstaltung werden die mathematischen Grundlagen der Statistik vermittelt. Auch Techniken wie die Monte-Carlo-Simulationen und -Sampling, sowie Ansätze zur Schätztheorie werden behandelt. Dazu gehören unter anderem:

  • Erwartungstreue Schätzung mit minimaler Varianz
  • Cramer-Rao-Schranke
  • BLUE: Bester linearer erwartungstreuer Schätzer
  • Maximum-Likelihood- und Least-Squares-Schätzung
  • Bayesscher Schätzer

Weiterhin kommen unter anderem die folgenden Themen zur Sprache:

  • Detektionstheorie
  • Neyman-Pearson-Theorem und Multiple Hypothesis Test
  • generalized likelihood ratio test

Weiterführende Informationen

Seminar: Aktuelle Themen des Ubiquitous Computing

Schlagworte wie „Ubiquitous Computing“, „Pervasive Computing“ und, als jüngster Begriff, „Ambient Intelligence“, bezeichnen die Vision einer Welt, in der wir von intelligenten, intuitiv bedienbaren Geräten umgeben sind, die uns bei der Gestaltung, Organisation und Durchführung unseres täglichen Lebens unterstützen. Gemeinsam ist ihnen das Konzept des „Smart Environment“, der „verständigen“ bzw. „intelligenten“ Umgebung, das ein neues Paradigma der Interaktion zwischen dem Menschen und seiner Alltagsumgebung bezeichnet. „Smart Environments“ versetzen diese Umgebung in die Lage, sich des in ihr handelnden Menschen, seiner Ziele und Bedürfnisse bewusst zu sein und den Menschen aktiv beim Durchführen seiner Tätigkeiten und beim Erreichen seiner Ziele zu unterstützen – sowohl auf Basis instrumentierter Umgebungen, als auch mit Hilfe mobiler, persönlicher digitaler Assistenten. Diese Veranstaltung bietet eine Einführung in die wichtigsten Paradigmen und Lösungskonzepte des Ubiquitous Computing aus der Perspektive der situationsgesteuerten Assistenz.

Weiterführende Informationen

Summer & Winter Term / Sommer- & Wintersemester

Die Veranstaltungen KSWS oder Projekt sind generische Module im Rahmen der Informatikausbildung im Bachelor- oder Masterstudium. Diese umfassen neben Vorlesungsinhalten (Projekt nur anteilig), Literaturarbeit (KSWS), Seminarvortrag zur (Zwischen-)Präsentation der Inhalte und die softwaretechnologische Umsetzung einer Anwendung. Dabei sind die zu realisierenden Anwendungen immer an aktuelle Forschungsprojekte gekoppelt.

Projekt (Bachelor)

Im Rahmen dieser Lehrveranstaltung wird in einem kleinen Team selbstständig ein Softwaresystem konzipiert und umgesetzt. Dabei lernen die Studenten neben der Bearbeitung der softwaretechnischen Problemstellung in einem unserer aktuellen Forschungsprojekte auch die Methoden und Werkzeuge für den Entwurf von (komplexeren) Softwaresystemen, sowie für die Kommunikation im Team und mit den Auftraggebern kennen.

Komplexe Software Systeme - KSWS (Bachelor)

Im Rahmen dieses Moduls wird eine komplexere Software durch eine Gruppe von Studenten umgesetzt. Dabei stehen die Bearbeitung der technischen Fragestellungen, die Selbstorganisation in der Gruppe und die Kommunikation mit den Betreuern im Vordergrund. Es kommen unterschiedliche Werkzeuge für das Management von Softwareprojekten zum Einsatz. Für die Kommunikation werden Lasten- und Pflichtenhefte erstellt und unterschiedliche Code-Dokumentationsverfahren genutzt. Ein Präsentation eines Zwischenstandes und die Darstellung des Gesamtprojektes finden im Rahmen von Vorträgen statt.

Neueste Entwicklungen in der Informatik - NEidI (Master)

Um neue, aktuell brisante oder aus anderen Gründen nicht im Standardcurriculum verankerte Themen zu bearbeiten, lernen die Studenten in diesem Modul neue Methoden und Konzepte kennen. Dabei steht die selbstständige Einarbeitung in ein neues Problemfeld in einer wenig strukturierten Lernumgebung im Vordergrund.

Winter Term / Wintersemester

Die folgenden Pflichtveranstaltungen im Bachelor werden von uns im Wintersemester angeboten:

Imperative Programmierung

Das Modul führt über die abstrakten Datentypen die Techniken der Programmierung ein. Dabei wird besonderes Augenmerk auf die Nutzung der Rekursion zur Problemlösung gelegt. Die Teilnehmer sollen in die Lage versetzt werden, Probleme als Gesamtheit von Daten und Algorithmen zu spezifizieren. Für die so spezifizierte Problemstellung werden von den Studierenden effiziente Datenstrukturen gefunden.

Inhalte

  • Einführung in die Softwareentwicklung
  • Strukturierte Programmierung
  • Rekursion
  • algebraische Spezifikation Abstrakter Datentypen
  • Datenstrukturen zur effektiven Implementation mit Hilfe einer algorithmischen Sprache
  • Spezifikation und Implementation mit unterschiedlichen Datenstrukturen (z.B. Liste, Keller, Schlange, Baum, Tabelle)

Weiterführende Informationen

Funktionale Programmierung

Die funktionale Programmierung stellt das zweite wichtige Programmierparadigma neben der imperativen Programmierung dar. Es basiert auf dem Prinzip der Textersetzung („term-rewriting“, „equational reasoning“) und behandelt Funktionen als „first class objects“. Das Modul behandelt die theoretischen Grundlagen der funktionalen Programmierung, führt in die Sprache Haskell ein und zeigt verschiedene praktische Anwendungen. Die im Modul integrierten Übungen ermöglichen konkrete Erfahrungen mit der funktionalen Programmierung zu machen.

Inhalte

  • Theoretische Basis der funktionalen Programmierung (Lambda-Kalkül) und Beziehung zur Theorie partieller Funktionen
  • Typische Datenstrukturen und Programmkonstrukte
  • Strategien der Entwicklung funktionaler Software
  • Beweis von Programmeigenschaften
  • Einbeziehung anderer Programmierparadigmen unter Berücksichtigung von Eingabe/Ausgabe

Weiterführende Informationen

Paradigmen der Programmierung

Das Module „Paradigmen der Programmierung“ behandelt ausgewählte Kapitel zu den grundlegenden Programmierparadigmen, in denen vertiefte Kenntnisse der Konzepte vermittelt werden, die aktuellen Programmiersprachen zugrunde liegen. Darüber hinaus wird die Fähigkeit vermittelt, ausgehend von einem gegebenen Anwendungsproblem das geeignete Sprachparadigma für die algorithmische Lösung zu identifiziern.

Inhalte

  • Funktionale Programmierung (Typinferenz, Softwaretechnik: Polymorphie, Typklassen, Streams, Monaden und Continuations, Ausführung funktionaler Programme: G-Maschinen, Optimierung in funktionalen Programmen)
  • Imperative / Objektorientierte Programmierung (Softwaretechnik: Modularisierung und Objekte, Kontrollstrukturen in Sequentiellen Programmen, Parallele Programme, Objektsysteme, z.B. CLOS, Call by Name, Closures; anonyme Klassen in Java)
  • Logische Programmierung (Theorembeweiser, Higher-Order-Systeme)
  • Allgemeine Themen (Gültigkeitsbereiche und Speichermanagement, Sprachenbasierte Sicherheit)
  • Regelbasierte Programmierung (Produktionssysteme, RETE-Algorithmus, Konfliktlösungsstrategien)
  • Spezielle Sprachmodelle (Tuple Spaces, z.B. LINDA, Actor Languages, Verteilte Sprachen, z.B. Obliq)
  • Skriptsprachen (Unix Shell, Perl, PHP, etc.)
  • Dynamische Sprachen (Self, NewtonScript , Smalltalk, LISP...)

Weiterführende Informationen

Weiterhin bieten wir im Wintersemester die folgenden Veranstaltungen im Bereich „Smart Computing“ an:

Mustererkennung und Kontextanalyse (Master)

Viele Funktionen intelligenter Informationssysteme basieren auf Verfahren der Mustererkennung und der Kontextanalyse: Die Erfassung des Fitnesszustands mit dem Smartphone, natürlichsprachliche Dialoge mit einem Rechner, die Erkennung von Nutzerwünschen in einem intelligenten Haus oder auch die Vorhersage von Aktienkursen. Aktivitäten und Ziele von Benutzern aus Sensordaten abzuleiten ist eine zentrale Herausforderung von intelligenten Umgebungen und von Assistenzsystemen. Neben verschiedenen „klassischen“ Verfahren des instanzbasierten Lernens (z.B. neuronale Netze oder Support Vector Machines), werden zunehmen modellbasierte Ansätze genutzt, die Wissen über kausale Zusammenhänge als Grundlage für eine wahrscheinlichkeitstheoretische Modellierung verwenden. Dieses Modul bietet eine Einführung in die grundlegenden Verfahren und Begriffe der Signalverarbeitung und der Mustererkennung. Ziel der Lehrveranstaltung ist es, aktuelle Verfahren zur Interpretation von Sensordaten zu untersuchen und zu bewerten.

Inhalte

  • Signale und lineare Systeme; Impulsantwort, Faltung, Fouriertransformation
  • Merkmale und Skalenniveaus
  • Parametrische Klassifikationsverfahren und Parameterschätzung
  • Instanzbasierte Verfahren und der Fluch der Dimensionalität
  • Kombination von Systemen: Stacking, Boosting und Bagging
  • Evaluation von Klassifikationssystemen und das No-Free-Lunch-Theorem.

Weiterführende Informationen

Seminar: Ausgewählte Aspekte situationsgesteuerter Assistenzsysteme (Bachelor)

In Vortragsseminaren erhält der Student Gelegenheit, den selbständigen Wissenserwerb aus der Fachliteratur zu üben, sowie die erarbeiteten Ergebnisse vorzutragen und zur Diskussion zu stellen. Die Vortragsseminare leiten zu kritischer Sachdiskussion an und schulen die Fähigkeit der Präsentation. Da mehrere Vortragsseminare angeboten werden, kann der Student ein seinen Interessen am besten entsprechendes Seminar auswählen.

Weiterführende Informationen