Im Fachpraktikum werden in Kleingruppen algorithmisch anspruchsvolle Aufgaben gelöst. In einer ersten Phase werden sich die Studierenden mit den theoretischen Hintergründen des Problems beschäftigen. Aus den theoretischen Überlegungen sollen dann praktische Algorithmen entwickelt und implementiert werden. Insbesondere geht es im Praktikum darum, verschiedene Strategien zum Umgang mit schweren Probleme umzusetzen. Die verschiedenen Ansätze sollen anschließend experimentell verglichen werden.
Die Betreuung des Seminars geschieht über Adobe Connect. Es werden zudem 1-2 kürzere Präsenzphasen von 2 Tagen eingeplant. Die Implementierung kann in Java, C++ oder Python realisiert werden.
Die Betreuung des Seminars geschieht über Adobe Connect. Es werden zudem 1-2 kürzere Präsenzphasen von 2 Tagen eingeplant. Die Implementierung kann in Java, C++ oder Python realisiert werden.
In diesem Kurs werden die Grundlagen für das Arbeiten mit formalen Berechnungsmodellen gelegt. Es werden hierzu formale Sprachen auf Grundlage der Chomsky Hierarchie untersucht. Zu jeder Klasse in der Chomsky Hierarchie wird ein abgeleitetes Berechnungsmodell vorgestellt und diskutiert (Endlicher Automat, Kellerautomat, Turingmaschine). In diesem Zusammenhang werden unter anderem folgende Themen behandelt: Minimierung Endlicher Automaten, Überführung von Regulären Ausdrücken, Äquivalenz von kontextfreien Grammatiken und Kellerautomaten, Beweis und Anwendung des Pumpinglemmas (regulär und kontextfrei), Wortproblem für kontextfreie Sprachen, und anderes.
Der Kurs führt in die grundlegenden Konzepte und Techniken des Gebiets Mensch-Computer-Interaktion (MCI) ein. Er beginnt mit einer Übersicht über die bisherige Entwicklung dieses Teilgebiets der Informatik sowie einer Klärung und Definition seiner Grundbegriffe. Im Anschluss werden die möglichen technischen Schnittstellen einer Interaktion zwischen Mensch und Computer (haptische, auditive und visuelle) beschrieben und hinsichtlich ihrer charakteristischen Eigenschaften untersucht. Dieser Betrachtung der technischen Seite der MCI folgt eine Einführung in die neurobiologischen Grundlagen der menschlichen Wahrnehmung am Beispiel der visuellen Informationsverarbeitung. Ausgewählte wahrnehmungspsychologische Phänomene werden beschrieben, aus denen sich schließlich grundlegende Prinzipien für die Gestaltung von Interaktion herleiten lassen. Die letzten drei Kurseinheiten wenden sich dem Entwicklungsprozess interaktiver Systeme zu. Dieser beginnt mit der empirischen Datenerhebung zur Anforderungsanalyse, der Verfeinerung der Anforderungen etwa über Prototypen und der textuellen sowie grafischen Formulierung der Konzepte. Anschließend folgt die Implementierung auf Basis von Programmparadigmen, die unter Verwendung grafischer SDKs wie etwa QT konkretisiert werden. Die abschließende Kurseinheit befasst sich mit der Evaluation von Funktionalität und Bedienbarkeit von Benutzungsschnittstellen mithilfe statistischer Methoden.
Der Kurs führt zunächst in Konzepte und Methoden der allgemeinen Signalverarbeitung und -interpretation ein. Darauf aufbauend werden wesentliche Konzepte und Methoden des Computersehens und weiterführender Signalverarbeitungskonzepte vermittelt. In der ersten Hälfte des Kurses werden die theoretischen Konzepte der Digitalisierung und Filterung von Signalen erläutert. In diesem Zusammenhang werden u.a. das Nyquist-Shannon-Abtasttheorem, die Eigenschaften linearer Systeme, das Konzept der Faltung und die Fourier-Transformation im Detail behandelt. Die zweite Hälfte des Kurses baut auf der zuvor gelegten theoretischen Basis auf und widmet sich der Signalverarbeitung im Anwendungskontext des Computersehens. Ausgehend von einer Beschreibung der grundlegenden Signaleigenschaften von Bildern, wie etwa verschiedener Farbmodelle, stellt der Kurs eine repräsentative Auswahl an Konzepten und Methoden des Computersehens vor. Hierzu zählen u.a. Methoden der Segmentierung und Verfahren der Merkmalsdetektion und -beschreibung. Im Anschluss werden weiterführende Methoden der Signalverarbeitung und -interpretation unter dem Aspekt des jeweils benötigten apriorischen Wissens eingeordnet und anhand einer Auswahl eingehend beschriebener Verfahren illustriert. Hierzu zählen u.a. Methoden des überwachten und unüberwachten Lernens, Clusteringverfahren sowie modellbasierte Methoden der Signalinterpretation.
Der Kurs behandelt Konzepte und Methoden, mit deren Hilfe sich eine realistische, dreidimensionale, visuelle Darstellung eines realen Objektes oder einer Szene aus einer Reihe von zweidimensionalen Bildern errechnen lässt. Es werden Konzepte und Methoden vorgestellt, die einen vollständigen Arbeitsablauf von der Aufnahme einer Szene bis zum fertigen 3D-Modell erlauben. Zu diesem Zweck erfolgt zunächst eine Einführung in die mathematischen Grundlagen wie etwa die projektive Geometrie, die in den Kontext der euklidischen und affinen Geometrie eingeordnet wird. Die Konzepte der Epipolargeometrie und der Fundamentalmatrix werden eingeführt. Anschließend wird eine Methode vorgestellt, mit der eine 3D-Punktwolke aus einer hinreichenden Anzahl von gegebenen Punktkorrespondenzen zwischen zwei Bildern einer Szene errechnet werden kann. Daraufhin werden mathematische Verfahren eingeführt, mit deren Hilfe sich diese Punktwolke optimieren, geometrisch bereinigen und schließlich triangulieren lässt. Es wird gezeigt, wie sich über einen einfachen Ansatz Texturen aus den aufgenommenen Bildern auf das resultierende 3D-Modell übertragen lassen. Die errechneten Modelle der Szene eignen sich sowohl für eine intuitive Darstellung als auch für eine Weiterverarbeitung etwa zum Zwecke der Interaktion. Der Kurs schließt mit einer Vorstellung von Methoden, mit deren Hilfe sich die oben zunächst als gegeben betrachteten Punktkorrespondenzen zwischen Aufnahmen einer Szene auch automatisch bestimmen lassen.