Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: inżynieria oprogramowania

Sylabus przedmiotu Programowanie GPU - Przedmiot obieralny I:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister inżynier
Obszary studiów nauk technicznych
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie GPU - Przedmiot obieralny I
Specjalność grafika komputerowa i systemy multimedialne
Jednostka prowadząca Katedra Systemów Multimedialnych
Nauczyciel odpowiedzialny Anna Lewandowska <Anna.Tomaszewska@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 10 Grupa obieralna 3

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL3 10 2,50,50zaliczenie
wykładyW3 10 1,50,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1umiejętność programowania

Cele przedmiotu

KODCel modułu/przedmiotu
C-1zapoznanie z technikami programowania GPU

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

KODTreść programowaGodziny
laboratoria
T-L-1Zapoznanie sie ze stukturą języka GLSL3
T-L-2Programowanie algorytmów grafiki czasu rzeczywistego w języku GLSL4
T-L-3Programowanie algorytmów dowolnego przeznaczenia na GPU2
T-L-4Zaliczenia zajęć1
10
wykłady
T-W-1Wykład organizacyjny. Zdefiniowanie wymagań oraz zakresu materiału realizowanego na zjęciach.1
T-W-2Wprowadzenie do trójwymiarowej grafiki komputerowej (pojęcie systemu graficznego, definicja sceny 3D,reprezentacja obiektów geometrycznych, pojęcie kamery wirtualnej, definicja źródeł światła, pojęcie materiału, potok graficzny czasu rzeczywistego).1
T-W-3Bufory (koloru, głębokości, maski, stereo, ramki, akumulacji) oraz efekty dodatkowe (efekty flare, bloom, korona oraz halo, pojęcie motion blur, głębia widzenia, efekt mgły).1
T-W-4Programowanie GPU na przykładach aplikacji grafiki komputerowej4
T-W-5Obliczenia dowolnego przeznaczenia z wykorzystaniem procesora graficznego GPGPU2
T-W-6Zaliczenie wykładu1
10

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

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach10
A-L-2Indiwidualna praca nad projektem46
A-L-3Kosultacje4
60
wykłady
A-W-1uczestnictwo w zajęciach10
A-W-2Samodzielne studiowanie literatury z przedmiotu w domu25
A-W-3Przygotowanie sie do zaliczenia.25
60

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1wykład informacyjny
M-2wykład konwersatoryjny
M-3pokazywanie przykładów z użyciem komputera
M-4ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: sprawdzanie postępów w pracach nad projektami
S-2Ocena formująca: zaliczenie z wiedzy na temat programowania GPU
S-3Ocena formująca: ocena wykonanego projektu

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_D17/O/1-3_W01
zdobycie wiedzy na temat programowania GPU
I_2A_W04T2A_W04, T2A_W07C-1T-W-1M-1, M-2S-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_D17/O/1-3_U01
umiejętność rozwiązywania problemów technicznych związanych z programowaniem GPU
I_2A_U07T2A_U09, T2A_U12, T2A_U18C-1T-W-1M-4, M-3S-1, S-3

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_D17/O/1-3_K01
kompetencje indiwidualne w zakresie rozwiązywania problemów technicznych metodami informatycznymi
I_2A_K01T2A_K01, T2A_K04, T2A_K05, T2A_K06C-1M-4, M-3S-1, S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/O/1-3_W01
zdobycie wiedzy na temat programowania GPU
2,0Na ocene 2.0 student: niedostatecznie opanował zakres wiedzy omawianej na wykładach
3,0Na ocene 3.0 student:dostatecznie opanował zakresu wiedzy omawianej na wykładach, bez znajomości struktury najprostrzego programu realizowanego na GPU
3,5Na ocene 3.5 student: ponad dostatecznie opanował zakresu wiedzy omawianej na wykładach oraz potrafi wyjaśnić podstawowe zasady programowania sprzętowego (GPU)
4,0Na ocene 4.0 student: dobrze opanował zakres wiedzy omawianej na wykładach oraz posiadł umiejętność napisania oraz potrafi wyjaśnić podstawowe zasady programowania sprzętowego z wykorzystaniem paru różnych programów realizowanych na GPU.
4,5Na ocene 4.5 student: ponad dobrze opanował zakresu wiedzy omawianej na wykładach oraz potrafi wyjaśnić podstawowe zasady obowiązujące przy programowaniu sprzętowym.
5,0Na ocene 5.0 student: bardzo dobrze opanował zakresu wiedzy omawianej na wykładach, potrafi swobodnie wyjaśnić podstawowe zasady obowiązujące przy programowaniu sprzętowym oraz wykorzystanie procesora graficznego do dowolnego typu obliczeń.

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/O/1-3_U01
umiejętność rozwiązywania problemów technicznych związanych z programowaniem GPU
2,0Na ocenę 2: student nie jest w stanie wykonać projektu
3,0Na ocenę 3: student jest w stanie wykonać tylko część (przeważającą) projektu.
3,5Na ocenę 3,5: student jest w stanie wykonać projekt w sposób zadawalający.
4,0Na ocenę 4: student jest w stanie dobrze wykonać projekt
4,5Na ocenę 4.5: student jest w stanie bardzo dobrze wykonać projekt
5,0Na ocenę 5: student jest w stanie wykonać wyróżniający się projekt

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/O/1-3_K01
kompetencje indiwidualne w zakresie rozwiązywania problemów technicznych metodami informatycznymi
2,0Na ocenę 2: Student nie potrafi zastosować wiedzy do realizacji projektu
3,0Na ocenę 3: Student potrafi w podstawowym zaledwie zakresie zastosować wiedzę do realizacji projektu
3,5Na ocenę 3.5: Student potrafi w zadawalającym zakresie zastosować wiedzę do realizacji projektu
4,0Na ocenę 4.0: Student potrafi poprawnie zastosować wiedzę do realizacji projektu
4,5Na ocenę 4.5: Student potrafi bardzo dobrze zastosować wiedzę do realizacji projektu
5,0Na ocenę 4.5: Student potrafi w sppposób wyróżniający zastosować wiedzę do realizacji projektu

Literatura podstawowa

  1. Randima Fernando, GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics, Addison-Wesley Professional, United Kongdom, 2004, 1

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Zapoznanie sie ze stukturą języka GLSL3
T-L-2Programowanie algorytmów grafiki czasu rzeczywistego w języku GLSL4
T-L-3Programowanie algorytmów dowolnego przeznaczenia na GPU2
T-L-4Zaliczenia zajęć1
10

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wykład organizacyjny. Zdefiniowanie wymagań oraz zakresu materiału realizowanego na zjęciach.1
T-W-2Wprowadzenie do trójwymiarowej grafiki komputerowej (pojęcie systemu graficznego, definicja sceny 3D,reprezentacja obiektów geometrycznych, pojęcie kamery wirtualnej, definicja źródeł światła, pojęcie materiału, potok graficzny czasu rzeczywistego).1
T-W-3Bufory (koloru, głębokości, maski, stereo, ramki, akumulacji) oraz efekty dodatkowe (efekty flare, bloom, korona oraz halo, pojęcie motion blur, głębia widzenia, efekt mgły).1
T-W-4Programowanie GPU na przykładach aplikacji grafiki komputerowej4
T-W-5Obliczenia dowolnego przeznaczenia z wykorzystaniem procesora graficznego GPGPU2
T-W-6Zaliczenie wykładu1
10

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach10
A-L-2Indiwidualna praca nad projektem46
A-L-3Kosultacje4
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach10
A-W-2Samodzielne studiowanie literatury z przedmiotu w domu25
A-W-3Przygotowanie sie do zaliczenia.25
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/O/1-3_W01zdobycie wiedzy na temat programowania GPU
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-1zapoznanie z technikami programowania GPU
Treści programoweT-W-1Wykład organizacyjny. Zdefiniowanie wymagań oraz zakresu materiału realizowanego na zjęciach.
Metody nauczaniaM-1wykład informacyjny
M-2wykład konwersatoryjny
Sposób ocenyS-2Ocena formująca: zaliczenie z wiedzy na temat programowania GPU
Kryteria ocenyOcenaKryterium oceny
2,0Na ocene 2.0 student: niedostatecznie opanował zakres wiedzy omawianej na wykładach
3,0Na ocene 3.0 student:dostatecznie opanował zakresu wiedzy omawianej na wykładach, bez znajomości struktury najprostrzego programu realizowanego na GPU
3,5Na ocene 3.5 student: ponad dostatecznie opanował zakresu wiedzy omawianej na wykładach oraz potrafi wyjaśnić podstawowe zasady programowania sprzętowego (GPU)
4,0Na ocene 4.0 student: dobrze opanował zakres wiedzy omawianej na wykładach oraz posiadł umiejętność napisania oraz potrafi wyjaśnić podstawowe zasady programowania sprzętowego z wykorzystaniem paru różnych programów realizowanych na GPU.
4,5Na ocene 4.5 student: ponad dobrze opanował zakresu wiedzy omawianej na wykładach oraz potrafi wyjaśnić podstawowe zasady obowiązujące przy programowaniu sprzętowym.
5,0Na ocene 5.0 student: bardzo dobrze opanował zakresu wiedzy omawianej na wykładach, potrafi swobodnie wyjaśnić podstawowe zasady obowiązujące przy programowaniu sprzętowym oraz wykorzystanie procesora graficznego do dowolnego typu obliczeń.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/O/1-3_U01umiejętność rozwiązywania problemów technicznych związanych z programowaniem GPU
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U07Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_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_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
Cel przedmiotuC-1zapoznanie z technikami programowania GPU
Treści programoweT-W-1Wykład organizacyjny. Zdefiniowanie wymagań oraz zakresu materiału realizowanego na zjęciach.
Metody nauczaniaM-4ćwiczenia laboratoryjne
M-3pokazywanie przykładów z użyciem komputera
Sposób ocenyS-1Ocena formująca: sprawdzanie postępów w pracach nad projektami
S-3Ocena formująca: ocena wykonanego projektu
Kryteria ocenyOcenaKryterium oceny
2,0Na ocenę 2: student nie jest w stanie wykonać projektu
3,0Na ocenę 3: student jest w stanie wykonać tylko część (przeważającą) projektu.
3,5Na ocenę 3,5: student jest w stanie wykonać projekt w sposób zadawalający.
4,0Na ocenę 4: student jest w stanie dobrze wykonać projekt
4,5Na ocenę 4.5: student jest w stanie bardzo dobrze wykonać projekt
5,0Na ocenę 5: student jest w stanie wykonać wyróżniający się projekt
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/O/1-3_K01kompetencje indiwidualne w zakresie rozwiązywania problemów technicznych metodami informatycznymi
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K01Ma świadomość organizacji własnego czasu pracy i jest zdeterminowany aby osiągnąć założone cele
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_K04potrafi odpowiednio określić priorytety służące realizacji określonego przez siebie lub innych zadania
T2A_K05prawidłowo identyfikuje i rozstrzyga dylematy związane z wykonywaniem zawodu
T2A_K06potrafi myśleć i działać w sposób kreatywny i przedsiębiorczy
Cel przedmiotuC-1zapoznanie z technikami programowania GPU
Metody nauczaniaM-4ćwiczenia laboratoryjne
M-3pokazywanie przykładów z użyciem komputera
Sposób ocenyS-1Ocena formująca: sprawdzanie postępów w pracach nad projektami
S-3Ocena formująca: ocena wykonanego projektu
Kryteria ocenyOcenaKryterium oceny
2,0Na ocenę 2: Student nie potrafi zastosować wiedzy do realizacji projektu
3,0Na ocenę 3: Student potrafi w podstawowym zaledwie zakresie zastosować wiedzę do realizacji projektu
3,5Na ocenę 3.5: Student potrafi w zadawalającym zakresie zastosować wiedzę do realizacji projektu
4,0Na ocenę 4.0: Student potrafi poprawnie zastosować wiedzę do realizacji projektu
4,5Na ocenę 4.5: Student potrafi bardzo dobrze zastosować wiedzę do realizacji projektu
5,0Na ocenę 4.5: Student potrafi w sppposób wyróżniający zastosować wiedzę do realizacji projektu