Programming paradigms and technologies

Course: Informatics

Structural unit: Faculty of Computer Science and Cybernetics

Title
Programming paradigms and technologies
Code
ВК.2.03
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2022/2023
Semester/trimester when the component is delivered
6 Semester
Number of ECTS credits allocated
4
Learning outcomes
PLO 18.2. Know and be able to apply software quality assessment and quality assurance approaches. PLO 19.2. Analyze, evaluate and choose instrumental and computing tools, paradigms, technologies, algorithmic and software solutions in the design and development of software systems.
Form of study
Distance form
Prerequisites and co-requisites
Know: general concepts of programming languages ​​(syntax, semantics of programs, object-oriented programming style), basics of algorithm theory (recursive functions and recursive calculations), basic concepts of mathematical logic, in particular, the concepts of resolvent, resolute inference. Be able to: use various development, editing and execution environments for programs. Possess elementary skills: specifications and programming of recursive calculations.
Course content
The goal of the discipline is to mastering basic knowledge of such programming paradigms: functional, logical, declarative compared to the object-oriented paradigm. Mastering the skills of designing and developing software systems using various programming paradigms with appropriate data structures, management mechanisms and technologies. The educational discipline "Paradigms and technologies of programming" is a component of the program of training specialists at the first (bachelor's) level of higher education in the field of knowledge 12 "Information technologies" from the specialty 122 "Computer science", educational and professional program - "Informatics". This discipline is an educational discipline chosen by the educational and professional program "Informatics", selective block "Theory and technology of programming". It is taught in the 6th semester of the 3rd year in the amount of 120 hours (4 ECTS credits), in particular: lectures – 42 hours, consultations – 2 hours, independent work – 76 hours. The course includes 3 parts. The discipline ends with an exam.
Recommended or required reading and other learning resources/tools
1. 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. 2. Lipovača M. Learn You a Haskell for Great Good! Miran Lipovača. : No Starch Press», 2011, 383p. 3. Bratko I., Prolog Programming for Artificial Intelligence (4th Edition), 2011, 442p.
Planned learning activities and teaching methods
Lectures, laboratory work, independent work.
Assessment methods and criteria
Semester assessment: 1. Tests: PH 1.1., PH 1.2, PH 1.3 — 6/3.6 points each. 2. Independent laboratory work 1: PH 2.1 –– 14(4+4+6)/8.4 points. 3. Independent laboratory work 2: PH 2.2 –– 18(5+5+8)/10.8 points. 4. Independent laboratory work 3: PH 2.3 –– 10(3+3+4)/6 points. Final assessment (in the form of an exam): - maximum number of points that can be obtained by a student: 40 points; - learning outcomes that will be assessed: PH1.1, PH1.2, PH1.3, PH2.1, PH2.2, PH2.3; - form of conduct and types of tasks: written work. Structure of the examination work and assessment criteria: 2 theoretical questions (8 points each), 2 tasks (12 points each)
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Olena V. Shyshatska
Theory and Technology of Programming
Faculty of Computer Science and Cybernetics

Departments

The following departments are involved in teaching the above discipline

Theory and Technology of Programming
Faculty of Computer Science and Cybernetics