Program studiów
Semestr 1
- Zaawansowany SQL (25 godz)
Wykład przedstawia problematykę systemów baz danych, w szczególności obejmuje zagadnienia związane z architekturą i funkcjonalnością systemów relacyjnych, projektowaniem schematów baz danych, metodami zarządzania transakcjami i optymalizacji zapytań. Podczas ćwiczeń omówione zostaną zaawansowane aspekty języka SQL takie jak: wielokrotne grupowanie i agregacja (PIVOT, UNPIVOT, GROUPING SETS), wspólne wyrażenia tablicowe (Common Table Expressions, rekurencja), funkcje analityczne (szeregujące, funkcja okna), funkcje użytkownika (skalarne, tabelaryczne), operator APPLY (CROSS APPLY, OUTER APPLY).
Prowadzący:
- Marek Wisła (UAM)
- Anna Stachowiak (UAM)
- Arkadiusz Kasprzak (GFT)
- Programowanie w R (15 godz)
Wprowadzenie do języka R oraz środowiska RStudio. Po ukończeniu zajęć student/ka zna podstawową składnię języka, typy i struktury danych oraz pakiety języka R służące do przetwarzania danych; potrafi odczytywać i zapisywać dane do zewnętrznych zbiorów, analizować dane oraz budować raporty interaktywne wizualizacje z wykorzystaniem rmarkdown oraz shiny.
Prowadzący:
- Krzysztof Jedrzejewski (Pearson IOKI)
- Programowanie w Pythonie (15 godz)
Zapoznanie z podstawami języka Python: zmienne, podstawowe typy danych i struktury danych oraz operacje sterujące; student/ka potrafi analizować dane przy wykorzystaniu biblioteki pandas i scikit-learn; obsługuje narzędzia Jupyter do pracy z tzw. notebookami.
Prowadzący:
- Tomasz Dwojak (UAM)
- Hurtownie danych (25 godz)
Przedmiot przedstawia podstawowe koncepcje modelowania i implementacji hurtowni danych – konceptualny model wielowymiarowy i jego implementacja (ROLAP, MOLAP, HOLAP), schemat gwiazdy, płatka śniegu, konstelacji faktów, zagadnienia związane w modelowaniem wymiarów, wymiary wolnozmienne, hierarchie. Ponadto omawiane będą technologie zasilania i odświeżania hurtowni danych – proces ETL/ELT, problematyka czyszczenia danych. Na przedmiocie zrealizowany zostanie projekt obejmujący wszystkie fazy tworzenia hurtowni danych.
Prowadzący:
- Marek Nawrocki (UAM)
- Anna Stachowiak (UAM)
- Paweł Chudziński (Capgemini)
- Ilia Gilmijarow (Capgemini)
- Raportowanie danych (20 godz)
Przedmiot przedstawia metody raportowania danych: przegląd komercyjnych i niekomercyjnych narzędzi do raportowania, dobre praktyki oraz metody wizualizacji danych. W ramach zajęć praktycznych przeprowadzone zostanie szkolenie dotyczące raportowania z użyciem języka R, narzędzi Excel oraz Tableau. W ramach zaliczenia przygotowany zostanie projekt raportowania danych na podstawie hurtowni danych.
Prowadzący:
- Agnieszka Baran-Iwaszko (Capgemini)
- Anna Kaluba (Roche)
- Analiza danych (20 godz)
Po ukończeniu modułu student/ka zna i rozumie podstawowe pojęcia statystyczne związane z teorią estymacji i z teorią testowania hipotez; potrafi przeprowadzić analizę regresji, klasyfikację danych, potrafi wykonać redukcję wymiaru i przeprowadzić analizę skupień; ma świadomość etycznych i społecznych szans i zagrożeń związanych z analizą danych.
Prowadzący:
- Tomasz Górecki (UAM)
Semestr II
- Sieci neuronowe i uczenie głębokie (15 godz)
Podczas zajęć student/ka zapoznaje się z podstawowymi pojęciami związanymi z sieciami neuronowymi oraz głębokimi sieciami neuronowymi; potrafi skonstruować i dokonać ewaluacji płytkiej sieci neuronowej; potrafi skonstruować neuronową sieć konwolucyjną oraz neuronową sieć LSTM; wykorzystuje biblioteki Keras i TensorFlow do konstrukcji sieci neuronowych oraz bibliotekę H2O do automatycznej konstrukcji modeli głębokich; jest gotów do ciągłego pogłębiania swojej wiedzy w tym dynamicznie się rozwijającym obszarze.
Prowadzący:
- Tomasz Górecki (UAM)
- Przetwarzanie w chmurze (15 godz)
Przedmiot omawia podstawy systemów przetwarzania danych w chmurze, założenia i paradygmaty architektury; po jego ukończeniu student/ka zna koncepcję jeziora danych (Data Lake), budowę, warstwy, różnice implementacji on-premise vs. in cloud; zna różne formaty przechowywania danych AVRO, Parquet, CSV; potrafi dobrać odpowiednie rozwiązanie do określonych sytuacji (Raw / Processed zone).
Prowadzący:
- Jakub Kasprzak (GFT)
- Apache Hadoop (20 godz)
Na przedmiocie omówione zostaną architektury Hadoop V1 oraz V2, HDFS, Map Reduce, architektura klastra, HA, replikacja i dystrybucje. Zaprezentowane zostaną najczęściej wykorzystywane technologie ekosystemu. Ponadto: podstawowe zagadnienia konfiguracji i administracji klastra, zarządzanie użytkownikami, metody dostępu do danych, ładowanie danych, formaty serializacji, kompresji i składowania danych. Wszystkie tematy zostaną omówione, a następnie poparte przykładami ćwiczeń.
Prowadzący:
- Marcin Siudziński
- Apache Spark (20 godz)
po ukończeniu modułu student/ka zna i rozumie platformę Apache Spark służącą do obliczeń rozproszonych; zna i rozumie podstawową architekturę tego rozwiązania, zasady działania, różnicą względem Hadoop-a; potrafi tworzyć rozwiązania w oparciu o Spark SQL, DataFrame, Spark Core api. Podstawą zajęć są ćwiczenia i interakcja ze studentami.
Prowadzący:
- Krzysztof Płatek (Allegro)
- Tomasz Siejkowski (Allegro)
- Przetwarzanie strumieniowe (10 godz)
Po ukończeniu przedmiotu student/ka zna i rozumie zasady przetwarzania strumieniowego danych i wykorzystania różnych związanych z tym narzędzi jak Kafka, Flume, Storm, Spark Streaming; potrafi dostosować narzędzie do napotkanego problemu.
Prowadzący:
- Jakub Zakrzewski (TomTom)
- NoSQL (20 godz)
Przedstawione zostaną podstawowe koncepcje baz NoSQL, w szczególności bazy danych typu key-value i bazy dokumentowe, oraz przykłady baz NoSQL – przede wszystkim HBase, a także Cassandra, Hive/Impala oraz Neo4j.
Prowadzący:
- Jakub Zakrzewski (TomTom
- Technologie Big Data - projekt (20 godz)
Przedmiot porównuje różnorodne technologie pozwalające na przetwarzanie dużych zbiorów danych; przedstawia podstawy Apache Nifi oraz Elasticsearch i Kibany; po ukończeniu zajęć student/ka potrafi przetwarzać dane strumieniowe z Twittera na zadany temat za pomocą technik NLP (Natural Language Processing – Biblioteki NLTK); potrafi pracować w Notebook Jupyter; potrafi pracować samodzielnie i w grupie nad zadanym projektem; rozumie potrzebę ciągłego pogłębiania swojej wiedzy. Przedmiot kończy się projektem zaliczeniowym.
Prowadzący:
- Adam Maciaszek (deepsense.ai)