Informationsvisualisierung kann definiert werden als “[...] use of computer-supported, interactive, visual representations of abstract data to amplify cognition.” [Card et al.: Readings in Information Visualization, 1999]. Angesichts zunehmend großer Datenmengen und der Notwendigkeit, deren Struktur und Zusammenhänge zu erkennen bzw. zu kommunizieren, spielt Informationsvisualisierung eine wesentliche Rolle. Gegenstand dieses Seminars sind deshalb die Erarbeitung und teilweise softwaretechnische Umsetzung von Methoden und Techniken zur Visualisierung multidimensionaler und multiskaliger Daten, wie z.B. Sensordaten, Unternehmensdaten (z.B. Finanzdaten), raumzeitlichen Daten oder Softwareanalysedaten, zur Beantwortung themenspezifischer Fragestellungen.

Die Vorlesung vermittelt die konzeptionellen, mathematischen und theoretischen Grundlagen der 3D-Computergrafik. Im Mittelpunkt stehen Verfahren, Algorithmen und Datenstrukturen für die 3D-Bildsynthese in Echtzeit. Die Vorlesungsinhalte umfassen:

  1. Anwendungsgebiete und Teildisziplinen
  2. Rasterisierung und Echtzeit-Rendering
  3. Geometrische Transformationen
  4. Geometrische Projektionen
  5. Geometrische Modellierung
  6. Sichtbarkeitsermittlung und Beleuchtung
  7. Texturierung

The course "Advanced Programming in C++" provides a fast-paced introduction to the C++ programming language. You will learn the required background knowledge, including

  • built-in data types,
  • memory management,
  • pointers and references,
  • object-oriented programming,
  • generic programming,
  • functional programming, and
  • the C++ standard library.

In addition, various best practices for developing large-scale software projects are presented. Furthermore, we introduce tools and processes required to systematically and automatically build C++ software systems.

This course addressess multiple programming styles and professional programming, including system build processes, multi-person code development, raw memory management, and performance optimization. As another general aspect of advanced programming, we aim at robust, performing, industrial-strength code. We assume basic knowledge in programming techniques and software engineering in general.

For the assigments and hands-on sessions, a C++14-enabled compiler (GCC, Clang, MSVC), git, and CMake are required. Additionally, we assume you solve the assignments on either Windows, Linux, or macOS.

This project seminar aims at bachelor students who want to extend their computer graphic skills with respect to the analysis, planning, and development of real-time image and video processing techniques for mobile devices. The course has mainly a project character and is subdivided into two parts:
The first part of the course is organized as a lecture series, introducing the following basic concepts and foundations to:

- Techniques for image and video processing,
- OpenGL ES and OpenGL ES Shading Language (GLSL ES)
- Application development for Android and iOS systems

Using selected image and video processing operations, the course teaches how fundamental rendering techniques can be developed and tested. Furthermore, limitations and challenges of graphics development for mobile devices will be taught.
In the second part of the course, participants will work individually or in teams to implement selected topics in the field of interactive image and video processing. Therefore, both an iOS and Android framework will be provided.
Gegenstand dieses Seminars sind die Erarbeitung und die softwaretechnische Umsetzung von ausgewählten Verfahren zur Analyse von raumbezogenen Daten. Bei diesen Daten handelt es sich beispielsweise um virtuelle 3D-Stadt- und Landschaftsmodelle, Fernerkundungsdaten (z.B. 3D-Punktwolken), Bilddaten oder thematische Daten. Mit Hilfe von selbst implementierten Algorithmen und eventuell notwendigen Visualisierungstechniken sollen themenbezogene Fragestellungen beantwortet werden. Der Schwerpunkt der einzelnen Themen kann in einem der folgenden Bereiche liegen:

- Algorithmik und Analytics
- Visualisierung und Rendering
- Parallelisierung und High-Performance-Computing
- Datenmanagement
- Servicebasierte Systeme und Infrastrukturen