Programowanie współbieżne Kierunek studiów: Informatyka
Kod programu: 08-S1INI12.2014

Nazwa modułu: Programowanie współbieżne
Kod modułu: 08-IO1S-13-7ST07
Kod programu: 08-S1INI12.2014
Semestr: semestr zimowy 2017/2018
Język wykładowy: polski
Forma zaliczenia: egzamin
Punkty ECTS: 4
Opis:
Celem zajęć jest przygotowanie studentów do projektowania i implementacji poprawnych algorytmów współbieżnych. W trakcie zajęć studenci uzyskują wiedzę na temat problemów związanych z projektowaniem programów współbieżnych i zaawansowanych mechanizmów ich rozwiązywania. Dodatkowo studenci zdobędą niezbędną wiedzę dotyczącą podstaw projektowania efektywnych algorytmów równoległych.
Wymagania wstępne:
Dobra znajomość podstaw programowania w językach Java, C i C++ (poziom podstawowy). Znajomość obsługi zintegrowanych środowisk programistycznych i podstawowych narzędzi programistycznych wspomagających tworzenie i testowanie oprogramowania.
Literatura podstawowa:
(brak informacji)
Efekt modułowy Kody efektów kierunkowych do których odnosi się efekt modułowy [stopień realizacji: skala 1-5]
Potrafi pracować w zespole dwuosobowym i dokonuje właściwego podziału pracy [08-IO1S-13-7ST07-K_9]
K_1_A_I_K01 [1/5] K_1_A_I_K03 [1/5] K_1_A_I_K06 [1/5]
Potrafi wskazać i rozwiązać z zastosowaniem różnych mechanizmów synchronizacji typowe problemy w algorytmach współbieżnych, takie jak problem ucztujących filozofów, producenta i konsumenta, czytelników i pisarzy. [08-IO1S-13-7ST07-U_4]
K_1_A_I_U15 [1/5] K_1_A_I_U16 [1/5] K_1_A_I_W06 [2/5]
Potrafi zastosować mechanizmy takie jak zmienne i instrukcje atomowe, semafory, monitory i współbieżne struktury danych w implementacji programów współbieżnych. [08-IO1S-13-7ST07-U_5]
K_1_A_I_U15 [2/5] K_1_A_I_W06 [2/5] K_1_A_I_U17 [1/5]
Potrafi ocenić efektywność algorytmów równoległych za pomocą podstawowych miar, takich jak przyspieszenie, koszt i efektywność. Potrafi ocenić możliwe do uzyskania przyspieszenie na podstawie prawa Amdahla oraz Gustavsona. [08-IO1S-13-7ST07-U_6]
K_1_A_I_W09 [2/5] K_1_A_I_W10 [1/5]
Potrafi zaimplementować program równoległy dla modelu z pamięcią wspólną. [08-IO1S-13-7ST07-U_7]
K_1_A_I_U14 [1/5] K_1_A_I_U15 [1/5] K_1_A_I_W06 [2/5]
Potrafi skonstruować program rozproszony z zastosowaniem mechanizmu zdalnego wykonywania procedur i zna mechanizmy uzgadniania w algorytmach rozproszonych [08-IO1S-13-7ST07-U_8]
K_1_A_I_W13 [1/5] K_1_A_I_U13 [1/5]
Ma szczegółową wiedzę na temat sposobów wykonywania programów i procesów współbieżnych i zna pojęcia takie jak proces, wątek, wykonanie w przeplocie, wykonanie równoległe. [08-IO1S-13-7ST07-W_1]
K_1_A_I_W04 [1/5] K_1_A_I_W07 [1/5] K_1_A_I_W12 [2/5] K_1_A_I_W06 [2/5]
Ma wiedzę na temat własności bezpieczeństwa i żywotności programów współbieżnych i potrafi zweryfikować, czy zadany algorytm współbieżny jest poprawny. [08-IO1S-13-7ST07-W_2]
K_1_A_I_W06 [3/5] K_1_A_I_W10 [2/5]
Ma wiedzę na temat problemu wzajemnego wykluczania i metod jego rozwiązania, i potrafi podać algorytmy jego rozwiązania (algorytmy Petersona, Dekkera i piekarniany). [08-IO1S-13-7ST07-W_3]
K_1_A_I_U15 [1/5] K_1_A_I_W06 [3/5]
Typ Opis Kody efektów modułowych do których odnosi się sposób weryfikacji
Prace kontrolne [08-IO1S-13-7ST07_w_1]
Co najmniej jedno kolokwium sprawdzające wiedzę z tematyki poruszanej na wykładzie oraz realizowanej w ramach laboratoriów.
08-IO1S-13-7ST07-U_4 08-IO1S-13-7ST07-U_5 08-IO1S-13-7ST07-U_6 08-IO1S-13-7ST07-U_7 08-IO1S-13-7ST07-U_8 08-IO1S-13-7ST07-W_1 08-IO1S-13-7ST07-W_2 08-IO1S-13-7ST07-W_3
Projekt programistyczny [08-IO1S-13-7ST07_w_2]
Ocena zrealizowanego projektu aplikacji współbieżnej, w której zastosowano podstawowe mechanizmy kontroli jednoczesnego wykonania obliczeń przez odrębne wątki. Ocena uwzględnia poprawność, złożoność i efektywność wykonanego oprogramowania
08-IO1S-13-7ST07-K_9 08-IO1S-13-7ST07-U_5 08-IO1S-13-7ST07-U_6 08-IO1S-13-7ST07-U_7
Egzamin [08-IO1S-13-7ST07_w_3]
Test złożony z pytań wielokrotnego wyboru oraz zadań otwartych dotyczących tematów poruszanych na wykładach oraz laboratoriach.
08-IO1S-13-7ST07-U_4 08-IO1S-13-7ST07-U_5 08-IO1S-13-7ST07-U_6 08-IO1S-13-7ST07-U_7 08-IO1S-13-7ST07-U_8 08-IO1S-13-7ST07-W_1 08-IO1S-13-7ST07-W_2 08-IO1S-13-7ST07-W_3
Rodzaj prowadzonych zajęć Praca własna studenta Sposoby weryfikacji
Typ Opis (z uwzględnieniem metod dydaktycznych) Liczba godzin Opis Liczba godzin
wykład [08-IO1S-13-7ST07fs1]
Podanie treści kształcenia w formie werbalnej z wykorzystaniem wizualizacji treści. Omówienie ważnych kwestii teoretycznych i praktycznych dotyczących programowania współbieżnego.
30
Zapoznanie się z tematyką prezentowaną podczas wykładów oraz przygotowanie się do laboratoriów związanych z wykładami
15 Prace kontrolne [08-IO1S-13-7ST07_w_1] Egzamin [08-IO1S-13-7ST07_w_3]
laboratorium [08-IO1S-13-7ST07fs2]
Przygotowanie studentów do tworzenia aplikacji współbieżnych we współczesnych językach programowania. Prezentacja i omówienie narzędzi wspierających realizację oprogramowania współbieżnego.
30
Rozwiązywanie zadań z poszczególnych tematów wraz z analizą rozwiązań już istniejących.Zrealizowanie projektu programistycznego z zastosowaniem prezentowanych na wykładach metod
45 Prace kontrolne [08-IO1S-13-7ST07_w_1] Projekt programistyczny [08-IO1S-13-7ST07_w_2]
Załączniki
Opis modułu (PDF)
Informacje o sylabusach mogą ulec zmianie w trakcie trwania studiów.
Sylabusy (USOSweb)
Semestr Moduł Język wykładowy
(brak danych)