Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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

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ść Inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Marek Pałkowski <Marek.Palkowski@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 4 Grupa obieralna 1

Formy dydaktyczne

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

Wymagania wstępne

KODWymaganie wstępne
W-1Programowanie 1
W-2Sieci komputerowe
W-3Systemy operacyjne

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Ukształtowanie wiedzy i umiejętności do opracowywania aplikacji rozproszonych oraz obsługi i rozwijania systemów rozproszonych.
C-2Ukształ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ęć

KODTreść programowaGodziny
laboratoria
T-L-1Przedstawienie oraz uruchomienie ze wstępną konfiguracją środowiska MPI2
T-L-2Wykorzystanie podstawowych funkcji środowiskowych do obsługi MPI2
T-L-3MPI : Komunikacja między różnymi procesami - Blokująca (synchroniczna) - Nieblokująca (asynchroniczna)4
T-L-4MPI : Komunikacja grupowa2
T-L-5Laboratoria 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 klienta6
T-L-6Laboratoria 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-1Podstawowe 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-2Komunikaty 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-3Komunikaty MPI - wprowadzenie, model przekazywania komunikatów, implementacje, kompilatory. Zalety MPI - przenośność, standaryzacja, wydajność obliczeń, funkcjonalność. Historia MPI, wersje oraz dystrybucje.2
T-W-4Komunikaty 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-5Komunikaty MPI - komunikacja zbiorcza. Wprowadzenie, argumenty, pojęcie bariery. Broadcast. Operacje równoległej redukcji, skanowanie i operacje nieblokujące.2
T-W-6Komunikacja grupowa MPI - grupy kontekst, komunikatory, cacching. Zarządzanie grupami i komunikatorami. Komunikacja wewnętrzna.2
T-W-7Komunikaty PVM - topologie procesów, zarządzanie procesami, komunikacja jednostronna, interfejsy zewnętrzne, operacje wejścia-wyjścia.2
T-W-8RPC, zdalne wywołanie procesur. Funkcje JAVA RMI.2
T-W-9Programowanie rozproszonych obiektów. Hisroria, komunikacja, implementacja. DCOM, Corba. Programowanie .NET Remoiting, komunikacja binarna, HTTP, singletony, przykłady.2
T-W-10Web 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-11Web Services – kurs praktyczny w środowiskach .NET, PHP i Python.2
T-W-12Cloud computing - wprowadzenie, środowiska, zalety i trudności w projektowaniu systemów. Przetwarzanie w chmiurze na przykładzie GoogleDocs - pakietu biurowego i środowiska aplikacji i programowania.2
T-W-13GoogleDocs - javascript. Środowisko programowanie, debuger, pisanie skryptów. Interaktywne elementy. Zdarzenie, przechwytywanie i obsługa. Korzystanie z JDBC.2
T-W-14GoogleDocs - programowanie aplikacji office - arkusz kalkulacyjny, edytor, współpraca z pocztą. Mapy Google.2
T-W-15Grid 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

KODForma aktywnościGodziny
laboratoria
A-L-1Udział w zajęciach30
A-L-2Przygotowanie się do zajęć (praca własna)10
A-L-3Pisanie programów / skryptów8
A-L-4Konsultacje2
50
wykłady
A-W-1Udział w wykładach.30
A-W-2Przygotowanie się do zaliczenia.18
A-W-3Konsultacje.2
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład
M-2Ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena stopnia ukończenia zadania i napisania programu na zajęciach laboratoryjnych.
S-2Ocena 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ó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
I_1A_D02.06.2_W01
Zna podstawowe umiejętności gromadzenia danych i przetawarzania informacji w zakresie systemów rozproszonych
I_1A_W03C-1T-W-4, T-W-1, T-W-8, T-W-14, T-W-15, T-W-13M-1S-2
I_1A_D02.06.2_W02
Zna techniki projektowania i programowania aplikacji do przetwarzania rozproszonego
I_1A_W02C-2T-L-1, T-L-2, T-L-5, T-L-3, T-L-4, T-L-6M-2S-1

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
I_1A_D02.06.2_U01
Potrafi projektować i pisać aplikacje do przetwarzania rozproszonego
I_1A_U01, I_1A_U03, I_1A_U02C-2, C-1T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-L-1, T-L-4, T-L-6M-1, M-2S-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ó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
I_1A_D02.06.2_K01
Rozumie potrzebę dokształcania się programowania aplikacji rozproszonych w czasach obecnej cyfryzacji i trendów informatyzowania obiegu dokumentów.
I_1A_K02, I_1A_K04C-2, C-1T-W-1, T-W-14, T-W-15, T-W-13M-1, M-2S-2

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_1A_D02.06.2_W01
Zna podstawowe umiejętności gromadzenia danych i przetawarzania informacji w zakresie systemów rozproszonych
2,0Nie rozumie istosty przetwarzania rozproszonego.
3,0Zna przykłady aplikacji rozproszonych. Rozmie ich wagę w dobie cyfryzacji.
3,5Umie podać przykłady i techniki aplikacji rozproszonych oraz kategoryzować ich sposób wytworzenia.
4,0Opanował dobrze jedną z technik tworzenia aplikacji rozproszonych. Zna podstawy innych metod.
4,5Opanował większośćmetod tworzenia technik aplikacji rozproszonych. Rozumie dobrze istotę skomplikowania procesy ich wytwarzania.
5,0Swobodnie tworzy aplikacje dla systemów rozproszonych za pomocą różnych technik. Umijętnie testuje je i waliduje oraz zna cele ich przydatności.
I_1A_D02.06.2_W02
Zna techniki projektowania i programowania aplikacji do przetwarzania rozproszonego
2,0Nie programuje aplikacji rozproszonych, ma trudności z wiedzą z podstaw programowania i programowania obiektowego.
3,0Rozumie kod aplikacji rozproszonych, ale brakuje mu umiejętności tworzenia własnych projektów.
3,5Rozumie kod aplikacji rozproszonych, podejmuje próby pisania własnych aplikacji.
4,0Rozumie kod aplikacji rozproszonych, umie pisać własne aplikacje i dobierać odpowiednie techniki.
4,5Swobodnie programuje i operuje technikami tworzenia aplikacji rozproszonych.
5,0Rozwija umiejętności, wykracza poza ramy treści programowych. Porogramowanie aplikacji rozproszonych jest opanowane.

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
I_1A_D02.06.2_U01
Potrafi projektować i pisać aplikacje do przetwarzania rozproszonego
2,0Nie umie skonfigurować środowiska, zainstalować komponentów. Napisać podstawowego kodu.
3,0Umie zainstalować środowisko i napisać pod nie podstawową aplikację.
3,5Umie zainstalować środowisko i napisać pod nie podstawową aplikację oraz umiejętnie korzysta z dokumentacji.
4,0Umie zainstalować środowisko i napisać pod nie zaawansowaną aplikację oraz umiejętnie korzysta z dokumentacji.
4,5Umie zainstalować środowisko i napisać pod nie zaawansowaną aplikację oraz umiejętnie korzysta z dokumentacji. Dobrze testuje kod.
5,0Umie 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ęOcenaKryterium oceny
I_1A_D02.06.2_K01
Rozumie potrzebę dokształcania się programowania aplikacji rozproszonych w czasach obecnej cyfryzacji i trendów informatyzowania obiegu dokumentów.
2,0Nie rozumie celów tworzenia aplikacji rozproszonych. Nie potrafi wskazać ich obechności w życiu codziennych.
3,0Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym.
3,5Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym. Potrafi je kategoryzować.
4,0Potrafi 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,5Potrafi 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,0Potrafi 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

  1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT, 1996
  2. Tanenbaum Andrew, Systemy rozproszone. Zasady i paradygmaty, WNT, 2006

Literatura dodatkowa

  1. Dokumentacja MPI, http://mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf, 2011

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Przedstawienie oraz uruchomienie ze wstępną konfiguracją środowiska MPI2
T-L-2Wykorzystanie podstawowych funkcji środowiskowych do obsługi MPI2
T-L-3MPI : Komunikacja między różnymi procesami - Blokująca (synchroniczna) - Nieblokująca (asynchroniczna)4
T-L-4MPI : Komunikacja grupowa2
T-L-5Laboratoria 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 klienta6
T-L-6Laboratoria 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

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Podstawowe 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-2Komunikaty 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-3Komunikaty MPI - wprowadzenie, model przekazywania komunikatów, implementacje, kompilatory. Zalety MPI - przenośność, standaryzacja, wydajność obliczeń, funkcjonalność. Historia MPI, wersje oraz dystrybucje.2
T-W-4Komunikaty 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-5Komunikaty MPI - komunikacja zbiorcza. Wprowadzenie, argumenty, pojęcie bariery. Broadcast. Operacje równoległej redukcji, skanowanie i operacje nieblokujące.2
T-W-6Komunikacja grupowa MPI - grupy kontekst, komunikatory, cacching. Zarządzanie grupami i komunikatorami. Komunikacja wewnętrzna.2
T-W-7Komunikaty PVM - topologie procesów, zarządzanie procesami, komunikacja jednostronna, interfejsy zewnętrzne, operacje wejścia-wyjścia.2
T-W-8RPC, zdalne wywołanie procesur. Funkcje JAVA RMI.2
T-W-9Programowanie rozproszonych obiektów. Hisroria, komunikacja, implementacja. DCOM, Corba. Programowanie .NET Remoiting, komunikacja binarna, HTTP, singletony, przykłady.2
T-W-10Web 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-11Web Services – kurs praktyczny w środowiskach .NET, PHP i Python.2
T-W-12Cloud computing - wprowadzenie, środowiska, zalety i trudności w projektowaniu systemów. Przetwarzanie w chmiurze na przykładzie GoogleDocs - pakietu biurowego i środowiska aplikacji i programowania.2
T-W-13GoogleDocs - javascript. Środowisko programowanie, debuger, pisanie skryptów. Interaktywne elementy. Zdarzenie, przechwytywanie i obsługa. Korzystanie z JDBC.2
T-W-14GoogleDocs - programowanie aplikacji office - arkusz kalkulacyjny, edytor, współpraca z pocztą. Mapy Google.2
T-W-15Grid computing, klastry. Lista najmocniejszych komputerów, celowość budowy, koszty rozwiązania. Systemy rozproszone w Polsce, Internetowe systemy rozproszone. Przyszłość przetwarzania rozproszonego.2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Udział w zajęciach30
A-L-2Przygotowanie się do zajęć (praca własna)10
A-L-3Pisanie programów / skryptów8
A-L-4Konsultacje2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach.30
A-W-2Przygotowanie się do zaliczenia.18
A-W-3Konsultacje.2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D02.06.2_W01Zna podstawowe umiejętności gromadzenia danych i przetawarzania informacji w zakresie systemów rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W03Posiada poszerzoną wiedzę w zakresie metod przechowywania, przetwarzania, przesyłania i analizy danych oraz modelowania systemów umożliwiającą rozwiązywanie rzeczywistych problemów obliczeniowych.
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności do opracowywania aplikacji rozproszonych oraz obsługi i rozwijania systemów rozproszonych.
Treści programoweT-W-4Komunikaty 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.
T-W-1Podstawowe 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).
T-W-8RPC, zdalne wywołanie procesur. Funkcje JAVA RMI.
T-W-14GoogleDocs - programowanie aplikacji office - arkusz kalkulacyjny, edytor, współpraca z pocztą. Mapy Google.
T-W-15Grid computing, klastry. Lista najmocniejszych komputerów, celowość budowy, koszty rozwiązania. Systemy rozproszone w Polsce, Internetowe systemy rozproszone. Przyszłość przetwarzania rozproszonego.
T-W-13GoogleDocs - javascript. Środowisko programowanie, debuger, pisanie skryptów. Interaktywne elementy. Zdarzenie, przechwytywanie i obsługa. Korzystanie z JDBC.
Metody nauczaniaM-1Wykład
Sposób ocenyS-2Ocena formująca: Zaliczenie końcowo polegające na formie pytań i odpowiedzi.
Kryteria ocenyOcenaKryterium oceny
2,0Nie rozumie istosty przetwarzania rozproszonego.
3,0Zna przykłady aplikacji rozproszonych. Rozmie ich wagę w dobie cyfryzacji.
3,5Umie podać przykłady i techniki aplikacji rozproszonych oraz kategoryzować ich sposób wytworzenia.
4,0Opanował dobrze jedną z technik tworzenia aplikacji rozproszonych. Zna podstawy innych metod.
4,5Opanował większośćmetod tworzenia technik aplikacji rozproszonych. Rozumie dobrze istotę skomplikowania procesy ich wytwarzania.
5,0Swobodnie tworzy aplikacje dla systemów rozproszonych za pomocą różnych technik. Umijętnie testuje je i waliduje oraz zna cele ich przydatności.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D02.06.2_W02Zna techniki projektowania i programowania aplikacji do przetwarzania rozproszonego
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W02Posiada wiedzę w zakresie projektowania, analizy i implementacji algorytmów, struktur danych oraz konstrukcji programistycznych, zna podstawowe problemy algorytmiczne występujące w obszarze informatyki.
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania samodokształcania się z zakresu tworzenia oprogramowania rozprosonego, jego obsługi i testowania.
Treści programoweT-L-1Przedstawienie oraz uruchomienie ze wstępną konfiguracją środowiska MPI
T-L-2Wykorzystanie podstawowych funkcji środowiskowych do obsługi MPI
T-L-5Laboratoria 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
T-L-3MPI : Komunikacja między różnymi procesami - Blokująca (synchroniczna) - Nieblokująca (asynchroniczna)
T-L-4MPI : Komunikacja grupowa
T-L-6Laboratoria 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ą
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia ukończenia zadania i napisania programu na zajęciach laboratoryjnych.
Kryteria ocenyOcenaKryterium oceny
2,0Nie programuje aplikacji rozproszonych, ma trudności z wiedzą z podstaw programowania i programowania obiektowego.
3,0Rozumie kod aplikacji rozproszonych, ale brakuje mu umiejętności tworzenia własnych projektów.
3,5Rozumie kod aplikacji rozproszonych, podejmuje próby pisania własnych aplikacji.
4,0Rozumie kod aplikacji rozproszonych, umie pisać własne aplikacje i dobierać odpowiednie techniki.
4,5Swobodnie programuje i operuje technikami tworzenia aplikacji rozproszonych.
5,0Rozwija umiejętności, wykracza poza ramy treści programowych. Porogramowanie aplikacji rozproszonych jest opanowane.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D02.06.2_U01Potrafi projektować i pisać aplikacje do przetwarzania rozproszonego
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U01Potrafi wykrywać związki i zależności w procesach zachodzących w systemach rzeczywistych i na tej podstawie tworzyć modele komputerowe i przeprowadzać ich symulacje.
I_1A_U03Potrafi pozyskiwać, przesyłać, przetwarzać dane, podsumowywać wyniki eksperymentów empirycznych, dokonywać interpretacji uzyskanych wyników i formułować wynikające z nich wnioski.
I_1A_U02Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania samodokształcania się z zakresu tworzenia oprogramowania rozprosonego, jego obsługi i testowania.
C-1Ukształtowanie wiedzy i umiejętności do opracowywania aplikacji rozproszonych oraz obsługi i rozwijania systemów rozproszonych.
Treści programoweT-W-7Komunikaty PVM - topologie procesów, zarządzanie procesami, komunikacja jednostronna, interfejsy zewnętrzne, operacje wejścia-wyjścia.
T-W-8RPC, zdalne wywołanie procesur. Funkcje JAVA RMI.
T-W-9Programowanie rozproszonych obiektów. Hisroria, komunikacja, implementacja. DCOM, Corba. Programowanie .NET Remoiting, komunikacja binarna, HTTP, singletony, przykłady.
T-W-10Web Services – SOAP, XML, REST, teoria, przykłady (poczta polska monitoring przesyłek, dane z GUS, allegro). Czytanie specyfikacji, koperta, funkcje i argumenty,
T-W-11Web Services – kurs praktyczny w środowiskach .NET, PHP i Python.
T-W-12Cloud computing - wprowadzenie, środowiska, zalety i trudności w projektowaniu systemów. Przetwarzanie w chmiurze na przykładzie GoogleDocs - pakietu biurowego i środowiska aplikacji i programowania.
T-W-13GoogleDocs - javascript. Środowisko programowanie, debuger, pisanie skryptów. Interaktywne elementy. Zdarzenie, przechwytywanie i obsługa. Korzystanie z JDBC.
T-L-1Przedstawienie oraz uruchomienie ze wstępną konfiguracją środowiska MPI
T-L-4MPI : Komunikacja grupowa
T-L-6Laboratoria 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ą
Metody nauczaniaM-1Wykład
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia ukończenia zadania i napisania programu na zajęciach laboratoryjnych.
S-2Ocena formująca: Zaliczenie końcowo polegające na formie pytań i odpowiedzi.
Kryteria ocenyOcenaKryterium oceny
2,0Nie umie skonfigurować środowiska, zainstalować komponentów. Napisać podstawowego kodu.
3,0Umie zainstalować środowisko i napisać pod nie podstawową aplikację.
3,5Umie zainstalować środowisko i napisać pod nie podstawową aplikację oraz umiejętnie korzysta z dokumentacji.
4,0Umie zainstalować środowisko i napisać pod nie zaawansowaną aplikację oraz umiejętnie korzysta z dokumentacji.
4,5Umie zainstalować środowisko i napisać pod nie zaawansowaną aplikację oraz umiejętnie korzysta z dokumentacji. Dobrze testuje kod.
5,0Umie zainstalować środowisko i napisać pod nie zaawansowaną aplikację oraz umiejętnie korzysta z dokumentacji. Dobrze testuje kod. Stostuje zaawansowane techniki, które dostarcza środowisko.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D02.06.2_K01Rozumie potrzebę dokształcania się programowania aplikacji rozproszonych w czasach obecnej cyfryzacji i trendów informatyzowania obiegu dokumentów.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K02Ma świadomość znaczenia wiedzy (w szczególności jej niewłaściwego użycia) w procesie rozwiązywania szeregu problemów inżynierskich i technicznych w dziedzinie informatyki.
I_1A_K04Ma kompetencje do podejmowania działań na rzecz upowszechniania wiedzy na temat właściwego wykorzystywania nowych technologii i szerzenia idei społeczeństwa informacyjnego.
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania samodokształcania się z zakresu tworzenia oprogramowania rozprosonego, jego obsługi i testowania.
C-1Ukształtowanie wiedzy i umiejętności do opracowywania aplikacji rozproszonych oraz obsługi i rozwijania systemów rozproszonych.
Treści programoweT-W-1Podstawowe 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).
T-W-14GoogleDocs - programowanie aplikacji office - arkusz kalkulacyjny, edytor, współpraca z pocztą. Mapy Google.
T-W-15Grid computing, klastry. Lista najmocniejszych komputerów, celowość budowy, koszty rozwiązania. Systemy rozproszone w Polsce, Internetowe systemy rozproszone. Przyszłość przetwarzania rozproszonego.
T-W-13GoogleDocs - javascript. Środowisko programowanie, debuger, pisanie skryptów. Interaktywne elementy. Zdarzenie, przechwytywanie i obsługa. Korzystanie z JDBC.
Metody nauczaniaM-1Wykład
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-2Ocena formująca: Zaliczenie końcowo polegające na formie pytań i odpowiedzi.
Kryteria ocenyOcenaKryterium oceny
2,0Nie rozumie celów tworzenia aplikacji rozproszonych. Nie potrafi wskazać ich obechności w życiu codziennych.
3,0Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym.
3,5Potrafi wskazać przykłady systemów rozprosoznych z jakimi spotyka się w życiu codziennym. Potrafi je kategoryzować.
4,0Potrafi 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,5Potrafi 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,0Potrafi 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ąć.