Declarative Programming

Major: Software Engineering
Code of subject: 6.121.03.E.064
Credits: 6.00
Department: Software
Lecturer: Assoc.Prof. Levus Yevheniya.
Semester: 7 семестр
Mode of study: денна
Learning outcomes: • knowledge of the basic principles of declarative programming, different than a traditional programming; • knowledge of the main methods and structures that are used in functional and logic programming for writing applications; • the ability to create and debug programs in a declarative programming language that is suitable to computer programming environment.
Required prior and related subjects: Fundamentals of Programming Algorithms and Data Structures Artificial Intelligence Technologies in Data Engineering
Summary of the subject: Programming paradigms. General characteristics of functional programming. The concept of S-expression. Lambda calculus. Basic primitives. Construction of recursive functions.The functions of higher orders. Data driven programming. Prolog - the language of artificial intelligence and analytic transformation. Predicate logic. Backtracking. Term. Facts. Rule. Recursive forms of data and programs. Control of backtracking. Processing of structured information.
Assessment methods and criteria: • current control includes the defense of 6 laboratory works with written reports, interviews (2+4+4+5+5+5=25 %) and test (20%); Deadlines are set for the protection of laboratory points. Outside the deadlines, the work is estimated at 0 points; • final control - exam: written form and interviews (50+5=55%).
Recommended books: 1. Zayats V.M, Zayats M,M Logical and functional programming. System approach. Textbook. - 2nd edition, corr. and add. - Rivne: NUVGP, 2018. - 422 p.[In Ukrainian] 2. Shevchenko I.V Functional and logical programming (Part 1. Functional programming) / I.V. Shevchenko, Yu.A. Кузнецова, М.О. Somochkin-Teaching. manual for laboratory work. - Kharkiv: Nat. aerospace University "Kharkiv.aviats. Inst. ”, 2020. –92p. [In Ukrainian] 3. J. R. Fisher. Introduction Prolog Tutorial [Electronic resource]. - Access mode: 4. Visual Prolog. Multi paradigm programming language [Electronic resource]. - Access mode: 5. PLT Scheme is a Racket [Electronic resource]. - Access mode: