Функционално програмирање Шифра: 150411 | 6 ЕСПБ
Опште информације
Ниво студија:
Година студија:
3
Семестар/Триместар:
6
Услов:
Нема.
Циљ:
Основни циљ предмета је да се код студента развије приступ за разумевање и решавање програмерских задатака из функционалног програмирања.
Исход:
Студент ће бити оспособљен да практично користи програмске језике Python и LISP за решавање програмерских задатака коришћењем функционалног програмирања.
Садржај предмета
Теоријска настава:
- Python: Синтакса, типови променљивих, основни оператори. Модули.
- Python: Стратегије управљања. Модул math.
- Python: Петље, стрингови, листе, н-торке, речници. Модул random.
- Python: Mодул datetime. Модул calendar. Модул os.
- Python: Класе, објекти.
- Python: Регуларни изрази. Модул re.
- Python: Приступ базама података. Modul pymysql. Модул sqlite3.
- Python: CGI. Модул cgi.
- Python: Умрежавање. Модул socket. Слање електронске поште. Модул smtplib.
- Python: Конкурентно програмирање. Модул threading.
- Python: JSON процесирање. Модул json.
- Python: GUI. Tkinter. Mодул tkinter.
- Python: Мапе, филтери, редукције, ламбда.
- Lisp: Oсновни типови и основне примитиве, процедуре, setf, let, let*, предикати. Стратегије управљања: условне форме, понављање рекурзијом, понављање пресликавањем, понављање итерацијом.
- Lisp: Логичке операције, апстракције података. Прототипови рекурзивних операција, процедуре као аргументи процедура. Посебни аргументи. Подаци: својства, улаз, излаз.
Практична настава:
- Решавање програмерских задатака коришћењем програмских језика LISP и Python у развојним окружењима PyCharm и LispWorks.
Литература
- Steven Lott: "Functional Python Programming", Packt Publishing, 2015.
- David S. Touretzky: "Common Lisp: A Gentle Introduction to Symbolic Computation", Dover Publications, 2013.
Број часова активне наставе (недељно)
Предавања:
3
Вежбе:
2
Други облици наставе:
0
Оцена знања (максималан број поена 100)
Предиспитне обавезе
Поени
активности у току предавања
0
активности на лабораторијским вежбама
10
семинарски рад
0
колоквијум
60
Завршни испит
Поени
Писмени испит
30
Усмени испит
0