Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria chmurowa
Sylabus przedmiotu Przetwarzanie rozproszone:
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 | Przetwarzanie rozproszone | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania i Cyberbezpieczeństwa | ||
Nauczyciel odpowiedzialny | Krzysztof Siedlecki <Krzysztof.Siedlecki@zut.edu.pl> | ||
Inni nauczyciele | Krzysztof Siedlecki <Krzysztof.Siedlecki@zut.edu.pl> | ||
ECTS (planowane) | 4,0 | ECTS (formy) | 4,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | 6 | Grupa obieralna | 9 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Podstawowa wiedza programistyczna z przedmiotów: Programowanie 1 i 2 |
W-2 | Podstawowa wiedza z systemów operacyjnych i sieci komputerowych |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Ukształtowanie wiedzy i umiejętności do opracowywania aplikacji rozproszonych oraz obsługi i rozwijania systemów rozproszonych. |
C-2 | Ukształtowanie świadomego rozumowania samodokształcania się z zakresu tworzenia oprogramowania rozprosonego, jego obsługi i testowania. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Przedstawienie oraz uruchomienie ze wstępną konfiguracją środowiska MPI | 2 |
T-L-2 | Wykorzystanie podstawowych funkcji środowiskowych do obsługi MPI | 2 |
T-L-3 | MPI : Komunikacja między różnymi procesami - Blokująca (synchroniczna) - Nieblokująca (asynchroniczna) | 4 |
T-L-4 | MPI : Komunikacja grupowa | 2 |
T-L-5 | Laboratoria w zakresie WebServices: - Przedstawienie różnić między WebService REST vs SOAP - Stworzenie WebService typu REST (C#, .Net) oraz klient - Stworzenie WebService typu SOAP (C#, .Net) oraz klienta | 6 |
T-L-6 | Laboratoria w zakresie GoogleDocs - Wprowadzenie do JavaScript w GoogleDocs - Podstawowe komponenty (arkusz, edytor, poczta, mapa) - Programowanie rozproszonego arkusza w chmurze - Programowanie rozproszonego arkusza w chmurze czesc 2 - Programowanie rozproszonego edytora w chmurze - Integracja bibliotek z pocztą Gmail i mapą - Integracja z zewnętrzną bazą | 14 |
30 | ||
wykłady | ||
T-W-1 | Podstawowe definicje prrzetwarzania rozproszonego. Operacyjne systemy rozproszone. Trudności w budowaniu aplikacji rozproszontych, ich cele oraz korzyści. Rozproszone bazy danych, replikacja i lokalność. Odprorność na awarie. Przykłady cech przetwarzania rozproszonego na podstawie internetowych systemów (DNS, poczta, itd.) Rodzaje modeli przetwarzania rozproszonego (komunikaty, zdalne usługi, funkcje, RPC i obiekty, agenci mobilni, arcitektury wielowarstwowe). | 2 |
T-W-2 | Komunikaty PVM. Cechy równoległej maszyny wirtualnej. Składniki PVM. Cechy środowiska. Model programowania przyjęty PVM. Zastosowanie PVM. Tolerowanie defektów. | 2 |
T-W-3 | Komunikaty MPI - wprowadzenie, model przekazywania komunikatów, implementacje, kompilatory. Zalety MPI - przenośność, standaryzacja, wydajność obliczeń, funkcjonalność. Historia MPI, wersje oraz dystrybucje. | 2 |
T-W-4 | Komunikaty MPI – komunikacja Point to Point – ogólne zasady. Typy danych i ick konwersja. Metody komunikacji. Blokujące funkcje wysłania i odebrania. Komunikacja bez blokowania. | 2 |
T-W-5 | Komunikaty MPI - komunikacja zbiorcza. Wprowadzenie, argumenty, pojęcie bariery. Broadcast. Operacje równoległej redukcji, skanowanie i operacje nieblokujące. | 2 |
T-W-6 | Komunikacja grupowa MPI - grupy kontekst, komunikatory, cacching. Zarządzanie grupami i komunikatorami. Komunikacja wewnętrzna. | 2 |
T-W-7 | Komunikaty PVM - topologie procesów, zarządzanie procesami, komunikacja jednostronna, interfejsy zewnętrzne, operacje wejścia-wyjścia. | 2 |
T-W-8 | RPC, zdalne wywołanie procesur. Funkcje JAVA RMI. | 2 |
T-W-9 | Programowanie rozproszonych obiektów. Hisroria, komunikacja, implementacja. DCOM, Corba. Programowanie .NET Remoiting, komunikacja binarna, HTTP, singletony, przykłady. | 2 |
T-W-10 | Web Services – SOAP, XML, REST, teoria, przykłady (poczta polska monitoring przesyłek, dane z GUS, allegro). Czytanie specyfikacji, koperta, funkcje i argumenty, | 2 |
T-W-11 | Web Services – kurs praktyczny w środowiskach .NET, PHP i Python. | 2 |
T-W-12 | Cloud computing - wprowadzenie, środowiska, zalety i trudności w projektowaniu systemów. Przetwarzanie w chmurze na przykładzie GoogleDocs - pakietu biurowego i środowiska aplikacji i programowania. | 2 |
T-W-13 | GoogleDocs - javascript. Środowisko programowanie, debuger, pisanie skryptów. Interaktywne elementy. Zdarzenie, przechwytywanie i obsługa. Korzystanie z JDBC. | 2 |
T-W-14 | GoogleDocs - programowanie aplikacji office - arkusz kalkulacyjny, edytor, współpraca z pocztą. Mapy Google. | 2 |
T-W-15 | Grid computing, klastry. Lista najmocniejszych komputerów, celowość budowy, koszty rozwiązania. Systemy rozproszone w Polsce, Internetowe systemy rozproszone. Przyszłość przetwarzania rozproszonego. | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Udział w zajęciach | 30 |
A-L-2 | Praca własna | 20 |
50 | ||
wykłady | ||
A-W-1 | Udział w wykładach. | 30 |
A-W-2 | Praca własna | 18 |
A-W-3 | Konsultacje. | 2 |
50 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład |
M-2 | Ćwiczenia laboratoryjne |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocena stopnia ukończenia zadania i napisania programu na zajęciach laboratoryjnych. |
S-2 | Ocena formująca: Zaliczenie końcowo polegające na formie pytań i odpowiedzi. |
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 |
---|---|---|---|---|---|---|---|
Itest_1A_C25.2_W01 Zna podstawowe umiejętności gromadzenia danych i przetawarzania informacji w zakresie systemów rozproszonych oraz zna techniki projektowania i programowania aplikacji do przetwarzania rozproszonego. | I_1A_W03 | — | — | C-1 | T-W-4, T-W-1, T-W-8, T-W-14, T-W-15, T-W-13, T-L-3, T-L-5, T-L-2, T-L-4, T-L-1, T-L-6 | M-1 | S-2 |
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 |
---|---|---|---|---|---|---|---|
Itest_1A_C25.2_U01 Potrafi projektować i pisać aplikacje do przetwarzania rozproszonego | I_1A_U04, I_1A_U07 | — | — | C-2, C-1 | T-L-1, T-L-4, T-L-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13 | M-1, M-2 | S-1, 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 |
---|---|---|---|---|---|---|---|
Itest_1A_C25.2_K01 Rozumie potrzebę dokształcania się programowania aplikacji rozproszonych w czasach obecnej cyfryzacji i trendów informatyzowania obiegu dokumentów. | I_1A_K01 | — | — | C-2, C-1 | T-W-1, T-W-14, T-W-15, T-W-13 | M-1, M-2 | S-2 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
Itest_1A_C25.2_W01 Zna podstawowe umiejętności gromadzenia danych i przetawarzania informacji w zakresie systemów rozproszonych oraz zna techniki projektowania i programowania aplikacji do przetwarzania rozproszonego. | 2,0 | Nie rozumie istosty przetwarzania rozproszonego. Nie programuje aplikacji rozproszonych, ma trudności z wiedzą z podstaw programowania i programowania obiektowego. |
3,0 | Zna przykłady aplikacji rozproszonych. Rozmie ich wagę w dobie cyfryzacji. Rozumie kod aplikacji rozproszonych, ale brakuje mu umiejętności tworzenia własnych projektów. | |
3,5 | Umie podać przykłady i techniki aplikacji rozproszonych oraz kategoryzować ich sposób wytworzenia. Rozumie kod aplikacji rozproszonych, podejmuje próby pisania własnych aplikacji. | |
4,0 | Opanował dobrze jedną z technik tworzenia aplikacji rozproszonych. Zna podstawy innych metod. Rozumie kod aplikacji rozproszonych, umie pisać własne aplikacje i dobierać odpowiednie techniki. | |
4,5 | Opanował większośćmetod tworzenia technik aplikacji rozproszonych. Rozumie dobrze istotę skomplikowania procesy ich wytwarzania. Swobodnie programuje i operuje technikami tworzenia aplikacji rozproszonych. | |
5,0 | Swobodnie tworzy aplikacje dla systemów rozproszonych za pomocą różnych technik. Umijętnie testuje je i waliduje oraz zna cele ich przydatności. Rozwija umiejętności, wykracza poza ramy treści programowych. Porogramowanie aplikacji rozproszonych jest opanowane. |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
Itest_1A_C25.2_U01 Potrafi projektować i pisać aplikacje do przetwarzania rozproszonego | 2,0 | Nie umie skonfigurować środowiska, zainstalować komponentów. Napisać podstawowego kodu. |
3,0 | Umie zainstalować środowisko i napisać pod nie podstawową aplikację. | |
3,5 | Umie zainstalować środowisko i napisać pod nie podstawową aplikację oraz umiejętnie korzysta z dokumentacji. | |
4,0 | Umie zainstalować środowisko i napisać pod nie zaawansowaną aplikację oraz umiejętnie korzysta z dokumentacji. | |
4,5 | Umie zainstalować środowisko i napisać pod nie zaawansowaną aplikację oraz umiejętnie korzysta z dokumentacji. Dobrze testuje kod. | |
5,0 | Umie zainstalować środowisko i napisać pod nie zaawansowaną aplikację oraz umiejętnie korzysta z dokumentacji. Dobrze testuje kod. Stostuje zaawansowane techniki, które dostarcza środowisko. |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
Itest_1A_C25.2_K01 Rozumie potrzebę dokształcania się programowania aplikacji rozproszonych w czasach obecnej cyfryzacji i trendów informatyzowania obiegu dokumentów. | 2,0 | Nie rozumie celów tworzenia aplikacji rozproszonych. Nie potrafi wskazać ich obechności w życiu codziennych. |
3,0 | Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym. | |
3,5 | Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym. Potrafi je kategoryzować. | |
4,0 | Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym. Potrafi je kategoryzować, zwaraca uwagę na takie cechy jak bezawaryjność czy bezpieczeństwo. | |
4,5 | Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym. Potrafi je kategoryzować, zwaraca uwagę na takie cechy jak bezawaryjność czy bezpieczeństwo. Potrafi wskazać obszary, w któych brakuje takich systemów. | |
5,0 | Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym. Potrafi je kategoryzować, zwaraca uwagę na takie cechy jak bezawaryjność czy bezpieczeństwo. Potrafi wskazać obszary, w któych brakuje takich systemów lub jak je można jeszcze rozwinąć. |
Literatura podstawowa
- M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT, 1996
- Tanenbaum Andrew, Systemy rozproszone. Zasady i paradygmaty, WNT, 2006
Literatura dodatkowa
- Dokumentacja MPI, http://mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf, 2011