Lehre im Wintersemester 2021/22
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 ...Deep Learning Anwendungen
Deep Learning hat in den letzten Jahren große Fortschritte in der Anwendung von Künstlicher Intelligenz ermöglicht. In diesem Modul behandeln wir einige dieser Anwendungen, etwa Variational Autoencoders und Generative Adversarial Networks.
Lernergebnisse
Die Studierenden verstehen die Funktionsweise aktueller Architekturen tiefer neuronaler Netze und können sie für praktische Anwendungen in Bereichen wie Bilderkennung, Spracherkennung, Spracherzeugung oder Natural Language Processing anwenden.
Sie kennen Bibliotheken und Werkzeuge zum Aufbau und Training tiefer neuronaler Netze und können mit ihrer Hilfe tiefe neuronale Netze aufbauen und trainieren.
Sie kennen aktuelle Trainingsalgorithmen und können diese anwenden.
Sie kennen typische Trainingsprobleme wie Over- und Underfitting und können die Qualität von trainierten Modellen beurteilen.
mehr ...Moderne Web-Frameworks
Im Modul lernen wir die Frontend-Frameworks Vue.js, Angular und React anhand einer konkreten Beispielanwendung kennen. In einer Projektarbeit erstellen Sie als Gruppe oder einzeln eine eigene Webanwendung.
Lernergebnisse
Die Studierenden verstehen die Funktionsweise moderner Webanwendungen und kennen die Vor- und Nachteile verschiedener Ansätze wie etwa Rich Internet Applications oder Single-Page-Anwendungen. Sie können erläutern, welche Komponente die Präsentationslogik enthält.
Die Studierenden haben insbesondere durch praktische Rechnerübungen sowohl Frontends als auch Backends von Web-Anwendungen auf Basis populärer Frameworks implementiert, und sie sind in der Lage, Web-Anwendungen vergleichbarer Komplexität selbständig zu planen und zu entwickeln.
Inhalte
Moderne Web-Frameworks wie etwa
- Vue.js,
- React oder
- Angular werden anhand einer Beispielanwendung vorgestellt.
Im Praktikum werden darauf abgestimmten Präsenzaufgaben zur Erstellung einer einfachen Webanwendung mithilfe verschiedener Frameworks bearbeitet und die unterschiedlichen Ansätze der Frameworks kritisch reflektiert.
mehr ...Frontend-Frameworks für Webanwendungen
Fortgeschrittene Internettechnologien
Grundlagen der Programmierung
Das Modul Grundlagen der Programmierung führt in das algorithmische Denken ein und vermittelt grundlegende Programmierkenntnisse.
Lernergebnisse
Die Studierenden kennen die elementaren Datentypen zur Darstellung von Informationen in einem Computersystem mit ihren jeweiligen Eigenschaften und können für konkrete Aufgabenstellungen die jeweils geeigneten Datentypen auswählen.
Sie verstehen die Bedeutung kombinatorischer Fragestellungen in der Informatik und erlangen die Kompetenz, einfache kombinatorische Probleme zu lösen.
Die Studierenden kennen die grundlegenden Kodierungen für Zahlen und Zeichen und ihre Anwendungsbereiche und können die Komponenten eines von-Neumann-Rechners benennen und seine Funktionsweise erklären.
Sie beherrschen die Formulierung einfacher Algorithmen als Pseudocode und in einer Skriptsprache und erhalten so Kompetenzen, die zum Bearbeiten elementarer Aufgabenstellungen nötig sind (z.B. Sortieren einer Liste, Bestimmung des ggT zweier Zahlen).
Inhalte
Die Inhalte orientieren sich am Buch Algorithmen kapieren von Arditya Bhargava und folgenden Themen:
- Was ist ein Algorithmus?
- Landau-Notion
- Darstellungen ganzer und reeller Zahlen
- Informationsdarstellung (Texte, Multimedia)
- Boolesche Algebra, Logik
- Formulierung von Algorithmen als Pseudocode