Programming paradigms
1. |
Subject title |
Programming paradigms Програмски парадигми |
|||||||||||||||||||||||||||||||||
2. |
Code |
F23L3W038 |
|||||||||||||||||||||||||||||||||
3. |
Study program |
Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерско инженерство, Интернет, мрежи и безбедност, Информатичка едукација, Software engineering and information systems, Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Интернет, мрежи и безбедност, Software engineering and information systems, Стручни студии за програмирање, Стручни студии за програмирање, Компјутерски науки, Bioinformatics, |
|||||||||||||||||||||||||||||||||
4. |
Organizer of the study program (unit, institute, department, division) |
Faculty of Information Sciences and Computer Engineering |
|||||||||||||||||||||||||||||||||
5. |
Study cycle (first, second, third) |
Прв циклус |
|||||||||||||||||||||||||||||||||
6. |
Academic year / semester 4 / Зимски |
7. Number of ECTS credits 6.0 |
|||||||||||||||||||||||||||||||||
8. |
Instructor |
доц. д-р Емил Станков проф. д-р Кире Триводалиев проф. д-р Миле Јованов |
|||||||||||||||||||||||||||||||||
9. |
Prerequisites for enrollment |
Алгоритми и податочни структури или Примена на алгоритми и податочни структури |
|||||||||||||||||||||||||||||||||
10. |
Subject goals and competencies: The aim of this course is to acquaint students with programming paradigms other than imperative and object-oriented, with a focus on declarative and functional programming paradigms. After completing the course, students should be able to: Compare different programming paradigms and choose the appropriate one for a given problem, Use a logical programming language to implement efficient algorithms, Use a logical programming language for knowledge representation and manipulation, Use a functional programming language for writing of programs without side effects, Understand and use first and higher order functions, functional closures, lazy evaluation and sequence abstraction, Understand and write simple concurrent programs
|
||||||||||||||||||||||||||||||||||
11. |
Subject content: Предавања: 1. Преглед и споредба на императивна, објектно-ориентирана, декларативна и функционална програмска парадигма. 2. Вовед во декларативна програмска парадигма. Исказно сметање. Предикатна логика од прв ред. 3. Основи на логички програмски јазик. Унификација. Пребарување со враќање наназад. 4. Клаузална репрезентација на податочни структури и алгоритми. Рекурзија. Прекини. Негација. 5. Претставување и манипулација со знаење со логички програмски јазик. 6. Вовед во функционална програмска парадигма. Програмирање без странични ефекти. 7. Структурирани податочни типови и нивно процесирање. 8. Функции како објекти од прв ред. Анонимни функции. 9. Функции од повисок ред. Функционални затворања. Карринг. Парцијални функции. 10. Мрзлива евалуација. Бесконечни секвенци. Апстракција на секвенци. 11. Конкурентност и паралелизам 1 12. Конкурентност и паралелизам 2 |
||||||||||||||||||||||||||||||||||
12. |
Learning methods: Предавања со користење на презентации, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа. |
||||||||||||||||||||||||||||||||||
13. |
Total available time fund |
6.0 ECTS x 30 hours = 180 hours |
|||||||||||||||||||||||||||||||||
14. |
Time distribution |
30 + 45 + 15 + 15 + 75 = 180 hours
|
|||||||||||||||||||||||||||||||||
15. |
Forms of teaching activities |
15.1. |
Lectures - theoretical teaching |
30 hours |
|||||||||||||||||||||||||||||||
15.2. |
Exercises (laboratory, classroom), seminars, team work |
45 hours |
|||||||||||||||||||||||||||||||||
16. |
Other forms of activities |
16.1. |
Project tasks |
15 hours
|
|||||||||||||||||||||||||||||||
16.2. |
Independent tasks |
15 hours |
|||||||||||||||||||||||||||||||||
16.3. |
Homework |
75 hours |
|||||||||||||||||||||||||||||||||
17. |
Grading method |
||||||||||||||||||||||||||||||||||
17.1. |
Tests |
10 points |
|||||||||||||||||||||||||||||||||
17.2. |
Seminar work / project (presentation: written and oral) |
15 points |
|||||||||||||||||||||||||||||||||
17.3. |
Activities and learning |
10 points |
|||||||||||||||||||||||||||||||||
17.4. |
Final exam |
70 points |
|||||||||||||||||||||||||||||||||
18. |
Grading criteria (points / grade) |
up to 50 points |
5 (five) (F) |
||||||||||||||||||||||||||||||||
from 51 to 60 points |
6 (six) (E) |
||||||||||||||||||||||||||||||||||
from 61 to 70 points |
7 (seven) (D) |
||||||||||||||||||||||||||||||||||
from 71 to 80 points |
8 (eight) (C) |
||||||||||||||||||||||||||||||||||
from 81 to 90 points |
9 (nine) (B) |
||||||||||||||||||||||||||||||||||
from 91 to 100 points |
10 (ten) (A) |
||||||||||||||||||||||||||||||||||
19. |
Condition for signature and taking final exam |
Реализирани активности 15.2 и 16.1 |
|||||||||||||||||||||||||||||||||
20. |
Language of instruction |
Македонски и англиски |
|||||||||||||||||||||||||||||||||
|
21. |
Quality assurance method |
механизам на интерна евалуација и анкети
|
|||||||||||||||||||||||||||||||||
22. |
Literature |
||||||||||||||||||||||||||||||||||
22.1. |
Mandatory literature |
||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
|
22.2. |
Additional literature |
|
|||||||||||||||||||||||||||||||||
