Programming paradigms

Course: System Analysis

Structural unit: Faculty of Computer Science and Cybernetics

Title
Programming paradigms
Code
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2021/2022
Semester/trimester when the component is delivered
3 Semester
Number of ECTS credits allocated
7
Learning outcomes
To know the essence and basis of the paradigm of functional programming, to know the means of supporting the functional style of programming and their presentation in the Haskell programming language. To know the essence and basis of the paradigm of logical programming, to know the means of supporting the logical style of programming. Know the essence of declarative tools for object-oriented paradigm, know the tools of declarative programming for .Net and Java. Be able to apply a functional programming style using the Haskell programming language. Be able to apply logical programming using Prolog processors, in particular SWIProlog. Be able to use declarative programming tools for .Net and Java. Argue your own choice of approaches to solving the problem, communicate with colleagues on design and development
Form of study
Full-time form
Prerequisites and co-requisites
1. Know: basic concepts and concepts of programming, algebra and mathematical analysis at the basic level (the volume of the first year of university), the essence of the concept of algorithm. 2. Be able to: create programs in any language, read and analyze mathematical texts, implement simple algorithms. 3. Have basic skills: working with a computer, searching for information on the Internet, using translation systems.
Course content
The subject "Object-Oriented Programming" is a component of the educational-professional training program for the first (bachelor's) level of higher education. It examines the advantages and disadvantages of object-oriented approach, considers approaches to effective software development, practices the use of tools for industrial software development, version control systems. There is also a development of skills to implement algorithms and learn the basics of complexity analysis. The course is taught in the 3rd and 4th semesters of the 2nd year in the amount of 210 hours. (7 ECTS credits) in particular: lectures - 54 hours, laboratory - 48 hours, consultations - 2 hours, independent work - 106 hours. The course includes 3 parts and 3 tests. Semester 3 ends with a test, semester 4 ends with an exam.
Recommended or required reading and other learning resources/tools
1. Lipovacha M. Study Haskell for good! M .: DMK Press, 2012. 2. Lipovača M. Learn You a Haskell for Great Good! Miran Lipovača. : No Starch Press », 2011. 3. Dushkin RV Functional programming in Haskell. M .: DMK Press, 2007. 4. Bratko I. PROLOG programming for artificial intelligence. M .: Mir, 1990. 5. Chen Ch., Li R. Mathematical logic and automatic proof of theorems. M .: Nauka, 1983. 6. Marcellus D. Programming of expert systems on Turbo-Prologue, M., Finance and Statistics, 1994. 410p. 7. Hochgurtl B., C # and Java: cross-platform Web services, M., Kuditz-image, 2004, 410p. 8. Mashnin TS Java Web Services, BHV-Petersburg, 2012, 560 p.
Planned learning activities and teaching methods
Lecture, laboratory work, independent work
Assessment methods and criteria
Test work, exam.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Mykhailo Mykhailovich Sharapov
Applied Statistics
Faculty of Computer Science and Cybernetics

Departments

The following departments are involved in teaching the above discipline

Applied Statistics
Faculty of Computer Science and Cybernetics