Subject
Програмски парадигми
| 1. | Course Title |
Програмски парадигми Programming paradigms |
||||||||||||
| 2. | Code | F23L3W038 | ||||||||||||
| 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 | Предавања: 1. Преглед и споредба на императивна, објектно-ориентирана, декларативна и функционална програмска парадигма. 2. Вовед во декларативна програмска парадигма. Исказно сметање. Предикатна логика од прв ред. 3. Основи на логички програмски јазик. Унификација. Пребарување со враќање наназад. 4. Клаузална репрезентација на податочни структури и алгоритми. Рекурзија. Прекини. Негација. 5. Претставување и манипулација со знаење со логички програмски јазик. 6. Вовед во функционална програмска парадигма. Програмирање без странични ефекти. 7. Структурирани податочни типови и нивно процесирање. 8. Функции како објекти од прв ред. Анонимни функции. 9. Функции од повисок ред. Функционални затворања. Карринг. Парцијални функции. 10. Мрзлива евалуација. Бесконечни секвенци. Апстракција на секвенци. 11. Конкурентност и паралелизам 1 12. Конкурентност и паралелизам 2 |
||||||||||||
| 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 |
|