13С113КДП - Конкурентно и дистрибуирано програмирање
Спецификација предмета | ||||
---|---|---|---|---|
Назив | Конкурентно и дистрибуирано програмирање | |||
Акроним | 13С113КДП | |||
Студијски програм | Софтверско инжењерство | |||
Модул | ||||
Тип студија | основне академске студије | |||
Наставник (предавач) | ||||
Наставник/сарадник (вежбе) | ||||
Наставник/сарадник (ДОН) | ||||
Број ЕСПБ | 6.0 | Статус предмета | обавезан | |
Условљност другим предметима | Програмирање 1, Објектно оријентисано програмирање 2 | |||
Циљеви изучавања предмета | Упознавање студената са основним концептима конкурентног и дистрибуираног програмирања. Увођење појма различитих нивоа апстракције у конкурентном и дистрибуираном програмирању. Оспособљавање студената за писање конкурентних и дистрибуираних програма за најчешће проблеме у различитим програмским језицима. | |||
Исходи учења (стечена знања) | Поседовање основних знања о концептима, алгоритмима, принципима, проблемима и решењима везаним за конкурентно и дистрибуирано програмирања. Препознавање различитих нивоа апстракције у конкурентном и дистрибуираном програмирању. Оспособљеност студента да у језику Јава самостално пишу једноставне конкурентне и дистрибуиране апликације и да самостално решава најчешће проблеме синхронизације. | |||
Садржај предмета | ||||
Линк ка страници предмета | https://rti.etf.bg.edu.rs/rti/ir3kdp/index.html | |||
Линк ка предавањима | https://teams.microsoft.com/l/team/19%3a_iAFxut2Yo_jMhspRU1jwImn3k6rYnUs9uGMG4SocZA1%40thread.tacv2/conversations?groupId=11278807-cc07-44ca-9648-55a459b55a89&tenantId=1774ef2e-9c62-478a-8d3a-fd2a495547ba | |||
Садржај теоријске наставе | Концепти процеса и синхронизације. Locks и баријере, Tie Breaker, Ticket и Bakery алгоритми. Различити начини имплементације баријера. Семафори. Расподељени бинарни семафори, технике прослеђивања штафете, алокација ресурса. Монитори. Условне променљиве, дисциплине за сигнал, анализа дијаграма стања монитора. Прослеђивање порука. Асинхроно и синхроно прослеђивање порука. Удаљени позиви процедура. | |||
Садржај практичне наставе | Коришћење семафора, монитора, региона и прослеђивања порука за решавање типских проблема: Читаоци и писци, Произвођачи и потрошачи, Мост са једном коловозном траком, Филозофи за ручком, Нервозни пушачи, Берберин који спава, Вожња тобоганом и други. Дистрибуирано програмирање (CSP и Linda). Реализација семафора, условних региона, монитора, прослеђивања порука и удаљеног позива метода у Јави. | |||
Литература | ||||
| ||||
Број часова активне наставе недељно током семестра/триместра/године | ||||
Предавања | Вежбе | ДОН | Студијски и истраживачки рад | Остали часови |
2 | 2 | 1 | ||
Методе извођења наставе | Предавања, аудиторне вежбе, лабораторијске вежбе, пројекти | |||
Оцена знања (максимални број поена 100) | ||||
Предиспитне обавезе | Поена | Завршни испит | Поена | |
Активности у току предавања | 0 | Писмени испит | 30 | |
Практична настава | 20 | Усмени испит | 0 | |
Пројекти | 0 | |||
Колоквијуми | 50 | |||
Семинари | 0 |