Subject
Програмски парадигми
| 1. | Course Title |
Програмски парадигми Programming paradigms |
||||||||||||
| 2. | Code | F18L3W038 | ||||||||||||
| 3. | Study Programme | Computer Science | ||||||||||||
| 4. | Organizer of the study programme (unit, institute, department or division) | Faculty of Computer Science and Engineering | ||||||||||||
| 5. | Degree level (first, second, third cycle) | Прв циклус | ||||||||||||
| 6. | Academic year / semester | 7 / Зимски | ||||||||||||
| 7. | Number of ECTS credits | 6 | ||||||||||||
| 8. | Teacher | — | ||||||||||||
| 9. | Prerequisites for enrolling in the course | Алгоритми и податочни структури | ||||||||||||
| 10. | Objectives of the course programme (competences) | Целта на овој курс е запознавање на студентите со програмски парадигми различни од императивната и објектно-ориентираната, со фокус на декларативната и функционалната програмска парадигма. По завршувањето на курсот студентите треба да бидат способни да: Споредуваат различни програмски парадигми и да изберат соодветна за даден проблем, Користат логички програмски јазик за имплементација на ефикасни алгоритми, Користат логички програмски јазик за репрезентација и манипулација со знаење, Користат функционален програмски јазик за пишување на програми без странични ефекти, Разбираат и користат функции од прв и повисок ред, функционални затворања, мрзлива евалуација и апстракција на секвенци, Разбираат и пишуваат едноставни конкурентни програми | ||||||||||||
| 11. | Course content | Преглед и споредба на императивна, објектно-ориентирана, декларативна и функционална програмска парадигма. Вовед во декларативна програмска парадигма. Исказно сметање. Предикатна логика од прв ред. Основи на логички програмски јазик. Унификација. Пребарување со враќање наназад. Клаузална репрезентација на податочни структури и алгоритми. Рекурзија. Прекини. Негација. Претставување и манипулација со знаење со логички програмски јазик. Вовед во функционална програмска парадигма. Програмирање без странични ефекти. Структурирани податочни типови и нивно процесирање. Функции како објекти од прв ред. Анонимни функции. Функции од повисок ред. Функционални затворања. Карринг. Парцијални функции. Мрзлива евалуација. Бесконечни секвенци. Апстракција на секвенци. Конкурентност и паралелизам | ||||||||||||
| 12. | Learning methods | Предавања со користење на презентации, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа. | ||||||||||||
| 13. | Total available time | 6 ECTS x 30 hours = 180 hours | ||||||||||||
| 14. | Distribution of available time | 30 + 45 + 15 + 15 + 75 = 180 часа | ||||||||||||
| 15. | Forms of teaching activities |
|
||||||||||||
| 16. | Other forms of activities |
|
||||||||||||
| 17. | Assessment method |
|
||||||||||||
| 18. | Grading criteria (points / grade) |
|
||||||||||||
| 19. | Requirement for obtaining a signature and taking the final exam | Реализирани актибвности 15.2 и 16.1 | ||||||||||||
| 20. | Language of instruction | Macedonian and English | ||||||||||||
| 21. | Method for monitoring the quality of teaching | internal evaluation and survey mechanism | ||||||||||||
| 22. | Literature |
|