Subject
Програмски парадигми
| 1. | Наслов на наставниот предмет |
Програмски парадигми Programming paradigms |
||||||||||||
| 2. | Код | F23L3W038 | ||||||||||||
| 3. | Студиска програма | Компјутерски науки | ||||||||||||
| 4. | Организатор на студиската програма (единица, односно институт, катедра, оддел) | Факултет за информатички науки и компјутерско инженерство | ||||||||||||
| 5. | Степен (прв, втор, трет циклус) | Прв циклус | ||||||||||||
| 6. | Академска година / семестар | 7 / Зимски | ||||||||||||
| 7. | Број на ЕКТС кредити | 6 | ||||||||||||
| 8. | Наставник | Емил Станков, Кире Триводалиев, Миле Јованов | ||||||||||||
| 9. | Предуслови за запишување на предметот | Алгоритми и податочни структури или Примена на алгоритми и податочни структури | ||||||||||||
| 10. | Цели на предметната програма (компетенции) | Целта на овој курс е запознавање на студентите со програмски парадигми различни од императивната и објектно-ориентираната, со фокус на декларативната и функционалната програмска парадигма. По завршувањето на курсот студентите треба да бидат способни да: Споредуваат различни програмски парадигми и да изберат соодветна за даден проблем, Користат логички програмски јазик за имплементација на ефикасни алгоритми, Користат логички програмски јазик за репрезентација и манипулација со знаење, Користат функционален програмски јазик за пишување на програми без странични ефекти, Разбираат и користат функции од прв и повисок ред, функционални затворања, мрзлива евалуација и апстракција на секвенци, Разбираат и пишуваат едноставни конкурентни програми | ||||||||||||
| 11. | Содржина на предметната програма | Предавања: 1. Преглед и споредба на императивна, објектно-ориентирана, декларативна и функционална програмска парадигма. 2. Вовед во декларативна програмска парадигма. Исказно сметање. Предикатна логика од прв ред. 3. Основи на логички програмски јазик. Унификација. Пребарување со враќање наназад. 4. Клаузална репрезентација на податочни структури и алгоритми. Рекурзија. Прекини. Негација. 5. Претставување и манипулација со знаење со логички програмски јазик. 6. Вовед во функционална програмска парадигма. Програмирање без странични ефекти. 7. Структурирани податочни типови и нивно процесирање. 8. Функции како објекти од прв ред. Анонимни функции. 9. Функции од повисок ред. Функционални затворања. Карринг. Парцијални функции. 10. Мрзлива евалуација. Бесконечни секвенци. Апстракција на секвенци. 11. Конкурентност и паралелизам 1 12. Конкурентност и паралелизам 2 |
||||||||||||
| 12. | Методи на учење | Предавања со користење на презентации, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа. | ||||||||||||
| 13. | Вкупен расположив фонд на време | 6 ЕКТС x 30 часа = 180 часа | ||||||||||||
| 14. | Распределба на расположивото време | 30 + 45 + 15 + 15 + 75 = 180 часа | ||||||||||||
| 15. | Форми на наставните активности |
|
||||||||||||
| 16. | Други форми на активности |
|
||||||||||||
| 17. | Начин на оценување |
|
||||||||||||
| 18. | Критериуми за оценување (бодови/ оценка) |
|
||||||||||||
| 19. | Услов за потпис и полагање на завршен испит | Реализирани активности 15.2 и 16.1 | ||||||||||||
| 20. | Јазик на кој се изведува наставата | Македонски и англиски | ||||||||||||
| 21. | Метод на следење на квалитетот на наставата | механизам на интерна евалуација и анкети | ||||||||||||
| 22. | Литература |
|