Wydział Informatyki - Informatyka (S2)
Sylabus przedmiotu Oprogramowanie do przetwarzania dużych zbiorów danych:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | drugiego stopnia |
Tytuł zawodowy absolwenta | magister inżynier | ||
Obszary studiów | charakterystyki PRK, kompetencje inżynierskie PRK | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Oprogramowanie do przetwarzania dużych zbiorów danych | ||
Specjalność | Projektowanie oprogramowania | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Włodzimierz Bielecki <Wlodzimierz.Bielecki@zut.edu.pl> | ||
Inni nauczyciele | Łukasz Radliński <lradlinski@zut.edu.pl>, Valery Rogoza <wrogoza@zut.edu.pl> | ||
ECTS (planowane) | 3,0 | ECTS (formy) | 3,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Dla skutecznego studiowania tego przedmiotu, studenci muszą posiadać wiedzę i umiejętności w następujących dyscyplinach akademickich: 1. Algorytmy i struktury danych 2. Programowanie obiektowe co najmniej w jednym z języków obiektowych 3. Systemy rozproszone 4. Podstawy teorii systemów operacyjnych i kompilatorów 5. Metody data-mining |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Celem przedmiotu jest zdobywanie wiedzy i rozwijanie umiejętności studentów do: - analizowania charakterystyk danych docierających do systemu informatycznego, znajomość zadań, którymi należy się zająć przetwarzająć te dane, oraz tworzenie i wybór odpowiednich metod, środowiska komputerowego i oprogramowania w celu efektywnego rozwiązania zadań, tj. ma na celu zbadanie struktury i objętości danych oraz wybór odpowiednich środków i systemów informatycznych do rozwiązania problemów, a przedmiotem działalności jest przetwarzanie dużych zbiorów danych nadchodzących do systemu informatycznego z różnych źródeł danych systemu rozproszonego; - właściwej oceny i analizy wyników uzyskanych z rozwiązywania zadań przetwarzania danych, klasyfikacji i wyboru najbardziej efektywnych sposobów rozwiązywania klasów owych problemów, a także modyfikacji istniejących rozwiązań i opracowanie nowych metod i programów w oparciu o doświadczenia w celu tworzenia przydatnej platformy komputerowej, czyli działania mające na celu opracowanie metod analizy oprogramowania i tworzenia oprogramowania przeznaczonego do analizy i pretwarzania dużych zbiorów danych za pomocą narzędzia programowego. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Zastosowanie wybranych usług analitycznych w chmurze obliczeniowej | 2 |
T-L-2 | Zastosowanie wybranych usług uczenia maszynowego w chmurze obliczeniowej | 2 |
T-L-3 | Automatyzowanie zadań uczenia maszynowego. Wybór i udostępnianie modelu dla użytkowników końcowych. | 2 |
T-L-4 | Zastosowanie wybranych metod i narzędzi analizy danych z urządzeń Internetu rzeczy | 2 |
T-L-5 | Zastosowanie wybranych metod i narzędzi analizy danych strumieniowych i multimedialnych w chmurze obliczeniowej. | 2 |
T-L-6 | Symulacja i strukturyzacja danych w głównym pliku danych. Tworzenie modeli danych opartej na fakty, semantyczna normalizacja danych | 2 |
T-L-7 | Zastosowanie narzędzia Apache Thrift do implementacji procesów symulacji i strukturyzacji danych | 2 |
T-L-8 | Badanie metod przetwarzania wsadowego. Lambda-architektura modeli dużych zbiorów danych | 2 |
T-L-9 | Implementacja lambda-architektury danych w projekcie eksperymentalnym | 2 |
T-L-10 | Techniki tworzenia i implementacji wysokopoziomowych modeli do przechowywania danych w technologii przetwarzania wsadowego (na przykładzie rozproszonego systemu plikowego HDFS) | 2 |
T-L-11 | Badanie zasad obliczania dowolnych funkcji w metodach przetwarzania wsadowego dużych zbiorów danych. Techniki przetwarzania taśmowego | 2 |
T-L-12 | Tworzenie architektury systemu wsadowego przetwarzania danych i jej realizacja w projekcie eksperymentalnym | 2 |
T-L-13 | Implementacja architektury systemu wsadowego przetwarzania danych w eksperymentalnym projekcie z wykorzystaniem narzędzia programistycznego Apache Thrift, Pail oraz JCascalog. | 2 |
T-L-14 | Badanie technik poszukiwania podobnych obiektów na dużych zbiorach danych i próbna implementacja jednej z tych technik (za wyborem studenta) w postaci kodu eksperymentalnego | 2 |
T-L-15 | Badanie technik poszukiwania częstych zbiorów dużych danych i próbna implementacja jednej z tych technik (za wyborem studenta) w postaci kodu eksperymentalnego | 2 |
30 | ||
wykłady | ||
T-W-1 | Usługi analityczne u wybranych dostawców usług w chmurze obliczeniowej | 2 |
T-W-2 | Usługi uczenia maszynowego u wybranych dostawców usług w chmurze obliczeniowej | 2 |
T-W-3 | Automatyzacja zadań uczenia maszynowego. Interakcja z użytkownikiem w realizacji zadań uczenia maszynowego. Wybór i udostępnianie modelu dla użytkowników końcowych. | 2 |
T-W-4 | Metody i narzędzia analizy danych z urządzeń Internetu rzeczy | 2 |
T-W-5 | Metody i narzędzia analizy danych strumieniowych i multimedialnych w chmurze obliczeniowej | 2 |
T-W-6 | Paradygmat oprogramowania do przetwarzania dużych zbiorów danych | 2 |
T-W-7 | Poziom przetwarzania wsadowego. Model danych dla dużych zbiorów danych | 2 |
T-W-8 | Implementacja strukturalna i programowa lambda-architektury przetwarzania wsadowego dużych zbiorów danych | 2 |
T-W-9 | Przechowywanie dużych zbiorów danych na poziomie przetwarzania wsadowego | 2 |
T-W-10 | Obliczenia na poziomie przetwarzania wsadowego | 2 |
T-W-11 | Model przetwarzania dużych zbiorów danych MapReduce i zasady jego implementacji w systemach programowych | 2 |
T-W-12 | Model danych JCascalog | 2 |
T-W-13 | Metody i algorytmy wyszukiwania podobnych danych na dużych zbiorach danych | 2 |
T-W-14 | Implementacja modelu PageRank. Techniki filtracji spamu na dużych zbiorach danych | 2 |
T-W-15 | Metody i techniki wyszukiwania częstych zestawów danych tematycznych | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Wykonanie badań eksperymentalnych w laboratoriach | 30 |
A-L-2 | Obrona projektów kodów eksperymentalnych i przygotowanie do zaliczenia | 7 |
37 | ||
wykłady | ||
A-W-1 | Uczestnictwo w zajęciach | 30 |
A-W-2 | Przygotowanie do zaliczenia | 6 |
A-W-3 | Konsultacje | 2 |
38 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją |
M-2 | Ćwiczenia laboratoryjne |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocena za ćwiczenia indywidualne |
S-2 | Ocena podsumowująca: Ocena końcowa z laboratoriów jako średnia ważona z ćwiczeń indywidualnych |
S-3 | Ocena podsumowująca: Zaliczenie pisemne |
Zamierzone efekty uczenia się - wiedza
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_2A_D02.10_W01 Student posiada wiedzę o metodach i narzędziach do analizy danych w chmurze obliczeniowej na dużych zbiorach danych | I_2A_W02 | — | — | C-1 | T-W-1, T-W-2, T-W-3, T-W-5, T-W-4 | M-1 | S-3 |
I_2A_D02.10_W02 Student posiada wiedzę o metodach, algorytmach i oprogramowaniu do rozwiązania poszczególnych problemów przetwarzania dużych zbiorów danych, rozpatrywanych na wykładach i zbadanych na zajęciach laboratoryjnych. | I_2A_W04 | — | — | C-1 | T-W-1, T-W-2, T-W-3, T-W-5, T-W-4, T-W-7, T-W-9, T-W-8, T-W-14, T-W-6, T-W-10, T-W-11, T-W-12, T-W-13, T-W-15 | M-1 | S-3 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_2A_D02.10_U01 Student umie wykorzystywać metody i narzędzia do analizy danych w chmurze na dużych zbiorach danych. | I_2A_U01 | — | — | C-1 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5 | M-2 | S-1, S-2 |
I_2A_D02.10_U02 Student umie analizować i klasyfikować cechy danych nadchodzących do systemu komputerowego, wybierać odpowiednie oprogramowanie i techniki przetwarzania tych danych i zastosowywać rezultaty badań do rozwiązania poszczególnych problemów. | I_2A_U02 | — | — | C-1 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-11, T-L-12, T-L-6, T-L-7, T-L-8, T-L-9, T-L-13, T-L-14, T-L-15, T-L-10 | M-1, M-2 | S-2 |
Zamierzone efekty uczenia się - inne kompetencje społeczne i personalne
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_2A_D02.10_K01 Student okazuje kompetencje w rozwiązaniu zadań przetwarzania dużych zbiorów danych za pomocą wspólczesnych metod, algorytmów i programów i może zastosować wiedzę i umejętności w tej dziedzinie do rozwiązania poszczególnych problemów. | I_2A_K02 | — | — | C-1 | T-W-1, T-W-2, T-W-3, T-W-5, T-W-4, T-W-7, T-W-9, T-W-8, T-W-14, T-W-6, T-W-10, T-W-11, T-W-12, T-W-13, T-W-15 | M-2 | S-1, S-2 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_2A_D02.10_W01 Student posiada wiedzę o metodach i narzędziach do analizy danych w chmurze obliczeniowej na dużych zbiorach danych | 2,0 | Student nie zna podstawowych zaproponowanych w trakcie zajęć metod i narzędzi. |
3,0 | Student zna wybrane podstawowe zaproponowane w trakcie zajęć metody i narzędzia, ich główne możliwości i ograniczenia. | |
3,5 | Student zna wybrane podstawowe zaproponowane w trakcie zajęć metody i narzędzia, większość ich możliwości i ograniczeń. | |
4,0 | Student zna większość zaproponowanych w trakcie zajęć metod i narzędzi, większość ich możliwości i ograniczeń. | |
4,5 | Student zna wszystkie zaproponowane w trakcie zajęć metody i narzędzia, większość ich możliwości i ograniczeń. | |
5,0 | Student zna wszystkie zaproponowane w trakcie zajęć metody i narzędzia, wszystkie ich możliwości i ograniczenia. | |
I_2A_D02.10_W02 Student posiada wiedzę o metodach, algorytmach i oprogramowaniu do rozwiązania poszczególnych problemów przetwarzania dużych zbiorów danych, rozpatrywanych na wykładach i zbadanych na zajęciach laboratoryjnych. | 2,0 | Student nie zna podstawowych zasad teoretycznych przetwarzania dużych zbiorów danych i nie jest w stanie skorzystać z gotowego oprogramowania do przetwarzania dużych zbiorów danych |
3,0 | Student zna podstawy zasad teoretycznych przetwarzania dużych zbiorów danych, może wybrać pewne oprogramowania do przetwarzania dużych zbiorów danych, ale ma słabą wiedzą w wykorzystaniu różnych alternatywnych wersji metod i algorytmów. | |
3,5 | Student okazuje wiedzę z podstaw teoretycznych metod przetwarzania dużych zbiorów danych, a także może wybrać metodę do praktycznego rozwiązania konkretnego problemu, jednak nie okazuje dobrej wiedzy w alternatywnych sposobach rozwiązania poszczególnych problemów analizy dużych zbiorów danych i nie jest w stanie udowodnić przewagi jednej metody nad inną. | |
4,0 | Student okazuje dobrą wiedzę teoretycznych podstaw metod przetwarzania dużych zbiorów danych, i ma wystarczające doświadczenie do krytycznej analiozy przewag i wad wybranych metod. | |
4,5 | Student okazuje dobrą wiedzę teoretycznych podstaw metod i algorytmów przetwarzania dużych zbiorów danych, może analizować charakterystyki danych docierających do systemu informatycznego w celu racjonalnego wyboru efektywnych metod rozwiazania poszczególnych problemów, ale nie okazuje wystarczającej wiedzę i zdolności do modyfikacji metod i algorytmów zwiększającej ich skuteczność w rozwiązaniu konkretnych zadań. | |
5,0 | Student okazuje bardzo dobrą wiedzę teoretycznych podstaw metod i algorytmów przetwarzania dużych zbiorów danych, może analizować charakterystyki danych docierających do systemu informatycznego w celu racjonalnego wyboru efektywnych metod rozwiazania poszczególnych problemów, okazuje wystarczającą wiedzę i zdolności do modyfikacji metod, algorytmów i kodów programowych zwiększającej ich skuteczność w rozwiązaniu konkretnych zadań. |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_2A_D02.10_U01 Student umie wykorzystywać metody i narzędzia do analizy danych w chmurze na dużych zbiorach danych. | 2,0 | Student nie potrafi wykorzystać podstawowych metod i narzędzi omawianych w trakcie zajęć. |
3,0 | Student potrafi wykorzystywać wybrane podstawowe zaproponowane w trakcie zajęć metody i narzędzia, potrafi wykorzystać w działaniu ich podstawowe możliwości i ograniczenia. | |
3,5 | Student potrafi wykorzystywać wybrane podstawowe zaproponowane w trakcie zajęć metody i narzędzia, potrafi wykorzystać w działaniu większość ich możliwości i ograniczeń. | |
4,0 | Student potrafi wykorzystywać większość zaproponowane w trakcie zajęć metod i narzędzi, potrafi wykorzystać w działaniu większość ich możliwości i ograniczeń, a także samodzielnie identyfikować metody i narzędzia potrzebne do rozwiązania zadanego problemu. | |
4,5 | Student potrafi wykorzystywać wszystkie zaproponowane w trakcie zajęć metody i narzędzia, potrafi wykorzystać w działaniu większość ich możliwości i ograniczeń, a także samodzielnie identyfikować metody i narzędzia potrzebne do rozwiązania zadanego problemu. | |
5,0 | Student potrafi wykorzystywać wszystkie zaproponowane w trakcie zajęć metody i narzędzia, potrafi wykorzystać w działaniu wszystkie ich możliwości i ograniczenia, a także samodzielnie identyfikować metody i narzędzia potrzebne do rozwiązania zadanego problemu z jednoczesnym uzasadnieniem wyboru. | |
I_2A_D02.10_U02 Student umie analizować i klasyfikować cechy danych nadchodzących do systemu komputerowego, wybierać odpowiednie oprogramowanie i techniki przetwarzania tych danych i zastosowywać rezultaty badań do rozwiązania poszczególnych problemów. | 2,0 | Student nie okazuje umiejętności do zastosowania gotowych metod, algorytmów i kodów programowych do rozwiązania poszczególnych problemów przetwarzania dużych zbiorów danych. |
3,0 | Student okazuje umiejętności do wykorzystania oprogramowania przeznaczonego do przetwarzania dużych zbiorów danych, ale ma słabą orientację w wykorzystaniu różnych alternatywnych wersji metod i algorytmów i nie jest gotowy do ich krytycznej oceny. | |
3,5 | Student okazuje umiejętności wykorzystania metod i algorytmów przetwarzania dużych zbiorów danych, a także może wybrać metodę do praktycznego rozwiązania konkretnego problemu, jednak nie okazuje dobrej umiejętności do wyboru i uzasadnienia alternatywnych sposobów rozwiązania poszczególnych problemów analizy dużych zbiorów danych i nie jest w stanie udowodnić przewagi jednej metody nad inną. | |
4,0 | Student okazuje dobrą umiejętność w zastosowaniu metod, algorytmów i programów do rozwiązania zadań przetwarzania dużych zbiorów danych, i ma wystarczające doświadczenie do poprawnego wyboru metod i algorytmów dla rozwiązania konkretnych zagadnień. Ale nie okazuję umiejętności do uzasadnienia przewag jednych metod i algorytmów nad innymi (alternatywenymi) i modyfikacji istniejących podejść. | |
4,5 | Student okazuje dobrą umiejętność w zastosowaniu metod, algorytmów i programów do rozwiązania zadań przetwarzania dużych zbiorów danych, ma wystarczające doświadczenie do poprawnego wyboru metod i algorytmów dla rozwiązania konkretnych zagadnień, okazuję umiejętności do uzasadnienia przewag jednych metod i algorytmów nad innymi (alternatywenymi), ale nie może zmodyfikować istniejące metody i algorytmy w celu zwiększenia ich skuteczności. | |
5,0 | Student okazuje kreatywność i bardzo dobrą umiejętność w zastosowaniu metod, algorytmów i programów do rozwiązania zadań przetwarzania dużych zbiorów danych, ma bardzo dobre doświadczenie do poprawnego wyboru metod i algorytmów dla rozwiązania konkretnych zagadnień, okazuję umiejętności do uzasadnienia przewag jednych metod i algorytmów nad innymi (alternatywenymi), i okazuje kreatywność do modyfikacji istniejących metod i algorytmów w celu zwiększenia ich skuteczności. |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_2A_D02.10_K01 Student okazuje kompetencje w rozwiązaniu zadań przetwarzania dużych zbiorów danych za pomocą wspólczesnych metod, algorytmów i programów i może zastosować wiedzę i umejętności w tej dziedzinie do rozwiązania poszczególnych problemów. | 2,0 | Student nie okazuje kompetencji do zastosowania metod, algorytmów i kodów programowych do rozwiązania poszczególnych problemów przetwarzania dużych zbiorów danych. |
3,0 | Student okazuje dostateczną kompetencję do zastosowania metod, algorytmów i kodów programowych do rozwiązania standardnowych problemów przetwarzania dużych zbiorów danych. | |
3,5 | Student okazujedostateczną kompetencję do wykorzystania metod i algorytmów przetwarzania dużych zbiorów danych, a także do wyboru metod dla rozwiązania standardowego problemu, jednak nie okazuje dobrej kompetencji do wyboru i uzasadnienia alternatywnych sposobów rozwiązania poszczególnych problemów. | |
4,0 | Student okazuje dobrą kompetencję zastosowania metod, algorytmów i programów do rozwiązania zadań przetwarzania dużych zbiorów danych oraz poprawnego wyboru metod i algorytmów dla rozwiązania konkretnych zagadnień. Ale okazuję słąbą kompetencję w ocenie przewag jednych metod i algorytmów nad innymi (alternatywenymi). | |
4,5 | Student okazuje dobrą kompetencję w zastosowaniu metod, algorytmów i programów do rozwiązania zadań przetwarzania dużych zbiorów danych oraz kompetencję do poprawnego wyboru metod i algorytmów dla rozwiązania konkretnych zagadnień, ale okazuję nie wystarczającą kompetencję w ocenie nowych metod i podejść w danej dziedzinie. | |
5,0 | Student okazuje bardzo dobrą kompetencję w zastosowaniu metod, algorytmów i programów do rozwiązania zadań przetwarzania dużych zbiorów danych oraz w poprawnym wyborze metod i algorytmów dla rozwiązania konkretnych zagadnień, uzasadnienia przewag jednych metod i algorytmów nad innymi (alternatywenymi), i w modyfikacji istniejących metod i algorytmów w celu zwiększenia ich skuteczności. |
Literatura podstawowa
- Marcin Szeliga, Data Science i uczenie maszynowe, PWN, Warszawa, 2019
- Joel Grus, Data science od podstaw Analiza danych w Pythonie, Helion, 2018
Literatura dodatkowa
- Dokumentacja Microsoft Azure, 2019, https://docs.microsoft.com/pl-pl/azure/
- Dokumentacja Amazon Web Services (AWS), 2019, https://docs.aws.amazon.com/
- Dokumentacja Google Cloud, 2019, https://cloud.google.com/
- Jure Leskovec, Anand Rajaraman, Jeffrey D. Ullman, Mining of Massive Datasets, Cambridge University Press, Cambridge, USA, 2014
- Nathan Marz, James Warren, Big Data. Principles and best practice of stable real-time data systems, Manning Publications Co., Shelter Island, NY 11964, 2015