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

Nazwa modułu: Programowanie współbieżne
Kod modułu: 08-IN-IJO-S2-PW
Kod programu: 08-S2INI14.2014
Semestr: semestr zimowy 2015/2016
Język wykładowy: polski
Forma zaliczenia: egzamin
Punkty ECTS: 4
Opis:
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.
Wymagania wstępne:
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.
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 [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]
Typ Opis Kody efektów modułowych do których odnosi się sposób weryfikacji
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
Rodzaj prowadzonych zajęć Praca własna studenta Sposoby weryfikacji
Typ Opis (z uwzględnieniem metod dydaktycznych) Liczba godzin Opis Liczba godzin
wykład [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]
laboratorium [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]
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)