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. 2017/2018
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ład450h
  • Ćwiczenia0h
  • Laboratorium225h
  • 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ę