Programowanie równoległe Kierunek studiów: Informatyka
Kod programu: 08-S1INI12.2014

Nazwa modułu: Programowanie równoległe
Kod modułu: 08- IO1S-13-6W18
Kod programu: 08-S1INI12.2014
Semestr: semestr letni 2016/2017
Język wykładowy: polski
Forma zaliczenia: zaliczenie
Punkty ECTS: 5
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 [08- IO1S-13-6W18-K_8]
K_1_A_I_K01 [1/5] K_1_A_I_K03 [1/5] K_1_A_I_K06 [1/5]
Potrafi dokonać dekompozycji rozpatrywanego problemu obliczeniowego na składowe umożliwiające opracowanie algorytmu równoległego. [08- IO1S-13-6W18-U_4]
K_1_A_I_W09 [1/5] K_1_A_I_U15 [1/5]
Potrafi zastosować mechanizmy takie jak zmienne i instrukcje atomowe, semafory, monitory w implementacji programów współbieżnych. [08- IO1S-13-6W18-U_5]
K_1_A_I_W06 [1/5] K_1_A_I_U18 [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-6W18-U_6]
K_1_A_I_W03 [1/5] K_1_A_I_U15 [1/5] K_1_A_I_U19 [1/5]
Ma wiedzę na temat architektury programowalnych układów graficznych (GPU) i narzędzi programistycznych umożliwiającą tworzenie dedykowanego oprogramowania. [08- IO1S-13-6W18-W_1]
K_1_A_I_W12 [1/5] K_1_A_I_K06 [1/5] K_1_A_I_W06 [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. [08- IO1S-13-6W18-W_2]
K_1_A_I_W09 [1/5] K_1_A_I_W06 [1/5]
Typ Opis Kody efektów modułowych do których odnosi się sposób weryfikacji
Prace kontrolne [08- IO1S-13-6W18_w_1]
Co najmniej jedno kolokwium sprawdzające wiedzę z tematyki poruszanej na wykładzie oraz realizowanej w ramach laboratoriów.
08- IO1S-13-6W18-U_4 08- IO1S-13-6W18-U_5 08- IO1S-13-6W18-U_6 08- IO1S-13-6W18-W_1 08- IO1S-13-6W18-W_2
Projekt programistyczny [08- IO1S-13-6W18_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ą.
08- IO1S-13-6W18-K_8 08- IO1S-13-6W18-U_5 08- IO1S-13-6W18-U_6
Zaliczenie wykładu [08- IO1S-13-6W18_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-6W18-U_4 08- IO1S-13-6W18-U_5 08- IO1S-13-6W18-U_6 08- IO1S-13-6W18-W_1 08- IO1S-13-6W18-W_2
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-6W18_fs1]
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.
15
Zapoznanie się z tematyką prezentowaną podczas wykładów, w tym lektura literatury obowiązkowej oraz uzupełniającej.
15 Prace kontrolne [08- IO1S-13-6W18_w_1]
laboratorium [08- IO1S-13-6W18_fs2]
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 [08- IO1S-13-6W18_w_2] Zaliczenie wykładu [08- IO1S-13-6W18_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)