Prüfungsvorleistung:

keine


Inhalt:

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

Benutzerzentrierte Softwareentwicklung

(in der Regel 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

(in der Regel 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.

Informationssysteme und -dienste

(in der Regel im Wintersemester)

In der Veranstaltung werden Techniken behandelt, die relationale Datenbanksysteme ergänzen oder ersetzen, um anwendungsorientierte Informationssysteme aufzubauen. Sie besteht aus vier Teilen:

  1. Verwaltung von XML-Daten und -Dokumenten in einer Datenbank
  2. Suche nach Text-Dokumenten (Information Retrieval; im Web: Suchmaschinen) sowie Bereitstellung und langfristige Archivierung von Dokumenten (Content Management, Digitale Bibliotheken)
  3. Analysieren großer Mengen von Geschäftsdaten: Data Warehouses und Data Mining
  4. Verarbeitung von Transaktionen auf eventuell verteilten Datenbeständen.

Die Veranstaltung wird mit Übungen für jeden Themenblock ergänzt.

Hochleistungsrechnen

(in der Regel im Wintersemester)

Hochleistungsrechnen bedeutet seit langem Parallelrechnen. Das Modul gibt einen Überblick über aktuelle Parallelrechnerarchitekturen und ihre Programmierung. In den praktischen Übungen werden die verbreiteten Standards für die parallele Programmierung auf Systemen mit gemeinsamem Speicher (OpenMP) und auf Systemen mit verteiltem Speicher (Message Passing Interface - MPI) behandelt.Voraussetzungen: Programmierkenntnisse in einer prozeduralen Programmiersprache, vorzugsweise C.

Compilerbau

Compilerbau

(in der Regel im Wintersemester)

Es geht um das Übersetzen (das Bild zeigt Dolmetscherkabinen) 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.

Objektorientierte Softwaretechnik

Das objektorientierte Paradigma und die Unified Modeling Language (UML) haben sich als Standard für die industrielle Softwareentwicklung  herausgebildet.Ziel der Lehrveranstaltung ist die Vermittlung von Prinzipien und Methoden  zur objektorientierten Entwicklung von qualitätsgerechter  Software. Die Teilnehmer sollen in die Lage versetzt werden, Softwarearchitekturen zu entwickeln und bewährte Lösungsansätze in Form von Patterns und Komponenten wiederzuverwenden. Weiterhin werden Konzepte zur benutzergerechten Entwicklung von Benutzungsoberflächen interaktiver Systeme eingeführt.

Datenbanken II

(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

(in der Regel 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

(in der Regel 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?


Vertiefung Praktische Informatik


Modulnummer:

1100780


Leistungspunkte:

6 ECTS


Lehrveranstaltungen:

  • Vorlesung (3 SWS)
  • Übung (1 SWS)

Prüfung:

Klausur (120 min) oder mündliche Prüfung (20 min)


Angebote im SS 2024

Angebote im WS 2023/24

Praktische Informatik