Wykład (30 godzin) + laboratorium/ćwiczenia (30 godzin)
Celem wykładu jest zaprezentowanie najważniejszych technik stosowanych do synchronizacji procesów i realizacji komunikacji między nimi, problemów, jakie stają przed programistą opracowującym programy współbieżne. Omówiony zostanie scentralizowany i rozproszony model programu współbieżnego. Problematyka zostanie zilustrowana przykładami klasycznych problemów współbieżności oraz mechanizmów synchronizacji procesów i wątków w systemie operacyjnym Linux. Przedstawione też zostaną metody weryfikacji programów współbieżnych oraz notacje do opisu współbieżności oraz podstawowe algorytmy rozproszone.