СИ3КДП - Конкурентно и дистрибуирано програмирање
| Спецификација предмета | ||||
|---|---|---|---|---|
| Назив | Конкурентно и дистрибуирано програмирање | |||
| Акроним | СИ3КДП | |||
| Студијски програм | Софтверско инжењерство | |||
| Модул | ||||
| Тип студија | основне академске студије | |||
| Наставник (предавач) | ||||
| Наставник/сарадник (вежбе) | ||||
| Наставник/сарадник (ДОН) | ||||
| Број ЕСПБ | 6.0 | Статус предмета | обавезан | |
| Условљност другим предметима | Програмирање 1 и Објектно оријентисано програмирање 2 | |||
| Циљеви изучавања предмета | Упознавање студената са основним концептима конкурентног и дистрибуираног програмирања. Увођење појма различитих нивоа апстракције у конкурентном и дистрибуираном програмирању. Оспособљавање студената за писање конкурентних и дистрибуираних програма за најчешће проблеме у различитим програмским језицима. | |||
| Исходи учења (стечена знања) | Поседовање основних знања о концептима, алгоритмима, принципима, проблемима и решењима везаним за конкурентно и дистрибуирано програмирања. Препознавање различитих нивоа апстракције у конкурентном и дистрибуираном програмирању. Оспособљеност студента да у језику Јава самостално пишу једноставне конкурентне и дистрибуиране апликације и да самостално решава најчешће проблеме синхронизације. | |||
| Садржај предмета | ||||
| Садржај теоријске наставе | Концепти процеса и синхронизације. Locks и баријере, Tie Breaker, Ticket и Bakery алгоритми. Различити начини имплементације баријера. Семафори. Расподељени бинарни семафори, технике прослеђивања штафете, алокација ресурса. Монитори. Условне променљиве, дисциплине за сигнал, анализа дијаграма стања монитора. Прослеђивање порука. Асинхроно и синхроно прослеђивање порука. Удаљени позиви процедура. | |||
| Садржај практичне наставе | Коришћење семафора, монитора, региона и прослеђивања порука за решавање типских проблема: Читаоци и писци, Произвођачи и потрошачи, Мост са једном коловозном траком, Филозофи за ручком, Нервозни пушачи, Берберин који спава, Вожња тобоганом и други. Дистрибуирано програмирање (CSP и Linda). Реализација семафора, условних региона, монитора, прослеђивања порука и удаљеног позива метода у Јави. | |||
| Литература | ||||
| ||||
| Број часова активне наставе недељно током семестра/триместра/године | ||||
| Предавања | Вежбе | ДОН | Студијски и истраживачки рад | Остали часови |
| 2 | 2 | 1 | ||
| Методе извођења наставе | Предавања, аудиторне вежбе, лабораторијске вежбе, пројекти | |||
| Оцена знања (максимални број поена 100) | ||||
| Предиспитне обавезе | Поена | Завршни испит | Поена | |
| Активности у току предавања | 0 | Писмени испит | 30 | |
| Практична настава | 0 | Усмени испит | 0 | |
| Пројекти | 20 | |||
| Колоквијуми | 50 | |||
| Семинари | 0 | |||

