Навигација

13М111ФП - Функционално програмирање

Спецификација предмета
НазивФункционално програмирање
Акроним13М111ФП
Студијски програмЕлектротехника и рачунарство
Модулмодул Аудио и видео комуникације, модул Аудио и видео технологије, модул Биомедицински и еколошки инжењеринг, модул Биомедицинско и еколошко инжењерство, модул Електроенергетски системи Смер - Мреже и системи, модул Електроенергетски системи Смер - Обновљиви извори енергије, модул Електроенергетски системи Смер - Постројења и опрема, модул Електроника, модул Електроника и дигитални системи, модул Енергетска ефикасност, модул Информационо комуникационе технологије, модул Микроталасна техника, модул Наноелектроника и фотоника, модул Примењена математика, модул Рачунарска техника и информатика, модул Сигнали и системи, модул Системско инжењерство и радио комуникације, модул Софтверско инжењерство
Тип студијамастер академске студије
Наставник (предавач)
Наставник/сарадник (вежбе)
Наставник/сарадник (ДОН)
Број ЕСПБ6.0Статус предметаизборни
Условљност другим предметимаНема формалног услова, потребно је предзнање градива предмета 13С112ОО2.
Циљеви изучавања предметаРазумевање и овладавање концептима функционалног програмирања кроз језик Scala. Специфичности структуре програма код функционалног програмирања и разлика у односу на императивно програмирање. Упознавање техника функционалног програмирања. Развој паралелних функционалних програма.
Исходи учења (стечена знања)По успешно савладаном предмету, студенти ће бити оспособљени да: - разумеју специфичности функционалног програмирања - пишу секвенцијалне или паралелне функционалне програме у језику Scala - користе класе из стандардних Java или Scala библиотека у развоју софтвера
Садржај предмета
Садржај теоријске наставеПреглед језика Scala. Променљиве, контролне структуре. Објекти и уникатни (сараднички) објекти. Класе. Функције и контролне апстракције. Омотачки објекти. Својство као средство вишеструке употребе кода. Комбиновање Scala и Java кода, конкурентно програмирање у језику Scala, програмирање графичког корисничког интерфејса употребом Scala Swing пакета.
Садржај практичне наставеАудиторне вежбе. Пројектни задаци. Оцењивање пројектних задатака се врши усменом одбраном уз презентацију.
Литература
  1. Martin Odersky, Lex Spoon, Bill Venners, "Programming in Scala", 2nd ed, Aritma, 2010.
  2. Alvin Alexander, "Scala Cookbook", O'Reilly, 2013.
  3. Harold Abelson, Gerald Jay Sussman, "Structure and Interpretation of Computer Programs", 2nd ed, MIT Press, 1996.
  4. Презентације са предавања из предмета Функционално програмирање
Број часова активне наставе недељно током семестра/триместра/године
ПредавањаВежбеДОНСтудијски и истраживачки радОстали часови
221
Методе извођења наставеПредавања се држе уз електронске презентације. На предавањима се уводе концепти и излаже дефиниција функционалног програмирања и језика Scala. На аудиторним вежбама демонстрирају се практични примери функционалног програмирања на језику Scala.
Оцена знања (максимални број поена 100)
Предиспитне обавезеПоенаЗавршни испитПоена
Активности у току предавањаПисмени испит
Практична наставаУсмени испит30
Пројекти70
Колоквијуми0
Семинари