Навигација

СИ3КДП - Конкурентно и дистрибуирано програмирање

Спецификација предмета
НазивКонкурентно и дистрибуирано програмирање
АкронимСИ3КДП
Студијски програмСофтверско инжењерство
Модул
Тип студијаосновне академске студије
Наставник (предавач)
    Наставник/сарадник (вежбе)
    Наставник/сарадник (ДОН)
    Број ЕСПБ6.0Статус предметаобавезан
    Условљност другим предметимаПрограмирање 1 и Објектно оријентисано програмирање 2
    Циљеви изучавања предметаУпознавање студената са основним концептима конкурентног и дистрибуираног програмирања. Увођење појма различитих нивоа апстракције у конкурентном и дистрибуираном програмирању. Оспособљавање студената за писање конкурентних и дистрибуираних програма за најчешће проблеме у различитим програмским језицима.
    Исходи учења (стечена знања)Поседовање основних знања о концептима, алгоритмима, принципима, проблемима и решењима везаним за конкурентно и дистрибуирано програмирања. Препознавање различитих нивоа апстракције у конкурентном и дистрибуираном програмирању. Оспособљеност студента да у језику Јава самостално пишу једноставне конкурентне и дистрибуиране апликације и да самостално решава најчешће проблеме синхронизације.
    Садржај предмета
    Садржај теоријске наставеКонцепти процеса и синхронизације. Locks и баријере, Tie Breaker, Ticket и Bakery алгоритми. Различити начини имплементације баријера. Семафори. Расподељени бинарни семафори, технике прослеђивања штафете, алокација ресурса. Монитори. Условне променљиве, дисциплине за сигнал, анализа дијаграма стања монитора. Прослеђивање порука. Асинхроно и синхроно прослеђивање порука. Удаљени позиви процедура.
    Садржај практичне наставеКоришћење семафора, монитора, региона и прослеђивања порука за решавање типских проблема: Читаоци и писци, Произвођачи и потрошачи, Мост са једном коловозном траком, Филозофи за ручком, Нервозни пушачи, Берберин који спава, Вожња тобоганом и други. Дистрибуирано програмирање (CSP и Linda). Реализација семафора, условних региона, монитора, прослеђивања порука и удаљеног позива метода у Јави.
    Литература
    1. Захарије Радивојевић, Игор Икодиновић, Зоран Јовановић, Конкурентно и дистрибуирано програмирање, Академска мисао, 2008.
    2. Gregory Andrews, Foundation of Multithreaded, Parallel and Distributed Programming, Addison Wesley, 2000
    3. Зоран Јовановић, Фолије за предавања, http://rti.etf.bg.edu.rs/rti/ri4drs/literatura/
    4. Захарије Радивојевић, Задаци за вежбу, http://rti.etf.bg.edu.rs/rti/ri4drs/literatura/
    Број часова активне наставе недељно током семестра/триместра/године
    ПредавањаВежбеДОНСтудијски и истраживачки радОстали часови
    221
    Методе извођења наставеПредавања, аудиторне вежбе, лабораторијске вежбе, пројекти
    Оцена знања (максимални број поена 100)
    Предиспитне обавезеПоенаЗавршни испитПоена
    Активности у току предавања0Писмени испит30
    Практична настава0Усмени испит0
    Пројекти20
    Колоквијуми50
    Семинари0