Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria oprogramowania

Sylabus przedmiotu Duże zbiory danych:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Duże zbiory danych
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Inżynierii Systemów Informacyjnych
Nauczyciel odpowiedzialny Przemysław Korytkowski <Przemyslaw.Korytkowski@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 6 Grupa obieralna 1

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW6 30 2,00,50zaliczenie
laboratoriaL6 30 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Bazy danych 2

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z technologiami przetwarzania dużych zbiorów danych w środowisku klastrów obliczeniowych.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Rozproszony system plików HDFS2
T-L-2Środowisko Apache Spark: PySpark i Spark SQL4
T-L-3Przetwarzanie danych z wykorzystastaniem formatów: AVRO, ORC, Parquet, Delta Lake6
T-L-4Interfejsy programistyczne do platform obliczeń rozproszonych na przykładzie Apache Spark - typy kolekcji danych, transformacje, wsparcie dla standardowego języka zapytań SQL, wsparcie dla metod analizy statystycznej i metod uczenia maszynowego (Spark MLlib), wsparcie dla grafowych struktur danych i algorytmów wykorzystujących takie struktury (Spark GraphX), wsparcie dla przetwarzania strumieniowego danych (Spark Streaming)12
T-L-5Rozproszone platformy przetwarzania strumieniowego danych na przykładzie Apache Kafka - stosowanie podstawowych komend sterujących, implementacja kosumenta danych z użyciem API dla języka Java, implementacja producenta danych z użyciem API dla języka Java, zastosowanie API Kafka Streams6
30
wykłady
T-W-1Pojęcie dużych zbiorów danych. Źródła dużych danych.2
T-W-2Hurtownie danych, jeziora danych, ETL2
T-W-3Klastry, rozproszone systemy plików2
T-W-4Klastry, rozproszeone przetwarzanie danych: MapReduce, Hive, Spark4
T-W-5Formaty przechowywania danych w rozproszonych klastrach: Avro, ORC, Parquet, Delta Lake, Iceberg4
T-W-6Interfejsy programistyczne API do platform obliczeń rozproszonych - przegląd możliwości i zastosowań10
T-W-7Rozproszone platformy przetwarzania strumieniowego danych - przegląd możliwości, interfejsy programistyczne API, zastosowania6
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach30
A-L-2praca własna20
50
wykłady
A-W-1uczestnictwo w zajęciach30
A-W-2konsultacje2
A-W-3praca własna18
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1wykład informacyjny
M-2ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: wejściówki i sprawozdania
S-2Ocena podsumowująca: Test wielokrotnego wyboru

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C25.5_W01
Student zna i rozumie zasady działania technologii rozproszonego przechowywania i przerwarzania dużych zbiorów danych.
I_1A_W05C-1T-W-2, T-W-3, T-W-1, T-W-4, T-W-5M-1S-2

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C25.5_U01
Student potrafi dobrać i zastosować właściwą technologię przetwarzania dużych zbiorów danych w zależności od charakteru danych, ich rozmiaru oraz sposobu przetwarzania.
I_1A_U06C-1T-L-1, T-L-3, T-L-2M-2S-1

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C25.5_W01
Student zna i rozumie zasady działania technologii rozproszonego przechowywania i przerwarzania dużych zbiorów danych.
2,0
3,0Uzyskanie minimum 50% punktów z testu wielokrotnego wyboru.
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C25.5_U01
Student potrafi dobrać i zastosować właściwą technologię przetwarzania dużych zbiorów danych w zależności od charakteru danych, ich rozmiaru oraz sposobu przetwarzania.
2,0
3,0Uzyskanie oceny pozytywnej z wszystkich wejściowek i sprawozdań.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. Holden Karau and Rachel Warren, High Performance Spark, O’Reilly, 2017
  2. Jan Kunigk, Ian Buss, Paul Wilkinson, and Lars George, Architecting Modern Data Platforms. A Guide to Enterprise Hadoop at Scale, O’Reilly, 2019
  3. Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee, Spark. Błyskawiczna analiza danych, O'Reilly/Helion, 2023, 2

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Rozproszony system plików HDFS2
T-L-2Środowisko Apache Spark: PySpark i Spark SQL4
T-L-3Przetwarzanie danych z wykorzystastaniem formatów: AVRO, ORC, Parquet, Delta Lake6
T-L-4Interfejsy programistyczne do platform obliczeń rozproszonych na przykładzie Apache Spark - typy kolekcji danych, transformacje, wsparcie dla standardowego języka zapytań SQL, wsparcie dla metod analizy statystycznej i metod uczenia maszynowego (Spark MLlib), wsparcie dla grafowych struktur danych i algorytmów wykorzystujących takie struktury (Spark GraphX), wsparcie dla przetwarzania strumieniowego danych (Spark Streaming)12
T-L-5Rozproszone platformy przetwarzania strumieniowego danych na przykładzie Apache Kafka - stosowanie podstawowych komend sterujących, implementacja kosumenta danych z użyciem API dla języka Java, implementacja producenta danych z użyciem API dla języka Java, zastosowanie API Kafka Streams6
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Pojęcie dużych zbiorów danych. Źródła dużych danych.2
T-W-2Hurtownie danych, jeziora danych, ETL2
T-W-3Klastry, rozproszone systemy plików2
T-W-4Klastry, rozproszeone przetwarzanie danych: MapReduce, Hive, Spark4
T-W-5Formaty przechowywania danych w rozproszonych klastrach: Avro, ORC, Parquet, Delta Lake, Iceberg4
T-W-6Interfejsy programistyczne API do platform obliczeń rozproszonych - przegląd możliwości i zastosowań10
T-W-7Rozproszone platformy przetwarzania strumieniowego danych - przegląd możliwości, interfejsy programistyczne API, zastosowania6
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach30
A-L-2praca własna20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach30
A-W-2konsultacje2
A-W-3praca własna18
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C25.5_W01Student zna i rozumie zasady działania technologii rozproszonego przechowywania i przerwarzania dużych zbiorów danych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05Ma wiedzę o nowoczesnych metodach projektowania, analizowania, wytwarzania, testowania oprogramowania oraz rozwiązywania wybranych zadań inżynierskich obejmujących w szczególności narzędzia wspomagające wytwarzanie oprogramowania na różnych etapach powstawania, eksploatacji i rozwoju systemów informatycznych.
Cel przedmiotuC-1Zapoznanie studentów z technologiami przetwarzania dużych zbiorów danych w środowisku klastrów obliczeniowych.
Treści programoweT-W-2Hurtownie danych, jeziora danych, ETL
T-W-3Klastry, rozproszone systemy plików
T-W-1Pojęcie dużych zbiorów danych. Źródła dużych danych.
T-W-4Klastry, rozproszeone przetwarzanie danych: MapReduce, Hive, Spark
T-W-5Formaty przechowywania danych w rozproszonych klastrach: Avro, ORC, Parquet, Delta Lake, Iceberg
Metody nauczaniaM-1wykład informacyjny
Sposób ocenyS-2Ocena podsumowująca: Test wielokrotnego wyboru
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Uzyskanie minimum 50% punktów z testu wielokrotnego wyboru.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C25.5_U01Student potrafi dobrać i zastosować właściwą technologię przetwarzania dużych zbiorów danych w zależności od charakteru danych, ich rozmiaru oraz sposobu przetwarzania.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U06Potrafi pozyskiwać, przesyłać, przetwarzać dane, podsumowywać wyniki eksperymentów empirycznych, dokonywać interpretacji uzyskanych wyników i formułować wynikające z nich wnioski.
Cel przedmiotuC-1Zapoznanie studentów z technologiami przetwarzania dużych zbiorów danych w środowisku klastrów obliczeniowych.
Treści programoweT-L-1Rozproszony system plików HDFS
T-L-3Przetwarzanie danych z wykorzystastaniem formatów: AVRO, ORC, Parquet, Delta Lake
T-L-2Środowisko Apache Spark: PySpark i Spark SQL
Metody nauczaniaM-2ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: wejściówki i sprawozdania
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Uzyskanie oceny pozytywnej z wszystkich wejściowek i sprawozdań.
3,5
4,0
4,5
5,0