- Nazwa przedmiotu:
- Wstęp do programowania równoległego i rozproszonego
- Koordynator przedmiotu:
- dr inż. Maciej J. Mrowiński
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Fizyka Techniczna
- Grupa przedmiotów:
- Obowiązkowe
- Kod przedmiotu:
- 1050-FTEDM-MSP-3WPR
- Semestr nominalny:
- 2 / rok ak. 2019/2020
- Liczba punktów ECTS:
- 3
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1. godziny kontaktowe – 45 h; w tym
a) obecność na wykładach – 30 h
b) obecność na laboratoriach – 15 h
2. praca własna studenta – 30 h; w tym
a) przygotowanie do laboratoriów – 15 h
b) przygotowanie do wykładów – 15 h
Razem w semestrze 75 h, co odpowiada 3 pkt. ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1. obecność na wykładach – 30 h
2. obecność na laboratoriach – 15 h
Razem w semestrze 45 h, co odpowiada 2 pkt. ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1. zajęcia laboratoryjne – 15 h
Razem w semestrze 15 h, co odpowiada 1 pkt. ECTS
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium15h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Przedmioty: Sieci Komputerowe
Kompetencje: podstawowa umiejętność programowania w języku Java i C.
- Limit liczby studentów:
- brak
- Cel przedmiotu:
- Umiejętność projektowania i implementowania równoległych i rozproszonych programów komputerowych.
- Treści kształcenia:
- Wykład:
1. Wprowadzenie do architektury systemów równoległych i rozproszonych.
2. Praktyczne aspekty i narzędzia programowania równoległego na przykładzie języka Java.
a. Wątki.
b. Niskopoziomowe i wysokopoziomowe metody synchronizowania wątków.
c. Pule wątków.
d. Synchronizowane kolejki i kolekcje.
e. Strumienie.
3. Algorytmy równoległe.
4. Wzorce projektowe w programowaniu równoległym.
5. Programowanie równoległe i rozproszone w C/C++.
a. OpenMP.
b. MPI
6. Elementy programowania i przetwarzania danych w systemach rozproszonych w języku Java (Spark).
7. Elementy programowania równoległego z wykorzystaniem kart graficznych (CUDA).
Laboratorium:
bezpośrednie uzupełnienie wykładu – ćwiczenia laboratoryjne będą dotyczyły wybranych zagadnień poruszanych na wykładzie.
- Metody oceny:
- Ocena z przedmiotu będzie średnią oceny z laboratorium (wystawianej na podstawie ćwiczeń wykonywanych na zajęciach) oraz z pracy domowej zadanej na wykładach.
- Egzamin:
- tak
- Literatura:
- Dokumentacja w Internecie:
https://docs.oracle.com/javase
http://www.openmp.org/
https://www.open-mpi.org/
http://www.nvidia.com/object/cuda_home_new.html
http://spark.apache.org/
- Witryna www przedmiotu:
- www.if.pw.edu.pl/~mrow/dyd
- Uwagi:
- brak
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt WPRR_W01
- Ma wiedzę w zakresie teoretycznych podstaw programowania równoległego i rozproszonego.
Weryfikacja: zadania laboratoryjne,
zadanie domowe
Powiązane efekty kierunkowe:
FT2_W02
Powiązane efekty obszarowe:
X2A_W02, T2A_W01, T2A_W02
- Efekt WPRR_W02
- Ma wiedzę o tendencjach rozwojowych w obszarze programowania równoległego i rozproszonego.
Weryfikacja: zadania laboratoryjne,
zadanie domowe
Powiązane efekty kierunkowe:
FT2_W04
Powiązane efekty obszarowe:
X2A_W06, T2A_W05, T2A_W07
Profil ogólnoakademicki - umiejętności
- Efekt WPRR_U01
- Potrafi korzystać z dokumentacji technicznej narzędzi wykorzystywanych do programowania równoległego i rozproszonego.
Weryfikacja: zadania laboratoryjne
Powiązane efekty kierunkowe:
FT2_U01
Powiązane efekty obszarowe:
X2A_U03, T2A_U01
- Efekt WPRR_U02
- Potrafi wykorzystać metody programowania równoległego i rozproszonego do rozwiązywania problemów badawczych.
Weryfikacja: zadania laboratoryjne
Powiązane efekty kierunkowe:
FT2_U06, FT2_U08
Powiązane efekty obszarowe:
X2A_U02, X2A_U04, T2A_U09, T2A_U08
- Efekt WPRR_U03
- Potrafi zidentyfikować problemy, do rozwiązania których można wykorzystać programowanie równoległe lub rozproszone.
Weryfikacja: zadania laboratoryjne
Powiązane efekty kierunkowe:
FT2_U11
Powiązane efekty obszarowe:
X2A_U04, T2A_U12
Profil ogólnoakademicki - kompetencje społeczne
- Efekt WPRR_K01
- Potrafi identyfikować najważniejsze elementy postawionego problemu i dobierać do nich optymalne rozwiązania.
Weryfikacja: zadania laboratoryjne,
zadanie domowe
Powiązane efekty kierunkowe:
FT2_K05
Powiązane efekty obszarowe:
X2A_K03, T2A_K04, T2A_K05
- Efekt WPRR_K02
- Potrafi współpracować i tworzyć rozwiązania problemów w grupie.
Weryfikacja: zadania laboratoryjne,
zadanie domowe
Powiązane efekty kierunkowe:
FT2_K04
Powiązane efekty obszarowe:
X2A_K02, T2A_K03