×
Универзитет у Новом Саду

Предмет: Напредне технике програмирања (17.SIT060)

Основне информације:
 
Категорија Стручни
Ужа научна област Примењене рачунарске науке и информатика
ЕСПБ 7

Упознавање студената са напредним техникама програмирања и савладавање основних теоријских знања и техника. Оспособљавање студената за анализу и примену адекватне методологије програмирања за постављени задатак и уочавање предности и мана различитих методологија.

По окончању предмета студенти су способни да разумеју различите методологије програмирања, терминологију из ове области, анализирају и примене адекватне методологије и технике за постављен задатак и критички евалуирају решење и наведу предности и недостатке. Такође су оспособљени за практичну употребу одређених техника и алата у домену напредних методологија програмирања.

Теоријска настава: методологије и модели програмирања: објектно-оријентисано, императивно, деларативно, програмирање оријентисано ка процесима, функционално, конкурентно, програмирање вођено догађајима (event-driven programming), кориснички оријентисано (end-user programming). Технике и појмови: итератори, генератори, корутине, mixins, лења евалуација, прототипи, мета-програмирање, систем типова. Функционално програмирање: ламбда цалцулус, непромењивост (immutability), пропратни ефекти (side-effects), функције вишег реда, рекурзија;алгоритми за обраду великих количина податка – (map-reduce); функционални програмски језици (Lisp, Scheme, Clojure, Haskel, Erlang). Програмирање оријентисано ка аспектима (Aspect-Oriented Programming – AOP). Скрипт језици и динамичко програмирање. Програмски језици са више парадигми (multi-paradigm) - Python/Jython, Java, Scala, C++. Употреба и комбиновање више програмских језика (language polyglotism): механизми интеграције, интеграционе платформе, конверзије типова, алати. Практична настава: обука за коришћење и практичну примену програмских језика, техника и алата базираних на различитим методологијама и програмским моделима. Примена наученог у имплементацији пројектог задатка уз употребу различитих програмских језика, техника и алата и интеграција програмског кода у јединствено решење.

Предавања; Рачунарске вежбе; Консултације. Решавање пројектног задатка кроз рад у оквиру пројектних тимова. Последњих недеља семестра организују се јавне презентације пројектних задатака најуспешнијих тимова и дискутују се постигнути резултати. Одбрана пројекта је усмена. Завршни испит је усмени. Оцена испита се формира на основу успеха са одбране пројектног задатка и завршног усменог испита.

Аутори Назив Година Издавач Језик
Doxsey, C. An Introduction to Programming in Go 2012 Caleb Doxsey - selfpublished Енглески
Poppendieck, M., Poppendieck, T. Implementing lean software development 2007 Addison-Wesley, Upper Saddle River Енглески
Ducasse, S., Zagidulin, D., Hess, N., Chloupis, D. Pharo by Example 2017 Square Brackets Associates Енглески
Poppendieck, M., Poppendieck, T. Leading lean software development 2010 Addison-Wesley, Upper Saddle River Енглески
Poppendieck, M., Poppendieck, T. Lean Software Development : An Agile Toolkit 2003 Addison-Wesley, Upper Saddle River Енглески
Chassell, R.J. Introduction to Programming in Emacs Lisp 2009 GNU Press Енглески
Doxsey, C. An Introduction to Programming in Go 2012 Caleb Doxsey - selfpublished Енглески
Ducasse, S., Zagidulin, D., Hess, N., Chloupis, D. Pharo by Example 2017 Square Brackets Associates Енглески
Малбашки, Д. Одабрана поглавља метода програмирања 2002 Технички факултет, Зрењанин  Српски језик
Предметна активност Предиспитна Обавезна Број поена
Предметна активност
Предметни пројекат
Предиспитна
Да
Обавезна
Да
Број поена
50.00
Предметна активност
Теоријски део испита
Предиспитна
Не
Обавезна
Да
Број поена
50.00
API Image

проф. др Игор Дејановић

Редовни професор

Предавања

API Image

проф. Милан Сегединац

Редовни професор

Предавања

Рачунарске вежбе