Paradigms and programming technologies

Course: Informatics

Structural unit: Faculty of Computer Science and Cybernetics

Title
Paradigms and programming technologies
Code
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
7 Semester
Number of ECTS credits allocated
4
Learning outcomes
PLO16. Perform parallel and distributed calculations, apply numerical methods and algorithms for parallel structures, parallel programming languages in the development and operation of parallel and distributed software. PLO18.2. Analyze, evaluate and select tools and computing tools, paradigms, technologies, algorithmic and software solutions in the design and development of software systems.
Form of study
Prerequisites and co-requisites
1. Know: general concepts of programming languages (syntax, program semantics, object-oriented programming style), basics of algorithm theory (recursive functions and recursive calculations), basic concepts of mathematical logic, in particular, the concept of resolvent, resolute inference. 2. Be able to: use a variety of environments for developing, editing and executing programs. 3. Have basic skills: specifications and programming of recursive calculations.
Course content
The purpose of the discipline is to master the skills of designing and developing software systems using various programming paradigms with appropriate data structures, management mechanisms and technologies. As a result of studying the discipline the student must know: the essence and basis of the paradigm of logical programming and the paradigm of functional programming, the basic constructions of programming languages Prolog and Haskell, the essence of declarative tools for object-oriented paradigm; be able to: apply logical and functional programming styles when solving programming problems; use known and create their own declarative programming tools for object-oriented paradigms, in particular for Java and .Net platforms.
Recommended or required reading and other learning resources/tools
1. Lipovača M. Learn You a Haskell for Great Good! Miran Lipovača. : No Starch Press», 2011, 383p. 2. Bratko I., Prolog Programming for Artificial Intelligence (4th Edition), 2011, 442p. 3. Marcellus D. Expert Systems Programming in Turbo Prolog, 1989, 227p. 4. Snell J., Tidwell D., Kulchenko P., Programming Web Services With SOAP, 2002, 237p. 5. O'Sullivan B., Goerzen J., Stewart D. Real World Haskell 1st Edition, 2008, 671p.
Planned learning activities and teaching methods
Lectures, laboratory classes, independent work, tests, defense of laboratory work, exam.
Assessment methods and criteria
- Semester assessment: 1. Tests: LO 1.1., LO 1.2, LO 1.3 — 18(6+6+6)/10,8 points. 2. Protection of laboratory works: LO 2.1 –– 14/8,4 points. 3. Protection of laboratory works: LO 2.2 –– 18/10,8 points. 4. Protection of laboratory works: LO 2.3 –– 10/6 points.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Departments

The following departments are involved in teaching the above discipline