Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Teoria współbieżności
Tok studiów:
2019/2020
Kod:
IINF-1-601-n
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka
Semestr:
6
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Niestacjonarne
Strona www:
 
Prowadzący moduł:
dr inż. Funika Włodzimierz (funika@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Ma teoretyczną wiedzę o podstawowych zasadach konstruowania programów współbieżnych INF1A_W02 Egzamin
M_W002 Wie jak wykorzystać programowanie przy rozwiązywaniu problemów współbieżności INF1A_W03 Egzamin
Umiejętności: potrafi
M_U001 Pozyskuje informacje o metodach rozwiązywania problemów gdzie występuje współbieżność INF1A_U04 Wykonanie ćwiczeń laboratoryjnych
M_U002 Potrafi użyć właściwych metod tworzenia aplikacji INF1A_U06 Wykonanie ćwiczeń laboratoryjnych
M_U003 Potrafi dobrać najbardziej efektywne narzędzia wspierające rozwiązanie problemu INF1A_U07, INF1A_U08 Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne: jest gotów do
M_K001 Potrafi pracować w małym zespole INF1A_K03 Wykonanie ćwiczeń laboratoryjnych
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
32 16 0 16 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Ma teoretyczną wiedzę o podstawowych zasadach konstruowania programów współbieżnych + - - - - - - - - - -
M_W002 Wie jak wykorzystać programowanie przy rozwiązywaniu problemów współbieżności + - - - - - - - - - -
Umiejętności
M_U001 Pozyskuje informacje o metodach rozwiązywania problemów gdzie występuje współbieżność - - + - - - - - - - -
M_U002 Potrafi użyć właściwych metod tworzenia aplikacji - - + - - - - - - - -
M_U003 Potrafi dobrać najbardziej efektywne narzędzia wspierające rozwiązanie problemu - - + - - - - - - - -
Kompetencje społeczne
M_K001 Potrafi pracować w małym zespole - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 125 godz
Punkty ECTS za moduł 5 ECTS
Udział w zajęciach dydaktycznych/praktyka 32 godz
Przygotowanie do zajęć 16 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 30 godz
Samodzielne studiowanie tematyki zajęć 40 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe 5 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (16h):

  1. Pojęcia procesu, programu, współbieżności, jednoczesności, równoległości (2 godz.).
  2. Bezpieczeństwo i żywotność programów współbieżnych, zagłodzenie, zakleszczenie (2 godz.).
  3. Problem wzajemnego wykluczania i jego rozwiązanie. Semafory i monitory (2 godz.).
  4. Problem współpracy, zmienna warunkowa, monitory (2 godz.).
  5. Algebry procesów (2 godz.).
  6. Język CSP (2 godz.).
  7. Podstawy Sieci Petriego (2 godz.)
  8. Języki programowania współbieżnego (2 godz.)

Ćwiczenia laboratoryjne (16h):

  1. Programowanie na wątkach w Javie; wyścig
  2. Zamki w Javie; dyskusja mechanizmów współbieżności w Javie
  3. Organizacja zmiennych warunkowych
  4. Problem pięciu chińskich filozofów
  5. Problem czytelników i pisarzy
  6. Zaawansowane mechanizmy współbieżności w Javie
  7. Projektowanie programów w języku algebry procesów; CSP
  8. Narzędzia do modelowania sieci Petriego

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Sposób obliczania oceny końcowej:

Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny z laboratoriów, która jest średnią arytmetyczną z kartkówek oraz opracowań oraz pozytywnej oceny ze sprawdzianu, którego celem jest wyznaczenie poziomu wiedzy studenta w zakresie podstaw teoretycznych oraz umiejętności zastosowania tej wiedzy do rozwiązywania typowych problemów współbieżności. Ocena ta może być podwyższona jeżeli student wykazuje się aktywnością (dociekliwością) w trakcie wykładu.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Dobra znajomośc programowania w Javie.

Zalecana literatura i pomoce naukowe:
  1. M. Ben Ari, Programowanie wsólbieżne i rozproszone, WNT, 1996
  2. W. Iszkowski, K. Maniecki, Programowanie współbieżne, WNT, 1982
  3. Z. Weiss, P. Gruźlewski, “Programowanie współbieżne w przykładach i zadaniach”, WNT, 1993
  4. C.A.R. Hoare, “Communicating Sequential Processes”, Prentice Hall, 1985
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Smołka M., Schaefer R.; Computing MAS Dynamics Considering the Background Load. Lecture Notes in Computer Science, Vol. 3993, Springer 2006, pp. 799–806.
2. Uhruski P., Toporkiewicz W., Schaefer R., Grochowski M.; The autonomous concurrent strategy for large scale CAE computation. Lecture Notes in Computer Science, Vol. 3993, Springer 2006, pp. 783–790.
3. Uhruski P., Grochowski M., Schaefer R.; A Two-Layer Agent-Based System for Large-Scale Distributed Computation. Computational Intelligence, Vol. 24, No. 3. Blackwell Publishing (August 2008), pp. 191–212.
4. Grochowski M., Schaefer R., Uhruski P.; OCTOPUS – Computation Agents Environment. Inteligencia Artificial, Vol. 9, No. 28, Polytechnic University of Valencia, Spain 2005, pp. 55–62.

Informacje dodatkowe:

Brak