Навигација

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

Спецификација предмета
НазивФункционално програмирање
Акроним13М111ФП
Студијски програмЕлектротехника и рачунарство
Модулмодул Софтверско инжењерство
Тип студијамастер академске студије
Наставник (предавач)
Наставник/сарадник (вежбе)
Наставник/сарадник (ДОН)
Број ЕСПБ6.0Статус предметаизборни
Условљност другим предметимаНема формалног услова, потребно је предзнање градива предмета 13С112ОО2.
Циљеви изучавања предметаРазумевање и овладавање концептима функционалног програмирања кроз језик Scala. Специфичности структуре програма код функционалног програмирања и разлика у односу на императивно програмирање. Упознавање техника функционалног програмирања. Развој паралелних функционалних програма.
Исходи учења (стечена знања)По успешно савладаном предмету, студенти ће бити оспособљени да: - разумеју специфичности функционалног програмирања - пишу секвенцијалне или паралелне функционалне програме у језику Scala - користе класе из стандардних Java или Scala библиотека у развоју софтвера
Садржај предмета
Линк ка страници предметаhttp://rti.etf.bg.ac.rs/rti/ms1fp/
Садржај теоријске наставеПреглед језика 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)
Предиспитне обавезеПоенаЗавршни испитПоена
Активности у току предавањаПисмени испит40
Практична наставаУсмени испит
Пројекти20
Колоквијуми40
Семинари