Subject

Програмски парадигми

1. Наслов на наставниот предмет Програмски парадигми
Programming paradigms
2. Код F18L3W038
3. Студиска програма Компјутерски науки
4. Организатор на студиската програма (единица, односно институт, катедра, оддел) Faculty of Computer Science and Engineering
5. Степен (прв, втор, трет циклус) First Cycle
6. Академска година / семестар 7 / Зимски
7. Број на ЕКТС кредити 6
8. Наставник
9. Предуслови за запишување на предметот Алгоритми и податочни структури
10. Цели на предметната програма (компетенции) Целта на овој курс е запознавање на студентите со програмски парадигми различни од императивната и објектно-ориентираната, со фокус на декларативната и функционалната програмска парадигма. По завршувањето на курсот студентите треба да бидат способни да: Споредуваат различни програмски парадигми и да изберат соодветна за даден проблем, Користат логички програмски јазик за имплементација на ефикасни алгоритми, Користат логички програмски јазик за репрезентација и манипулација со знаење, Користат функционален програмски јазик за пишување на програми без странични ефекти, Разбираат и користат функции од прв и повисок ред, функционални затворања, мрзлива евалуација и апстракција на секвенци, Разбираат и пишуваат едноставни конкурентни програми
11. Содржина на предметната програма Преглед и споредба на императивна, објектно-ориентирана, декларативна и функционална програмска парадигма. Вовед во декларативна програмска парадигма. Исказно сметање. Предикатна логика од прв ред. Основи на логички програмски јазик. Унификација. Пребарување со враќање наназад. Клаузална репрезентација на податочни структури и алгоритми. Рекурзија. Прекини. Негација. Претставување и манипулација со знаење со логички програмски јазик. Вовед во функционална програмска парадигма. Програмирање без странични ефекти. Структурирани податочни типови и нивно процесирање. Функции како објекти од прв ред. Анонимни функции. Функции од повисок ред. Функционални затворања. Карринг. Парцијални функции. Мрзлива евалуација. Бесконечни секвенци. Апстракција на секвенци. Конкурентност и паралелизам
12. Методи на учење Предавања со користење на презентации, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа.
13. Вкупен расположив фонд на време 6 ЕКТС x 30 часа = 180 часа
14. Распределба на расположивото време 30 + 45 + 15 + 15 + 75 = 180 часа
15. Форми на наставните активности
15.1. Предавања - теоретска настава 30 часови
15.2. Вежби (лабораториски, аудиториски), семинари, тимска работа 45 часови
16. Други форми на активности
16.1. Проектни задачи 15 часови
16.2. Самостојни задачи 15 часови
16.3. Домашно учење 75 часови
17. Начин на оценување
17.1. Тестови 10 бодови
17.2. Семинарска работа / проект ( презентација: писмена и усна) 15 бодови
17.3. Активности и учење 10 бодови
17.4. Завршен испит 70 бодови
18. Критериуми за оценување (бодови/ оценка)
до 50 бода5 (пет) (F)
од 51 до 60 бода6 (шест) (E)
од 61 до 70 бода7 (седум) (D)
од 71 до 80 бода8 (осум) (C)
од 81 до 90 бода9 (девет) (B)
од 91 до 100 бода10 (десет) (A)
19. Услов за потпис и полагање на завршен испит Реализирани актибвности 15.2 и 16.1
20. Јазик на кој се изведува наставата Македонски и англиски
21. Метод на следење на квалитетот на наставата механизам на интерна евалуација и анкети
22. Literature
22.1. Задолжителна литература
Ред.бр. Автор Наслов Издавач Година
22.2. Дополнителна литература
Ред.бр. Автор Наслов Издавач Година