Programowanie współbieżne
Field of study: Computer Science
Programme code: 08-S1INI12.2014

Module name: | Programowanie współbieżne |
---|---|
Module code: | 08-IO1S-13-7ST07 |
Programme code: | 08-S1INI12.2014 |
Semester: | winter semester 2017/2018 |
Language of instruction: | Polish |
Form of verification: | exam |
ECTS credits: | 4 |
Description: | 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. |
Prerequisites: | 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. |
Key reading: | (no information given) |
Learning outcome of the module | Codes of the learning outcomes of the programme to which the learning outcome of the module is related [level of competence: scale 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] |
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] |
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] |
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] |
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] |
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] |
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] |
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] |
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] |
Type | Description | Codes of the learning outcomes of the module to which assessment is related |
---|---|---|
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 |
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 |
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 |
Form of teaching | Student's own work | Assessment of the learning outcomes | |||
---|---|---|---|---|---|
Type | Description (including teaching methods) | Number of hours | Description | Number of hours | |
lecture [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] |
laboratory classes [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] |
Attachments |
---|
Module description (PDF) |
Syllabuses (USOSweb) | ||
---|---|---|
Semester | Module | Language of instruction |
(no information given) |