Lehre im Sommersemester 2022

Skriptsprachen

Skriptsprachen wie Python sind inzwischen mehr als ein nützliches Werkzeug für Ad-Hoc-Aufgaben. Verbreitete Frameworks wie ansible, TensorFlow, PyTorch und SciKit Learn zeigen, dass Python sich auch für ernsthafte Anwendungen eignet. Auch viele Algorithmen lassen sich in Python sehr einfach umsetzen.

Im Modul lernen wir viele dieser Aspekte kennen. Zum Abschluss des Moduls entwickeln Sie ein eigenes Projekt in Python und setzen dabei Ihre kreativen Ideen um.

Lernergebnisse

Die Studierenden verstehen die Eigenschaften einer Skriptsprache wie Python und beherrschen ihren Einsatz zur Automatisierung von Aufgaben in der Systemintegration und zur Erstellung von Prototypen und Anwendungen.

Sie sind in der Lage, Aufgabenstellungen aus Themenfeldern wie Graphentheorie, dynamische Programmierung oder Machine Learning mit Python zu lösen und verstehen, welche Vorteile Python dabei gegenüber anderen Programmiersprachen bietet.

Die Vorlesung und die Praktikumsteilnahme befähigen zur selbständigen Durchführung einer schriftlichen Ausarbeitung und zur Erarbeitung weiterer Programmierkenntnisse.

mehr ...

Web-Mining

Die im World-Wide-Web gespeicherten Informationen wachsen kontinuierlich an und stellen somit eine unentbehrliche Quelle diverser Analysevorhaben dar. Im Vordergrund steht hierbei die Analyse der gespeicherten Webseiteninhalte (Web-Content-Mining), die vorwiegend aus schwach- oder unstrukturierten Texten bestehen.

Zur Analyse des Web-Contents werden u.a. Ansätze des Text-Minings angewendet. Unter dem Schlagwort „semantisches Web“ bestehen darüber hinaus seit einigen Jahren Bestrebungen, die unstrukturierten Daten mit semantischen Informationen anzureichern, so dass diese effizient durch Maschinen verarbeitet werden können. Die Grundlage hierfür stellen Ontologien zur Verfügung, auf deren Basis Repräsentationssprachen definiert werden, mit denen die semantische Anreicherung erfolgt. Aufbauend auf den Repräsentationssprachen existieren Inferenzmechanismen und Abfragesprachen, die aus den gespeicherten Informationen (implizites) Wissen ableiten können. Zusätzlich zum WebContent-Mining können weitere Informationen aus der Verlinkungsstruktur der HTML-Seiten (Web-Structure-Mining) und aus der Nutzung der Webseiten (Web-Usage-Mining) gewonnen werden.

Das Modul führt in die Grundlagen des Text-Minings ein und zeigt deren Anwendung zur Analyse von textuellen Webseiteninhalten. Außerdem werden die Grundlagen des semantischen Webs behandelt und die Prinzipien der Wissensrepräsentation durch Ontologien sowie die dazugehörigen Inferenzmechanismen eingeführt, wobei diese anhand von konkreten Repräsentationssprachen nachvollzogen werden. Es werden Ansätze zum Web-Structure- und Web-Usage-Mining behandelt.

Lernergebnisse

Nach der erfolgreichen Bearbeitung des Moduls ist der Studierende mit den grundlegenden Ansätzen des Text-Minings vertraut und kann auf dieser Basis konkrete Analyseanwendungen konzipieren und diese unter Verwendung aktueller Technologien umsetzen. Er ist somit in der Lage Web-Content-Analysen durchzuführen. Darüber hinaus kann er die Prinzipien des Web-Structure- und des Web-Usage-Mining erläutern und diese in Analyseprojekten anwenden. Der Studierende kann ferner die Ansätze des semantischen Webs wiedergeben, unter Verwendung konkreter Repräsentationssprachen Texte semantisch anreichern und Inferenzmechanismen zur Gewinnung von neuem Wissen auf der Basis existierender Abfragesprache konzipieren und umsetzen.

mehr ...

Internettechnologien

Webanwendungen sind aus unserem Alltag nicht mehr wegzudenken, sie machen inzwischen den überwiegenden Teil aller Anwendungen aus. In diesem Modul lernen Sie die grundlegenden Technologien zur Entwicklung von Webanwendungen.

Lernergebnisse

Die Studierenden können einfache Webanwendungen erstellen und dabei clientseitige Technologien (HTML, CSS, Javascript), Webserver wie nginx oder Apache und serverseitige Technologien (z.B. Node.js / Express.js) zu einer Anwendung zusammenfügen.

Sie

  • verstehen die Unterschiede zwischen einer Webanwendung und einer klassischen Anwendung und können die Vor- und Nachteile einer Webanwendung für einen konkreten Anwendungsfall beurteilen,
  • kennen die Funktionsweise von Single-Page-Anwendungen und verstehen das dabei notwendige Zusammenwirken von Front- und Backend,
  • verstehen die besonderen Sicherheitsaspekte bei der Entwicklung von Webanwendungen, und
  • können Tools für das Testen und das Debugging von Front- und Backendkomponenten verwenden.
mehr ...