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)
    • Arkadiusz Kasprzak (GFT)
  • Programowanie w R (15 godz)

    Wprowadzenie do języka R oraz środowiska RStudio. Podstawy składni, pakiety: readr, data.table, dplyr, ggplot2, shiny, rmarkdown.

    Prowadzący:

    • Krzysztof Jedrzejewski (Pearson IOKI)
  • Programowanie w Pythonie (15 godz)

    Wprowadzenie do programowania w języku Python. Podstawy języka: składnia, tablice, funkcje; Numpy; Matplotlib; Pandas.

    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)
    • Marek Grzenkowicz (Roche)
    • Przemyslaw Szymił (Roche)
  • 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 (Roche)
    • Jakub Niwa (Roche)
    • Przemysław Szymił (Roche)
  • Analiza danych (20 godz)

    Metody statystyczne i analiza z wykorzystaniem języka R; generowanie wykresów i raportów; wybrane algorytmy eksploracji danych; funkcje analityczne w Pythonie.

    Prowadzący:

    • Tomasz Górecki (UAM)

Semestr II

  • Wstęp do Big Data (10 godz)

    Zajęcia poruszą problemy pracy na bardzo dużych zbiorach danych, z wykorzystaniem systemów rozproszonych, odkrywając jakie możliwości daje wykorzystanie nowoczesnej architektury systemów przetwarzania i analizy danych. Na zajęciach zostaną omówione różne koncepcje wykorzystania nowoczesnych systemów, począwszy od rozszerzenia hurtowni danych, budowy „Data Lake”, po praktyczne wykorzystanie złożonych algorytmów w procesie eksploracji danych.

    Prowadzący:

    • Marcin Siudziński
  • Optymalizacja zapytań (15 godz)

    Przedmiot omawia zaawansowane techniki realizacji zapytań i optymalizacji. Omówione zostaną: proces przetwarzania zapytań, struktury fizyczne tabel / indeksów (clustered, non-cl, columnstore, covering, filtered + kilka specjalnych które warto znać). Proces optymalizacji, plany trywialne i nietrywialne.

    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)

    Podstawy Spark-a, RDD, DataFrame; zasada działania; różnice względem Hadoop-a; Omówienie poszczególnych modułów – każda część z przykładami. Podstawą są ćwiczenia i interakcja ze studentami.

  • Przetwarzanie strumieniowe (10 godz)

    Aspekty strumieniowego przetwarzania danych; Kafka, Flume, Storm, Spark Streaming.

    Prowadzący:

    • Jakub Zakrzewski (Neptis S.A.)
    • Roman Wesołowski (Apollogic)
    • Adam Maciaszek (Apollogic)
  • 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 (Neptis S.A.)
  • Technologie Big Data (25 godz)

    Wprowadzenia do Apache Nifi oraz Elasticsearch i Kibany. Przetwarzanie danych strumieniowych z Twittera na zadany temat za pomocą technik NLP (Natural Language Processing – Biblioteki NLTK) . Praca w Notebook Jupyter. Przedmiot kończy się projektem zaliczeniowym.

    Prowadzący:

    • Roman Wesołowski (Apollogic)
    • Adam Maciaszek (Apollogic)