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. 2020/2021
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