Wahlpflichtbereich Vertiefung

Bereich Praktische Informatik

Die folgende Lehrveranstaltungen werden wechselnd angeboten. Der aktuelle Angebotskatalog wird nebenstehend veröffentlicht.

Benutzerzentrierte Softwareentwicklung

(unregelmäßig, im Wintersemester)

Mit der Lehrveranstaltung soll verdeutlicht werden, dass  "traditionelle" Vorgehensweisen in der Softwaretechnik, die sich bei der Systementwicklung hauptsächlich auf die Funktionalität konzentrieren, Ideen einer benutzerzentrierten Entwicklung integrieren müssen. Die Teilnehmer werden mit dem benutzerzentrierten Entwicklungsansatz vertraut gemacht. Sie verstehen, dass ein Softwaresystem die Nutzer bei der Erfüllung ihrer Aufgaben in ihrem konkreten Arbeitsumfeld unterstützen muss und dass die Benutzungsschnittstelle (User Interface) anwendungsfreundlich gestaltet sein muss. Die Teilnehmer sollen in die Lage versetzt werden, Methoden und Techniken, die den Nutzer stärker in den Fokus rücken, praktisch anwenden zu können. Die Grundkenntnisse in Softwaretechnik werden um Grundlagen aus den Gebieten Human-Computer Interaction (HCI) und Model-Based Design erweitert.

Webbasierte Anwendungen

(unregelmäßig, im Wintersemester)

Webbasierte Anwendungen sind Anwendungen, die beim Benutzer in einem Webbrowser dargestellt und zu einem mehr oder weniger großen Teil von einem Webserver bereitgestellt werden.  Diese Art der Anwendungen deckt heutzutage ein breites Feld ab, welches von Web Shops über Portale, Administrationsoberflächen und Web Mail bis hin zu vollständigen Desktopanwendungen wie Textverarbeitung oder Tabellenkalkulation reicht.Die Veranstaltung gibt einen Überblick über die historische Entwicklung webbasierter Anwendungen, ihre Grundlagen sowie die verschiedenen Möglichkeiten, diese zu realisieren.  Die erworbenen Kenntnisse werden durch Implementierungsaufgaben und konzeptionelle Aufgaben vertieft.

Data Science

(in der Regel im Wintersemester)

Data Science ist eine interdisziplinäre Wissenschaft, die sich mit der Extraktion von Wissen aus großen Datenmengen beschäftigt. Daher ist Data Science zentral in allen Anwendungsbereichen: von Medizin und Umweltmodellierung, bis hin zu Wirtschaft und Industrie. In diesem Modul lernt ihr, wie ihr dazu Methoden aus dem maschinellen Lernen und der künstlichen Intelligenz in der Praxis anwenden könnt. Dabei wird der gesamte Prozess begleitet: vom Erstellen einer Datenbasis, über die eigentliche Datenanalyse sowie Modellierung und Simulation, bis hin zur Visualisierung der Ergebnisse. Um die verschiedenen Teilgebiete dabei inhaltlich bestmöglich abzudecken, werden die Vorlesungen gemeinsam von den Lehrstühlen Mobile Multimedia Information Systems, Intelligent Data Analytics, Modellierung und Simulation sowie Visual Analytics übernommen.

Modelle und Modellierung

(unregelmäßig, im Wintersemester)

Um Erkenntnisse über die Welt zu bekommen, nutzen Menschen schon seit sehr langer Zeit Modelle, beispielsweise Erklärungsmodelle, aber auch Untersuchungsmodelle und Experimentmodelle. In der Informatik ist der Begriff der Modelle und die Tätigkeit des Modellierens zentral und in fast allen Bereichen zu finden. Wie haben zum Beispiel Datenmodelle, Datenbankmodelle, Sprachmodelle, Modelle für Algorithmen und Modelle des Menschen. In der Vorlesung Modelle und Modellierung werden verschiedene Arten von (informatischen) Modellen betrachtet, der Prozess des Modellierens wird dargestellt und analysiert und Grenzen von Modellen sowie auch Erkenntnisgrenzen werden diskutiert.

Compilerbau

Compilerbau

(in der Regel im Wintersemester)

Es geht um das Übersetzen von höheren Programmiersprachen in Maschinensprachen. Anhand dieses herausfordernden, aber gut verstandenen Problems studieren wir, wie große Software strukturiert werden kann und wie im Zusammenspiel von Theorie und Praxis Höchstleistungen erzielt werden können.

Datenbanken II - Implementierungstechniken

(in der Regel im Sommersemester)

In "Datenbanken II" wird das Administrieren von Datenbanksystemen erlernt, insbesondere die Varianten zur internen Speicherung und Indexierung von Daten, die Optimierung von Datenbankanfragen sowie die fehlerfreie, parallele Abarbeitung von vielen "konkurrierenden" Anfrage-Update-Transaktionen auf der Datenbank. Die in der Vorlesung und Übung erworbenen Kenntnisse ermöglichen es einem, eine für eine Anwendung erstellte Datenbanklösung auf Effizienz zu "tunen". Wir schauen uns also an, wie Transaktionen, Anfragen und Datenspeicherung intern (unter der Nutzungsoberfläche des Systems) funktionieren.

Datenbank-Anwendungsprogrammierung

(unregelmäßig, im Sommersemester)

Diese Veranstaltung ist für Studenten interessant, die später Anwendungsprogramme für Datenbanksysteme entwickeln wollen. Neben der Vermittlung überblicksartigen Wissens zu allen Formen der Datenbankanwendungsprogrammierung stehen anwendungsreife Kenntnisse der wesentlichen Datenbankschnittstellen für die Programmiersprache Java im Mittelpunkt. Einen entscheidenden Anteil machen praktische Rechnerübungen aus. Neben sogenannten "Call level interfaces" wie JDBC werden Lösungen besprochen, die Datenbanksprachen in Programmiersprachen einbetten (Embedded SQL: statisch, dynamisch, SQLJ) sowie Techniken wie "Stored Procedures" und "User-defined functions" aus neueren SQL-Standards erläutert. Auch aktuelle Ansätze wie Objekt-Relationen-Mapper (Hibernate), die "Java Persistence Architecture" (JPA) oder die für "Big-Data"-Anwendungen wichtigen Map-Reduce-Techniken finden Berücksichtigung. Vorausgesetzte Kenntnisse sind "Datenbanken I" und Java-Grundkenntnisse.

Architektur und Entwicklung von Kommunikationsdiensten

(unregelmäßig,im Sommersemester)

Welche Fragen sind bei der Entwicklung eines Kommunikationsdienstes zu lösen? Welche Schwierigkeiten treten bei mobilen Anwendungen auf? Und wie baut man eigentlich ortsbasierte Dienste? Was ist eine Cloud? Welche APIs können bei der Programmierung von Webtechnologien eingesetzt werden? Und wie gewährleistet man Sicherheit und hohe Leistungsfähigkeit?

Angebote im SS 2024

Angebote im WS 2024/25

Praktische Informatik