SWS |
4 |
ECTS |
5 |
Sprache(n) |
Deutsch
(Standard)
Englisch
|
Lehrform |
SU mit Praktikum |
Angebot |
nach Ankündigung |
Aufwand |
30 Präsenzstunden Vorlesung, 30 Präsenzstunden Praktikum, 45 Stunden Vor-/Nachbereitung des Praktikums, 45 Stunden Nachbereitung der Vorlesung und Prüfungsvorbereitung |
Voraussetzungen |
Programmierkenntnisse in mindestens einer Programmiersprache (z.B. Java) auf Bachelor-Niveau |
Ziele |
Lernziele
Die Studierenden
- sind in der Lage, Big Data Technologien als Lösungsstrategie für Analyseprobleme mit großen Datenmengen in verschiedensten Anwendungsszenarien im Rahmen des Data Science Prozesses methodisch korrekt und sicher einzusetzen. Der Fokus liegt auf der Grundlagenausbildung.
- sind befähigt, sich schnell in neue und aktuelle Big Data Technologien einzuarbeiten.
Fach- & Methodenkompetenzen
Die Studierenden
- können die theoretischen Prinzipien der Speicherung (HDFS), Indizierung und Analyse großer Datenmengen in Clusterumgebungen erklären und die verschiedenen Methoden und Algorithmen beschreiben.
- erklären in eigenen Worten die Bedeutung von Big Data Analytics in ihrem fachlichen Kontext.
- beschreiben die kontextbezogenen Vor- und Nachteile der vorgestellten Technologien.
- analysieren, welche Methoden und Technologien in welchem Anwendungsszenario sinnvoll verwendet werden können.
- können Analysen auf große Datenmengen in einer modernen Programmiersprache für Big Data Analytics wie z.B. Scala implementieren. Dabei können sie zielgerichtet die Stärken dieser Sprache, wie z.B. objektorientierte und funktionale Aspekte bei Scala, korrekt einsetzen. Zudem können sie mindestens ein Big Data Rechenframework wie z.B. Apache Spark verwenden, um ihre Analysen massiv zu parallelisieren.
- beurteilen die Effektivität und Effizient ihrer Implementierungen, analysieren ihre Ergebnisse und können diese verständlich aufbereiten und kommunizieren.
Überfachliche Kompetenzen
Die Studierenden
- können erfolgreich mit anderen zusammenzuarbeiten und gemeinsame Ziele erreichen.
- erarbeiten in Kleingruppen Vorlesungsinhalte und setzen eigenständig praktische Aufgabenstellungen um.
- erwerben die Fähigkeit komplexe Zusammenhänge nachvollziehbar und überprüfbar aufzubereiten und darzustellen.
- können Informationen analysieren, aus diversen Gesichtspunkten wie Ressourcennutzung und Reproduzierbarkeit bewerten und fundierte Schlussfolgerungen ziehen.
|
Inhalt |
Viele Anwendungen aus dem Bereich des maschinellen Lernens basieren mittlerweile auf der Analyse riesiger Datenmengen, welche aufgrund der enormen erforderlichen Speicher- und Rechenkapazität nicht mehr von Einzelrechnern durchgeführt werden kann. Hintergrund von Methoden und Technologien aus dem Bereich Big Data Analytics ist es, die Datenhaltung und die Berechnung auf Rechnerverbundsysteme (Cluster) zu verteilen.
In diesem Kurs werden zunächst die theoretischen Grundlagen, wie verteilte Dateisysteme, verteilte Datensätze und die verteilte Berechnung behandelt. Anschließend werden aktuelle Implementierungen, wie Apache Hadoop/HDFS und Apache Spark besprochen. Ebenso wird eine grundlegende Einführung in die, auf der Java Virtual Machine aufbauende, funktionale Programmiersprache Scala gegeben. Es folgen Themen wie Datenaufbereitung für die effiziente Prozessierung, Programmierung mit MapReduce, Programmierung in Apache Spark, Analysen in nahezu Echtzeit mit Hilfe von Indizierung, Visualisierung durch Dashboards und die verteilte Umsetzung ausgewählter Algorithmen aus dem Bereich des maschinellen Lernens. |
Medien und Methoden |
Beamer, Tafel, Jupyter/Zeppelin Notebooks, Dashboards (ElasticSearch, Kibana), Moodle |
Literatur |
- White, Tom (2017). Hadoop: The Definitive Guide. O'Reilly and Associates.
- Chambers, Bill & Zaharu, Matei (2018). Spark: The Definitive Guide: Big data processing made simple. O'Reilly UK Ltd.
- Wills, Josh & Laserson, Uri & Owen, Sean & Ryza, Sandy (2017). Advanced Analytics with Spark: Patterns for Learning from Data at Scale. O'Reilly UK Ltd.
- Gormley, Clinton & Tong, Zachary (2015). Elasticsearch: The Definitive Guide. O'Reilly and Associates.
- Schwartz, Jason (2014). Learning Scala: Practical Functional Programming for the JVM. O'Reilly and Associates.
|
Zuordnungen Curricula |
SPO |
Fachgruppe |
Code |
ab Semester |
Prüfungsleistungen |
IG Version 2019 |
SWE: Fachliche u. persönliche Profilbildung |
IG-12345 |
1 |
mündliche Prüfung
schriftliche Prüfung
|
IG Version 2019 |
EC: Fachliche u. persönliche Profilbildung |
IG-12345 |
1 |
mündliche Prüfung
schriftliche Prüfung
|
IS Version 2017 |
WPF Informatik und Wirtschaft |
IF-S-M-I12 |
1 |
mündliche Prüfung
schriftliche Prüfung
|
IG Version 2019 |
VCML: Schwerpunkt |
IG-12345 |
1 |
mündliche Prüfung
schriftliche Prüfung
|
DA Version 2023 |
DA: Anwendungen |
IF-DA-M-A10 |
1 |
mündliche Prüfung
schriftliche Prüfung
|
IG Version 2024 |
EC: Fachliche u. persönliche Profilbildung |
IG-12345 |
1 |
mündliche Prüfung
schriftliche Prüfung
|
IG Version 2024 |
SWE: Fachliche u. persönliche Profilbildung |
IG-12345 |
1 |
mündliche Prüfung
schriftliche Prüfung
|
IG Version 2024 |
VCML: Schwerpunkt |
IG-12345 |
1 |
mündliche Prüfung
schriftliche Prüfung
|
|