Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)

Sylabus przedmiotu Programowanie równoległe i rozproszone:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauk technicznych
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie równoległe i rozproszone
Specjalność inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Marek Pałkowski <Marek.Palkowski@zut.edu.pl>
Inni nauczyciele Marek Pałkowski <Marek.Palkowski@zut.edu.pl>, Krzysztof Siedlecki <Krzysztof.Siedlecki@zut.edu.pl>
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW1 10 2,20,62egzamin
laboratoriaL1 10 0,80,38zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Zaliczone przedmioty: Programowanie w językach C, C++, Architektura komputerów, Systemy operacyjne, Inżynieria oprogramowania

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Przyswojenie wiedzy i umiejętności niezbędnych do projektowania aplikacji równolegych i rozproszonych oraz oceny ich jakości
C-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".2
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.2
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.2
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.1
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.1
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB1
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task1
10
wykłady
T-W-1architektura komputerów równoległych i systemów rozproszonych Pojęcie zaleznośći, rodzaje zależności w programach1
T-W-2Pojęcie zaleznośći, rodzaje zależności w programach podstawowe transformacje pętli: FAN, PAR, PIPE1
T-W-3pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń1
T-W-4Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków1
T-W-5konstrukcje podziału pracy między wątki w OpenMP1
T-W-6Mechanizmy synchronizacji w OpenMP1
T-W-7Mechanizm zadań w OpenMP(tasking)1
T-W-8Biblioteka Intel TBB Biblioteki MPI i PVM1
T-W-9podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji1
T-W-10Metodologia PCAM tworzenia algorytmów równoległych i rozproszonych Modele wydajnościowe aplikacji rónoległych i rozproszonych1
10

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1udział w laboratoriach10
A-L-2przygotowanie do laboratoriów20
30
wykłady
A-W-1Udział w wykładach10
A-W-2Przygotowanie do egzaminu40
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykad informacyjny/konwersatoryjny
M-2Ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
S-2Ocena formująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/1_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych i rozproszonych
I_2A_W04, I_2A_W01T2A_W01, T2A_W04, T2A_W07C-1, C-2T-W-8, T-W-3, T-W-1, T-W-4, T-W-6, T-W-5, T-W-9, T-W-2, T-W-7, T-W-10, T-L-7, T-L-1, T-L-6, T-L-4, T-L-2, T-L-3, T-L-5M-1S-2
I_2A_D14/1_W02
zna metodykę tworzenia aplikacji równoległych i rozproszonych oraz odpowiednie API i biblioteki
I_2A_W04T2A_W04, T2A_W07C-1, C-2T-W-8, T-W-3, T-W-1, T-W-4, T-W-6, T-W-5, T-W-9, T-W-2, T-W-7, T-W-10, T-L-7, T-L-1, T-L-6, T-L-4, T-L-2, T-L-3, T-L-5M-1S-2

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/1_U01
potrafi rozwiązywać złożone problemy w oparciu o tworzenie aplikacji równoległych i rozproszonych
I_2A_U11, I_2A_U07, I_2A_U12T2A_U07, T2A_U09, T2A_U12, T2A_U14, T2A_U15, T2A_U17, T2A_U18, T2A_U19C-2T-W-8, T-W-3, T-W-1, T-W-4, T-W-6, T-W-5, T-W-9, T-W-2, T-W-7, T-W-10, T-L-7, T-L-1, T-L-6, T-L-4, T-L-2, T-L-3, T-L-5M-2S-1
I_2A_D14/1_U02
Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
I_2A_U03T2A_U02, T2A_U03C-2T-W-8, T-W-3, T-W-1, T-W-4, T-W-6, T-W-5, T-W-9, T-W-2, T-W-7, T-W-10, T-L-7, T-L-1, T-L-6, T-L-4, T-L-2, T-L-3, T-L-5M-2S-1
I_2A_D14/1_U03
potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
I_2A_U02T2A_U01, T2A_U03, T2A_U04, T2A_U07, T2A_U10C-2M-2S-1

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/1_K01
świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
I_2A_K02T2A_K01, T2A_K07C-2T-W-8, T-W-3, T-W-1, T-W-4, T-W-6, T-W-5, T-W-9, T-W-2, T-W-7, T-W-10, T-L-7, T-L-1, T-L-6, T-L-4, T-L-2, T-L-3, T-L-5M-2S-1
I_2A_D14/1_K02
ma świadomość współodpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania równoległego i rozproszonego
I_2A_K05, I_2A_K03T2A_K02, T2A_K03, T2A_K04, T2A_K07C-2T-W-8, T-W-3, T-W-1, T-W-4, T-W-6, T-W-5, T-W-9, T-W-2, T-W-7, T-W-10, T-L-7, T-L-1, T-L-6, T-L-4, T-L-2, T-L-3, T-L-5M-2S-1

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/1_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych i rozproszonych
2,0nie potrrafi zdefiniować programu współbieżnego, współbieżności oraz rozróżnić równoległość od współbieżności
3,0rozumie pojęcie współbieżności, potrafi wyjaśnić definicję programu równoległego i odróżnić go od współbieżnego
3,5ma więdze na 3.0 oraz umie zdefiniować trudności w tworzeniu oprogramowania współbieżnego i równoległego oraz algorytmów, potrafi przedstawić podstawowe mechanizmy synchronizacji
4,0ma wiedzę na 3.5 oraz umiejętnie określa trudności w tworzeniu programów współbieżnych z odpowiednim doborem metod synchronizacji
4,5ma wiedzę na 4.0 oraz potrafi zdefiniować zagrożenia w tworzeniu oprogramowania współbieżnego
5,0ma wiedzę na 4.5 i potrafi wyjaśnić trudności w testowaniu oprogramowania współbieżnego
I_2A_D14/1_W02
zna metodykę tworzenia aplikacji równoległych i rozproszonych oraz odpowiednie API i biblioteki
2,0nie potrafi opisać pragmy parallel i for
3,0potrafi w podstawowym zakresie określić pragmę parallel i for
3,5potrafi w podstawowym zakresie określić pragmę parallel, for i sections
4,0potrafi w podstawowym zakresie określić pragmę parallel, for i sections oraz zna pragmy barrier i atomic
4,5ma wiedzę na 4.0 i zna definicje funkcji openmp
5,0ma wiedzę na 4.5 i zna mechanizmy lock w openmp

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/1_U01
potrafi rozwiązywać złożone problemy w oparciu o tworzenie aplikacji równoległych i rozproszonych
2,0nie umie skompilować programu z openmp
3,0potrafi skompilować program z openmp z wybranymi pragmami
3,5potrafi skompilować program z openmp i skonfigurować pragmy parallel i for
4,0potrafi skompilować program z openmp i skonfigurować większość pragm
4,5potrafi na 4.0 i określić przyspieszenie programu
5,0potrafi na 4.0 i określić przyspieszenie programu oraz skalowalność i efektywność
I_2A_D14/1_U02
Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
2,0brak przejawu chęci w pracach zespołowych i angażowanie się w projekt, brak sprawozdania
3,0potrafi zaangażować się w projekt
3,5potrafi zaangażować się w projekt i napisać program
4,0potrafi zaangażować się w projekt, napisać program i wykonać badania
4,5potrafi zaangażować się w projekt, napisać program i wykonać badania oraz sporządzić tabele i wykresy dla przyspieszenia oraz efektywności
5,0potrafi zaangażować się w projekt, napisać program i wykonać badania oraz sporządzić tabele i wykresy dla przyspieszenia oraz efektywności z opisem wniosków
I_2A_D14/1_U03
potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
2,0nie potrafi opisać podstawowych pragm i znaleźć tych informacji w dokumentacji
3,0potrafi opisać podstawowych pragm i znaleźć tych informacji w dokumentacji
3,5potrafi znaleźć wszystkie dyrektywy dla wybranych pragm z dokumentacji
4,0potrafi znaleźć wszystkie dyrektywy dla wszystkich pragm z dokumentacji
4,5potrafi znaleźć wszystkie dyrektywy dla wszystkich pragm z dokumentacji i włączyć te informacji do swojego programu
5,0potrafi znaleźć wszystkie dyrektywy dla wszystkich pragm z dokumentacji, wybrać potrzebne i włączyć te informacji do swojego programu

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/1_K01
świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
2,0nie rouzmie potrzeb programowania wspóbieżnego
3,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania
3,5potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego
4,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych
4,5potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych i urządzeń mobilnych
5,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych i urządzeń mobilnych, rozwiązań klastrowych
I_2A_D14/1_K02
ma świadomość współodpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania równoległego i rozproszonego
2,0nie potrafi ocenić ryzyko projektu aplikacji współbieżnej na etapie projetkowania i kodowania
3,0potrafi ocenić ryzyko projektu aplikacji współbieżnej na etapie projetkowania i kodowania (wyjaśnić trudności w jego tworzeniu)
3,5potrafi ocenić ryzyko projektu aplikacji współbieżnej na etapie projetkowania i kodowania (wyjaśnić trudności w jego tworzeniu i testowaniu)
4,0ma wiedzę na 3.5 i umiejętnie określa różnice w programowaniu sekwencyjnego i współbieżnego
4,5ma wiedzę na 4.0 i zna obecne rozwiązania techniczne
5,0ma wiedzę na 4.0 i zna obecne rozwiązania techniczne dla większości środowisk (wielordzeniowe CPU, GPU i Embedded)

Literatura podstawowa

  1. W. Bielecki, Przetwarzanie równoległe i rozproszone, Politechnika Szczecińska, Szczecin, 2007
  2. Rohit Chandra et al., Parallel Programming in OpenMP, Morgan Kaufmann Publishers, London, 2001
  3. Chapman, Jost, and Van Der Pas, Using OpenMP, The MIT Press, Cambridge, 2007

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".2
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.2
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.2
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.1
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.1
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB1
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task1
10

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1architektura komputerów równoległych i systemów rozproszonych Pojęcie zaleznośći, rodzaje zależności w programach1
T-W-2Pojęcie zaleznośći, rodzaje zależności w programach podstawowe transformacje pętli: FAN, PAR, PIPE1
T-W-3pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń1
T-W-4Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków1
T-W-5konstrukcje podziału pracy między wątki w OpenMP1
T-W-6Mechanizmy synchronizacji w OpenMP1
T-W-7Mechanizm zadań w OpenMP(tasking)1
T-W-8Biblioteka Intel TBB Biblioteki MPI i PVM1
T-W-9podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji1
T-W-10Metodologia PCAM tworzenia algorytmów równoległych i rozproszonych Modele wydajnościowe aplikacji rónoległych i rozproszonych1
10

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1udział w laboratoriach10
A-L-2przygotowanie do laboratoriów20
30
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach10
A-W-2Przygotowanie do egzaminu40
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/1_W01ma wiedzę w zakresie tworzenia algorytmów równoległych i rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W01Ma poszerzoną i pogłębioną wiedzę w zakresie wybranych działów matematyki teoretycznej oraz matematyki stosowanej
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W01ma rozszerzoną i pogłębioną wiedzę z zakresu matematyki, fizyki, chemii i innych obszarów właściwych dla studiowanego kierunku studiów przydatną do formułowania i rozwiązywania złożonych zadań z zakresu studiowanego kierunku studiów
T2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-1Przyswojenie wiedzy i umiejętności niezbędnych do projektowania aplikacji równolegych i rozproszonych oraz oceny ich jakości
C-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-8Biblioteka Intel TBB Biblioteki MPI i PVM
T-W-3pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-W-1architektura komputerów równoległych i systemów rozproszonych Pojęcie zaleznośći, rodzaje zależności w programach
T-W-4Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-6Mechanizmy synchronizacji w OpenMP
T-W-5konstrukcje podziału pracy między wątki w OpenMP
T-W-9podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-2Pojęcie zaleznośći, rodzaje zależności w programach podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-7Mechanizm zadań w OpenMP(tasking)
T-W-10Metodologia PCAM tworzenia algorytmów równoległych i rozproszonych Modele wydajnościowe aplikacji rónoległych i rozproszonych
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-2Ocena formująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi
Kryteria ocenyOcenaKryterium oceny
2,0nie potrrafi zdefiniować programu współbieżnego, współbieżności oraz rozróżnić równoległość od współbieżności
3,0rozumie pojęcie współbieżności, potrafi wyjaśnić definicję programu równoległego i odróżnić go od współbieżnego
3,5ma więdze na 3.0 oraz umie zdefiniować trudności w tworzeniu oprogramowania współbieżnego i równoległego oraz algorytmów, potrafi przedstawić podstawowe mechanizmy synchronizacji
4,0ma wiedzę na 3.5 oraz umiejętnie określa trudności w tworzeniu programów współbieżnych z odpowiednim doborem metod synchronizacji
4,5ma wiedzę na 4.0 oraz potrafi zdefiniować zagrożenia w tworzeniu oprogramowania współbieżnego
5,0ma wiedzę na 4.5 i potrafi wyjaśnić trudności w testowaniu oprogramowania współbieżnego
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/1_W02zna metodykę tworzenia aplikacji równoległych i rozproszonych oraz odpowiednie API i biblioteki
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-1Przyswojenie wiedzy i umiejętności niezbędnych do projektowania aplikacji równolegych i rozproszonych oraz oceny ich jakości
C-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-8Biblioteka Intel TBB Biblioteki MPI i PVM
T-W-3pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-W-1architektura komputerów równoległych i systemów rozproszonych Pojęcie zaleznośći, rodzaje zależności w programach
T-W-4Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-6Mechanizmy synchronizacji w OpenMP
T-W-5konstrukcje podziału pracy między wątki w OpenMP
T-W-9podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-2Pojęcie zaleznośći, rodzaje zależności w programach podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-7Mechanizm zadań w OpenMP(tasking)
T-W-10Metodologia PCAM tworzenia algorytmów równoległych i rozproszonych Modele wydajnościowe aplikacji rónoległych i rozproszonych
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-2Ocena formująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi
Kryteria ocenyOcenaKryterium oceny
2,0nie potrafi opisać pragmy parallel i for
3,0potrafi w podstawowym zakresie określić pragmę parallel i for
3,5potrafi w podstawowym zakresie określić pragmę parallel, for i sections
4,0potrafi w podstawowym zakresie określić pragmę parallel, for i sections oraz zna pragmy barrier i atomic
4,5ma wiedzę na 4.0 i zna definicje funkcji openmp
5,0ma wiedzę na 4.5 i zna mechanizmy lock w openmp
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/1_U01potrafi rozwiązywać złożone problemy w oparciu o tworzenie aplikacji równoległych i rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U11Potrafi dokonywać analizy i syntezy złożonych systemów
I_2A_U07Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
I_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich i prostych problemów badawczych metody analityczne, symulacyjne i eksperymentalne
T2A_U12potrafi ocenić przydatność i możliwość wykorzystania nowych osiągnięć (technik i technologii) w zakresie studiowanego kierunku studiów
T2A_U14potrafi dokonać wstępnej analizy ekonomicznej podejmowanych działali inżynierskich
T2A_U15potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
T2A_U17potrafi dokonać identyfikacji i sformułować specyfikację złożonych zadań inżynierskich, charakterystycznych dla studiowanego kierunku studiów, w tym zadań nietypowych, uwzględniając ich aspekty pozatechniczne
T2A_U18potrafi ocenić przydatność metod i narzędzi służących do rozwiązania zadania inżynierskiego, charakterystycznego dla studiowanego kierunku studiów, w tym dostrzec ograniczenia tych metod i narzędzi; potrafi - stosując także koncepcyjnie nowe metody - rozwiązywać złożone zadania inżynierskie, charakterystyczne dla studiowanego kierunku studiów, w tym zadania nietypowe oraz zadania zawierające komponent badawczy
T2A_U19potrafi - zgodnie z zadaną specyfikacją, uwzględniającą aspekty pozatechniczne - zaprojektować złożone urządzenie, obiekt, system lub proces, związane z zakresem studiowanego kierunku studiów, oraz zrealizować ten projekt - co najmniej w części - używając właściwych metod, technik i narzędzi, w tym przystosowując do tego celu istniejące lub opracowując nowe narzędzia
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-8Biblioteka Intel TBB Biblioteki MPI i PVM
T-W-3pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-W-1architektura komputerów równoległych i systemów rozproszonych Pojęcie zaleznośći, rodzaje zależności w programach
T-W-4Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-6Mechanizmy synchronizacji w OpenMP
T-W-5konstrukcje podziału pracy między wątki w OpenMP
T-W-9podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-2Pojęcie zaleznośći, rodzaje zależności w programach podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-7Mechanizm zadań w OpenMP(tasking)
T-W-10Metodologia PCAM tworzenia algorytmów równoległych i rozproszonych Modele wydajnościowe aplikacji rónoległych i rozproszonych
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie umie skompilować programu z openmp
3,0potrafi skompilować program z openmp z wybranymi pragmami
3,5potrafi skompilować program z openmp i skonfigurować pragmy parallel i for
4,0potrafi skompilować program z openmp i skonfigurować większość pragm
4,5potrafi na 4.0 i określić przyspieszenie programu
5,0potrafi na 4.0 i określić przyspieszenie programu oraz skalowalność i efektywność
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/1_U02Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U03Potrafi aktywnie uczestniczyć w pracach projektowych indywidualnych i zespołowych przyjmując w nich różne role
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów
T2A_U03potrafi przygotować opracowanie naukowe w języku polskim i krótkie doniesienie naukowe w języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, przedstawiające wyniki własnych badań naukowych
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-8Biblioteka Intel TBB Biblioteki MPI i PVM
T-W-3pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-W-1architektura komputerów równoległych i systemów rozproszonych Pojęcie zaleznośći, rodzaje zależności w programach
T-W-4Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-6Mechanizmy synchronizacji w OpenMP
T-W-5konstrukcje podziału pracy między wątki w OpenMP
T-W-9podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-2Pojęcie zaleznośći, rodzaje zależności w programach podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-7Mechanizm zadań w OpenMP(tasking)
T-W-10Metodologia PCAM tworzenia algorytmów równoległych i rozproszonych Modele wydajnościowe aplikacji rónoległych i rozproszonych
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0brak przejawu chęci w pracach zespołowych i angażowanie się w projekt, brak sprawozdania
3,0potrafi zaangażować się w projekt
3,5potrafi zaangażować się w projekt i napisać program
4,0potrafi zaangażować się w projekt, napisać program i wykonać badania
4,5potrafi zaangażować się w projekt, napisać program i wykonać badania oraz sporządzić tabele i wykresy dla przyspieszenia oraz efektywności
5,0potrafi zaangażować się w projekt, napisać program i wykonać badania oraz sporządzić tabele i wykresy dla przyspieszenia oraz efektywności z opisem wniosków
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/1_U03potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U02Potrafi pozyskiwać informacje z różnych źródeł (literatura, Internet, bazy danych, dokumentacja techniczna), dokonywać ich interpretacji i oceny
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U01potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów; potrafi integrować uzyskane informacje, dokonywać ich interpretacji i krytycznej oceny, a także wyciągać wnioski oraz formułować i wyczerpująco uzasadniać opinie
T2A_U03potrafi przygotować opracowanie naukowe w języku polskim i krótkie doniesienie naukowe w języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, przedstawiające wyniki własnych badań naukowych
T2A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - integrować wiedzę z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zastosować podejście systemowe, uwzględniające także aspekty pozatechniczne
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie potrafi opisać podstawowych pragm i znaleźć tych informacji w dokumentacji
3,0potrafi opisać podstawowych pragm i znaleźć tych informacji w dokumentacji
3,5potrafi znaleźć wszystkie dyrektywy dla wybranych pragm z dokumentacji
4,0potrafi znaleźć wszystkie dyrektywy dla wszystkich pragm z dokumentacji
4,5potrafi znaleźć wszystkie dyrektywy dla wszystkich pragm z dokumentacji i włączyć te informacji do swojego programu
5,0potrafi znaleźć wszystkie dyrektywy dla wszystkich pragm z dokumentacji, wybrać potrzebne i włączyć te informacji do swojego programu
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/1_K01świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K02Świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_K01rozumie potrzebę uczenia się przez całe życie; potrafi inspirować i organizować proces uczenia się innych osób
T2A_K07ma świadomość roli społecznej absolwenta uczelni technicznej, a zwłaszcza rozumie potrzebę formułowania i przekazywania społeczeństwu, w szczególności poprzez środki masowego przekazu, informacji i opinii dotyczących osiągnięć techniki i innych aspektów działalności inżynierskiej; podejmuje starania, aby przekazać takie informacje i opnie w sposób powszechnie zrozumiały, z uzasadnieniem różnych punktów widzenia
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-8Biblioteka Intel TBB Biblioteki MPI i PVM
T-W-3pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-W-1architektura komputerów równoległych i systemów rozproszonych Pojęcie zaleznośći, rodzaje zależności w programach
T-W-4Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-6Mechanizmy synchronizacji w OpenMP
T-W-5konstrukcje podziału pracy między wątki w OpenMP
T-W-9podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-2Pojęcie zaleznośći, rodzaje zależności w programach podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-7Mechanizm zadań w OpenMP(tasking)
T-W-10Metodologia PCAM tworzenia algorytmów równoległych i rozproszonych Modele wydajnościowe aplikacji rónoległych i rozproszonych
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie rouzmie potrzeb programowania wspóbieżnego
3,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania
3,5potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego
4,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych
4,5potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych i urządzeń mobilnych
5,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych i urządzeń mobilnych, rozwiązań klastrowych
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/1_K02ma świadomość współodpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania równoległego i rozproszonego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K05Ma świadomość odpowiedzialności za kierowany zespół ludzi i za zadania realizowane wspólnie z tym zespołem
I_2A_K03Rozumie potrzebę przekazywania społeczeństwu informacji o rozwoju i osiągnięciach nauki w zakresie informatyki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_K02ma świadomość ważności i zrozumienie pozatechnicznych aspektów i skutków działalności inżynierskiej, w tym jej wpływu na środowisko, i związanej z tym odpowiedzialności za podejmowane decyzje
T2A_K03potrafi współdziałać i pracować w grupie, przyjmując w niej różne role
T2A_K04potrafi odpowiednio określić priorytety służące realizacji określonego przez siebie lub innych zadania
T2A_K07ma świadomość roli społecznej absolwenta uczelni technicznej, a zwłaszcza rozumie potrzebę formułowania i przekazywania społeczeństwu, w szczególności poprzez środki masowego przekazu, informacji i opinii dotyczących osiągnięć techniki i innych aspektów działalności inżynierskiej; podejmuje starania, aby przekazać takie informacje i opnie w sposób powszechnie zrozumiały, z uzasadnieniem różnych punktów widzenia
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-8Biblioteka Intel TBB Biblioteki MPI i PVM
T-W-3pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-W-1architektura komputerów równoległych i systemów rozproszonych Pojęcie zaleznośći, rodzaje zależności w programach
T-W-4Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-6Mechanizmy synchronizacji w OpenMP
T-W-5konstrukcje podziału pracy między wątki w OpenMP
T-W-9podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-2Pojęcie zaleznośći, rodzaje zależności w programach podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-7Mechanizm zadań w OpenMP(tasking)
T-W-10Metodologia PCAM tworzenia algorytmów równoległych i rozproszonych Modele wydajnościowe aplikacji rónoległych i rozproszonych
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie potrafi ocenić ryzyko projektu aplikacji współbieżnej na etapie projetkowania i kodowania
3,0potrafi ocenić ryzyko projektu aplikacji współbieżnej na etapie projetkowania i kodowania (wyjaśnić trudności w jego tworzeniu)
3,5potrafi ocenić ryzyko projektu aplikacji współbieżnej na etapie projetkowania i kodowania (wyjaśnić trudności w jego tworzeniu i testowaniu)
4,0ma wiedzę na 3.5 i umiejętnie określa różnice w programowaniu sekwencyjnego i współbieżnego
4,5ma wiedzę na 4.0 i zna obecne rozwiązania techniczne
5,0ma wiedzę na 4.0 i zna obecne rozwiązania techniczne dla większości środowisk (wielordzeniowe CPU, GPU i Embedded)