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