Предмет | Програмирање 3 |
---|---|
Модул | Информациони системи и технологије |
Статус предмета | Изборни предмет |
Катедра | Катедра за софтверско инжењерство |
Број ЕСПБ бодова | 5 |
Овладавање напредним техникама програмирања и коришћења иновативних програмских језика.
Оспособљеност студената да програмирају на напредном нивоу коришћењем иновативних метода, техника, и програмских језика, и овладавање напредним софтверским окружењима за програмирање.
Предавања у учионици уз помоћ рачунара, Интернет-а и open source софтверских алата. Вежбе у рачунарским лабораторијама, у мањим групама. Део вежби изводи наставник а студенти прате, а други део је резервисан за самосталан рад студената, индивидуално или у групи, уз надзор наставника
Теоријска настава
Преглед напредних концепата у програмирању коришћењем програмског језика Clojure на Јава платформи. Интерактивно програмирање и REPL. Функционално програмирање. Функције вишег реда. Мапирање и редукција. Стање и идентитет. Организација пројекта. Евалуација, функције, и макрои. Конкурентно програмирање. Асинхроно програмирање. Вишепараметарски полиморфизам. Макрои и метапрограмирање. Друге актуелне методе и технике програмирања.
Практична настава
Употреба разних софтверских алата за развој програма коришћењем језика Clojure и других одабраних програмских језика. Прављење основних демонстрационих програма коришћењем тих језика. Вежбе понављања 1. Израда специфићних програма који демонстрирају напреднији рад коришћењем тих језика. Вежбе понављања 2. Израда апликација. Вежбе понављања 3. Припрема за испит 1. Припрема за испит 2.
- Сајт предмета са бројним линковима на решене примере, сајтови програмских језика и одговарајућих програмских библиотека који се изучавају у оквиру овог предмета 2020
- Daniel Higginbotham Clojure For the Brave and True No Starch Press 2015
- Russ Olsen Getting Clojure Pragmatic Programmers 2018