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

Module name: Programowanie współbieżne
Module code: 08-IN-IJO-S2-PW
Programme code: 08-S2INI14.2014
Semester: winter semester 2015/2016
Language of instruction: Polish
Form of verification: exam
ECTS credits: 4
Description:
Celem zajęć jest przygotowanie studentów do projektowania i implementacji poprawnych i efektywnych algorytmów współbieżnych ze szczególnym uwzględnieniem programowalnych układów graficznych oraz komputerów równoległych z pamięcią rozproszoną. W trakcie zajęć studenci uzyskają wiedzę na temat typowych problemów związanych z projektowaniem poprawnych i efektywnych programów równoległych, a także wybranych sposobów ich rozwiązywania. Dodatkowo studenci zdobędą niezbędną wiedzę dotyczącą podstaw projektowania efektywnych algorytmów równoległych.
Prerequisites:
Dobra znajomość programowania w języku C i elementarna znajomość C++. 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 [PW -K_8]
K_2_A_I_K01 [1/5] K_2_A_I_K03 [1/5] K_2_A_I_K06 [1/5]
Potrafi dokonać dekompozycji rozpatrywanego problemu obliczeniowego na składowe umożliwiające opracowanie algorytmu równoległego. [PW -U_4]
K_2_A_I_U13 [2/5]
Potrafi zastosować mechanizmy takie jak zmienne i instrukcje atomowe, semafory, monitory w implementacji programów współbieżnych. [PW -U_5]
K_2_A_I_U13 [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. [PW -U_6]
K_2_A_I_U13 [2/5]
Potrafi rozwiązać problem wzajemnego wykluczania w środowisku rozproszonym, a także zaimplementować algorytm uzgadniania rozproszonego. [PW -U_7]
K_2_A_I_U13 [2/5]
Ma wiedzę na temat architektury programowalnych układów graficznych (GPU) i narzędzi programistycznych umożliwiającą tworzenie dedykowanego oprogramowania. [PW -W_1]
K_2_A_I_W04 [2/5] K_2_A_I_W07 [2/5] K_2_A_I_W09 [1/5]
Ma wiedzę na temat wzorców komunikacji i typowych operacji zbiorczych w programach równoległych ze szczególnym uwzględnieniem GPU. Zna algorytmy równoległe takie jak redukcja, suma prefiksowa, histogram, wybrane algorytmy sortowania. [PW -W_2]
K_2_A_I_W06 [3/5]
Ma wiedzę na temat modelów komputerów z pamięcią rozproszoną. Zna zasady programowania komputerów z pamięcią rozproszoną. [PW -W_3]
K_2_A_I_W06 [3/5]
Type Description Codes of the learning outcomes of the module to which assessment is related
Prace kontrolne [PW _w_1]
Co najmniej jedno kolokwium sprawdzające wiedzę z tematyki poruszanej na wykładzie oraz realizowanej w ramach laboratoriów.
PW -U_4 PW -U_5 PW -U_6 PW -U_7 PW -W_1 PW -W_2 PW -W_3
Projekt programistyczny [PW _w_2]
Realizacja projektu / projektów programistycznych pozwalających na praktyczną weryfikację nabytej wiedzy i umiejętności dotyczących programowania współbieżnego, ze szczególnym uwzględnieniem programowania układów graficznych oraz programowania komputerów z pamięcią rozproszoną.
PW -K_8 PW -U_5 PW -U_6 PW -U_7
Egzamin [PW _w_3]
Test złożony z pytań wielokrotnego wyboru oraz zadań otwartych dotyczących tematów poruszanych na wykładach oraz laboratoriach.
PW -U_4 PW -U_5 PW -U_6 PW -U_7 PW -W_1 PW -W_2 PW -W_3
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 [PW _fs_1]
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, ze szczególnym uwzględnieniem programowania równoległego.
30
Zapoznanie się z tematyką prezentowaną podczas wykładów, w tym lektura literatury obowiązkowej oraz uzupełniającej.
15 Prace kontrolne [PW _w_1]
laboratory classes [PW _fs_2]
Szczegółowe przygotowanie studentów do tworzenia aplikacji współbieżnych w nowoczesnych językach programowania. Prezentacja i omówienie narzędzi wspierających realizację oprogramowania współbieżnego.
30
Rozwiązywanie zadań praktycznych z poszczególnych tematów wraz z analizą rozwiązań już istniejących. Zrealizowanie projektu programistycznego z zastosowaniem prezentowanych na wykładach metod.
45 Projekt programistyczny [PW _w_2] Egzamin [PW _w_3]
Attachments
Module description (PDF)
Information concerning module syllabuses might be changed during studies.
Syllabuses (USOSweb)
Semester Module Language of instruction
(no information given)