You are on page 1of 6

Analiza dużych zbiorów danych

Sylabus modułu zajęć

Informacje podstawowe

Kierunek studiów Cykl dydaktyczny


Informatyka - Data Science 2021/2022

Specjalność Kod przedmiotu


Wszystkie IEiTIDSS.IIi2K.b36585388154d0601066757cf7ac73a9.21

Jednostka organizacyjna Języki wykładowe


Wydział Informatyki, Elektroniki i Telekomunikacji Polski

Poziom kształcenia Obligatoryjność


studia magisterskie inżynierskie II stopnia Obowiązkowy

Forma studiów Blok zajęciowy


Stacjonarne przedmioty kierunkowe

Profil studiów Przedmiot powiązany z badaniami naukowymi


Ogólnoakademicki Tak

Koordynator Maciej Malawski, Bartosz Baliś, Bartłomiej Śnieżyński


przedmiotu

Prowadzący zajęcia Maciej Malawski, Bartosz Baliś, Bartłomiej Śnieżyński

Okres Forma weryfikacji uzyskanych efektów uczenia się Liczba


Semestr 2 Egzamin punktów ECTS
5.0
Forma prowadzenia i godziny zajęć
Wykład: 30, Ćwiczenia projektowe: 16, Ćwiczenia laboratoryjne: 14

Efekty uczenia się dla przedmiotu

Kierunkowe efekty
Kod Efekty w zakresie Metody weryfikacji
uczenia się

Wiedzy – Student zna i rozumie:

Zna architekturę typowych systemów przetwarzania


W1 INF2DS_W03 Egzamin
dużych zbiorów danych

1/6
Zna najważniejsze problemy związane INF2DS_W01,
W2 z przetwarzaniem dużych zbiorów danych oraz ich INF2DS_W02, Egzamin
rozwiązania. INF2DS_W04

Umiejętności – Student potrafi:

INF2DS_U01,
Potrafi tworzyć i analizować systemy do przetwarzania
U1 INF2DS_U02, Wykonanie projektu
dużych zbiorów danych
INF2DS_U03

Potrafi ocenić przydatność środowisk i bibliotek Wykonanie ćwiczeń


U2 INF2DS_U04
do przetwarzania dużych zbiorów danych laboratoryjnych

Kompetencji społecznych – Student jest gotów do:

Koordynacja, realizacja
projektu badawczego,
przygotowanie
K1 Korzysta z artykułów naukowych i wyników projektów INF2DS_K01, INF2DS_K02 referatu/publikacji,
organizacja konferencji,
obozów i wycieczek
naukowych

Zaangażowanie w pracę
K2 Potrafi planować pracę w zespole INF2DS_K02
zespołu

Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć
Celem przedmiotu jest zapoznanie studentów z zagadnieniami przetwarzania dużych zbiorów danych (Big Data) oraz z
technikami i środowiskami do przetwarzania danych w chmurach.

Bilans punktów ECTS

Średnia liczba godzin* przeznaczonych


Rodzaje zajęć studenta
na zrealizowane aktywności

Wykład 30

Ćwiczenia projektowe 16

Ćwiczenia laboratoryjne 14

Przygotowanie do zajęć 30

Samodzielne studiowanie tematyki zajęć 30

Egzamin lub kolokwium zaliczeniowe 2

Dodatkowe godziny kontaktowe 5

Przygotowanie projektu, prezentacji, pracy pisemnej,


20
sprawozdania

Liczba godzin
Łączny nakład pracy studenta
147

Liczba godzin
Liczba godzin kontaktowych
60

* godzina (lekcyjna) oznacza 45 minut

2/6
Treści programowe

Efekty uczenia się dla Formy prowadzenia


Lp. Treści programowe
przedmiotu zajęć

Model MapReduce i jego implementacje (2 godz.):


Oryginalne rozwiązanie MapReduce z firmy Google,
1. związek z obliczeniami typu HPC oraz HTC, Apache W1, W2, K1 Wykład
Hadoop i bazujący na nim ekosystem, przykłady
zastosowań do typowych problemów.

ĆWICZENIA LABORATORYJNE: # Wstęp do Apache


Spark - model danych RDD, zapytania i transformacje
# Model danych DataFrame
# Architektura klastra obliczeniowego, przetwarzanie
2. U1, U2, K1, K2 Ćwiczenia laboratoryjne
równoległe w chmurze, użycie cloud storage
# Spark Streaming
# Algorytmy grafowe
# Elementy uczenia maszynowego w Spark

Cwiczenia projektowe: Studenci opracowują


kompletną analizę danych dla wybranego problemu,
3. wraz z warstwą importu danych, transformacji, U1, U2 Ćwiczenia projektowe
zapytań analitycznych oraz prezentacji wyników, wraz
z pomiarami wydajności i skalowalności

Rozproszone systemy plików (GFS, HDFS) (2 godz.):


Problem przechowywania danych w klastrach,
4. mechanizmy replikacji oraz synchronizacji, spójność W1, W2, K1 Wykład
danych i odporność na awarie, implementacje i
alternatywne rozwiązania.

Rozproszone bazy danych (BigTable, HBase) (2 godz.):


Problemy przechowywania danych strukturalnych,
5. implementacje BigTable, HBase, dostępne W1, W2, K1 Wykład
wysokopoziomowe mechanizmy zapytań, przykłady
zastosowań.

Wstęp - przykłady problemów i aplikacji analizy


danych wielkiej skali (2 godz.): Aplikacje naukowe
6. (fizyka, astronomia, bioinformatyka), biznesowe W1, W2, K1 Wykład
(eksploracja danych), systemy IoT, smart city, sieci
społecznościowe.

Model przetwarzania RDD Apache Spark (2 godz.):


Problemy z modelem MapReduce, zalety modelu RDD,
7. W1, W2, K1 Wykład
implementacja Apache Spark, architektura klastra
oraz zarządzanie zasobami.

Przetwarzanie strumieniowe (2 godz.): Modele


przetwarzania strumieniowego na przykładzie Spark
8. W1, W2, K1 Wykład
Streaming, Storm itp, problemy skalowalności i
wydajności w przetwarzaniu strumieniowym.

Problemy przechowywania danych w chmurach


(replikacja, spójność) (2 godz.): Problemy
9. przechowywania danych w chmurach (replikacja, W1, W2, K1 Wykład
spójność) na przykładzie Amazon Dynamo, Google
Spanner oraz cloud object storage

Przetwarzanie grafowe (2 godz.): Modele grafowych


baz danych, modele przetwarzania grafowego oraz
10. W1, W2, K1 Wykład
implementacje (Pregel, GraphX, Neo4J), przykłady
zastosowań

3/6
Architektury jeziora danych (Data Lakes) (2 godz.):
11. Architektury jeziora danych (Data Lakes), globalny W1, W2, K1 Wykład
dostęp do danych, kolokacja danych i obliczeń

Zarządzanie zasobami (2 godz).: Zarządzanie


zasobami, problem szeregowania zadań oraz
12. W1, W2, K1 Wykład
rozmieszczania komponentów/procesów/kontenerów
(Borg, Mesos, YARN, Kubernetes, itp)

Architektury centrów danych do obliczeń oraz AI (2


godz.): Architektury centrów danych do obliczeń oraz
13. sztucznej inteligencji, zastosowanie procesorów W1, W2, K1 Wykład
graficznych, wektorowych i tensorowych, problemy
komunikacji oraz energii.

Uczenie maszynowe - Klasyfikacja i regresja (6 godz.):


Uczenie maszynowe - Klasyfikacja i regresja, systemy
14. rekomendacyjne, Narzędzia wspomagające uczenie W1, W2, K1 Wykład
maszynowe (MLlib) dla dużych zbiorów danych,
problemy skalowalności algorytmów i systemów

Podsumowanie - przegląd najnowszych i przyszłych


rozwiązań (2 godz.): Najnowsze trendy w
15. przetwarzaniu dużych danych, nowe wyzwania W1, W2, K1 Wykład
naukowe i technologiczne, możliwości nowych
rozwiązań.

Informacje rozszerzone

Metody i techniki kształcenia:

Wykład tablicowy, Wykonanie ćwiczeń laboratoryjnych, Wykonanie projektu

War
unki
zalic
zeni
Rodzaj zajęć Sposób weryfikacji i oceny efektów uczenia się
a
prze
dmi
otu

Egzamin, Koordynacja, realizacja projektu badawczego, przygotowanie


Wykład
referatu/publikacji, organizacja konferencji, obozów i wycieczek naukowych

Ćwiczenia projektowe Wykonanie projektu, Wykonanie ćwiczeń laboratoryjnych

Wykonanie projektu, Wykonanie ćwiczeń laboratoryjnych, Zaangażowanie w pracę


Ćwiczenia laboratoryjne zespołu, Koordynacja, realizacja projektu badawczego, przygotowanie
referatu/publikacji, organizacja konferencji, obozów i wycieczek naukowych

Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki
dopuszczenia do egzaminu

Warunkiem uzyskania oceny końcowej jest zaliczenie zajęć laboratoryjnych, projektowych, zdanie egzaminu, przygotowanie
opracowania;

Sposób obliczania oceny końcowej

Ocena końcowa jest rozsądnie ważoną średnią cen z w/w wymienionych komponentów; uwzględniana jest także aktywność
w trakcie wykładów.

4/6
Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach

Nieobecność na zajęciach student może odrobić przychodząc z inną grupą.

Wymagania wstępne i dodatkowe


Programowanie równoległe, algorytmy równoległe, systemy rozproszone

Zasady udziału w poszczególnych zajęciach, ze wskazaniem, czy obecność studenta na zajęciach jest
obowiązkowa

Wykład: Ćwiczenia laboratoryjne: Ćwiczenia projektowe:

Literatura
Obowiązkowa

1. # Matei Zaharia, Holden Karau, Andy Konwinski, Patrick Wendell: Learning Spark, Lightning-Fast Big Data Analysis,
O'Reilly Media, 2015
2. # Matei Zaharia, Bill Chambers: Spark: The Definitive Guide, Big Data Processing Made Simple; O'Reilly Media, 2018
3. # Dean, J. and Ghemawat, S., 2008. MapReduce: simplified data processing on large clusters. Communications of the
ACM, 51(1), pp.107-113.
4. # Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A. and Gruber, R.E.,
2008. Bigtable: A distributed storage system for structured data. ACM Transactions on Computer Systems (TOCS), 26(2),
p.4.
5. # DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P. and
Vogels, W., 2007, October. Dynamo: amazon's highly available key-value store. In ACM SIGOPS operating systems review
(Vol. 41, No. 6, pp. 205-220). ACM.
6. # Zaharia, M., Chowdhury, M., Das, T., Dave, A., Ma, J., McCauley, M., Franklin, M.J., Shenker, S. and Stoica, I., 2012,
April. Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing. In Proceedings of the
9th USENIX conference on Networked Systems Design and Implementation (pp. 2-2). USENIX Association.
7. # Malewicz, G., Austern, M.H., Bik, A.J., Dehnert, J.C., Horn, I., Leiser, N. and Czajkowski, G., 2010, June. Pregel: a system
for large-scale graph processing. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of
data (pp. 135-146). ACM.
8. # Wybrane artykuły naukowe z: ERCIM News, FGCS, Internet Computing, Dagstuhl Seminars, konferencji naukowych
(seria Springer LNCS)

Badania i publikacje
Publikacje

1. Valentina Avati, Milosz Blaszkiewicz, Enrico Bocchi, Luca Canali, Diogo Castro, Javier Cervantes, Leszek Grzanka, Enrico
Guiraud, Jan Kaspar, Prasanth Kothuri, Massimo Lamanna, Maciej Malawski, Aleksandra Mnich, Jakub Moscicki, Shravan
Murali, Danilo Piparo and Enric Tejedor: Declarative Big Data Analysis for High-Energy Physics: TOTEM Use Case, Euro-Par
2019 Proceedings Andrzej Dębski, Bartłomiej Szczepanik, Maciej Malawski, Stefan Spahr, Dirk Muthig: “In Search for
a Scalable and Reactive Architecture of a Cloud Application: CQRS and Event Sourcing Case Study”, in IEEE Software,
35(2): 62-71 (2018) Piotr Bryk, Maciej Malawski, Gideon Juve, Ewa Deelman: “Storage-aware algorithms for scheduling of
workflow ensembles in clouds” in Journal of Grid Computing 14 (2), 359-378 Maciej Malawski, Gideon Juve, Ewa Deelman,
Jarek Nabrzyski: “Algorithms for Cost- and Deadline-Constrained Provisioning for Scientific Workflow Ensembles in IaaS
Clouds”, in Future Generation Computer Systems, vol. 48, pp 1-18, July 2015

5/6
Kierunkowe efekty uczenia się

Kod Treść

Ma świadomość odpowiedzialności za własną pracę oraz za wspólnie realizowane zadania; potrafi myśleć i
INF2DS_K01
działać w sposób kreatywny i przedsiębiorczy

Ma świadomość roli społecznej absolwenta uczelni technicznej; rozumie potrzebę formułowania i


przekazywania społeczeństwu informacji i opinii dotyczących osiągnięć informatyki, w tym zwłaszcza metod
INF2DS_K02 eksploracji danych, uczenia maszynowego i sztucznej inteligencji; ma świadomość wagi profesjonalnego
zachowania i przestrzegania zasad etyki zawodowej, prawidłowo identyfikuje i rozstrzyga dylematy
związane z wykonywaniem zawodu

Potrafi projektować i realizować systemy informatyczne oparte na danych, a także konstruować systemy
INF2DS_U01
uczące się

Potrafi wykorzystać znane algorytmy, metody obliczeniowe i struktury danych w budowie systemu
INF2DS_U02
informatycznego

Posługuje się technikami i językami programowania stosowanymi w analizie danych, uczeniu maszynowym i
systemach wykorzystujących metody sztucznej inteligencji; potrafi ocenić przydatność różnych
INF2DS_U03 paradygmatów i związanych z nimi środowisk programistycznych do rozwiązywania problemów analizy
danych i realizacji systemów uczących się; potrafi czytać ze zrozumieniem, pisać, uruchamiać i weryfikować
programy zapisane z użyciem różnych paradygmatów programowania

Potrafi ocenić przydatność i korzystać z dostępnych bibliotek, komponentów oprogramowania i narzędzi z


uwzględnieniem wymagań systemów opartych na danych oraz systemów wykorzystujących metody uczenia
INF2DS_U04 maszynowego i sztucznej inteligencji; potrafi porównać istniejące rozwiązania ze względu na zadane
kryteria użytkowe i ekonomiczne oraz wskazać możliwości ich ulepszenia; potrafi ocenić przydatność i
możliwość wykorzystania nowych osiągnięć w zakresie informatyki

Ma pogłębioną wiedzę w zakresie przedmiotów ścisłych, pozwalającą na formułowanie i rozwiązywanie


INF2DS_W01 złożonych zadań z zakresu informatyki, analizy danych oraz metod uczenia maszynowego i sztucznej
inteligencji

Ma pogłębioną wiedzę w zakresie rozwiązań algorytmicznych, struktur danych i metod obliczeniowych


INF2DS_W02
związanych z analizą danych, uczeniem maszynowym i metodami sztucznej inteligencji

Ma szczegółową wiedzę w zakresie wybranych języków, paradygmatów i technik programowania oraz


INF2DS_W03 rozwiązań systemowych w zagadnieniach analizy danych, uczenia maszynowego i metod sztucznej
inteligencji

Orientuje się w obecnym stanie oraz najnowszych osiągnięciach i trendach rozwojowych informatyki i
INF2DS_W04 dziedzin pokrewnych oraz ma wiedzę niezbędną do rozumienia pozatechnicznych uwarunkowań działalności
inżynierskiej

6/6

You might also like