# special courses

*Special courses:*

*Special courses:*

**Compositional semantics of SQL-like languages (Inf.).**

Includes the study of basic concepts: undefined (Boolean) values, (weak) three-value logic (Clean), tables, basic manipulation on tables Kodd type, (extended) model “entity-relationship”, the functional dependency, normal forms, and multiset, composition, sorted table, aggregate functions, grouping (rows table) updated.

Discipline for the unit, 6-th semester, 2 credits.

Lecturer: Professor Dmytro Bui.

The purpose: introduction and assimilation of basic semantic structures of SQL-like language, their practical application in solving practical problems associated with the development and use of tabular databases.

Prerequisites: Student should know: more of Mathematical Logic, Algebra, theory of relational (tabular) databases: Boolean algebra, upper and lower semilattice, commutative semigroups, orders and preorders, equivalence relation and factor sets, Kodd algebra, relational calculus and tuples of domains. The student should be able to: perform standard mathematical proof.

Methods of parallel computing (Inf.).

Includes the study of basic concepts of parallel programming and architecture multiprocessor systems, and formal models of algorithms and complexity of calculations.

Discipline for the unit, 7-th and 8th semesters, 4 credits.

Lecturer: Professor Anatoliy Doroshenko.

The purpose: students acquiring knowledge of theory and methods of parallel computing that have become classics, and on the other ? familiarize students with new results in the development of parallel computing systems. Methods for high performance computing using parallel programming for multiprocessor systems provides the necessary knowledge for the specialist in advanced computer and software technologies and is one of the components of modern programming. Methods for parallel computation necessary for adequate modeling of various subject areas and the creation of modern software and information systems.

Prerequisites: you need to know information on mathematical analysis and theory of algorithms. Basic subjects are: mathematical analysis, programming, theory of algorithms and mathematical logic.

**Modern programming language (Inf.).**

Includes consideration of theoretical and technological aspects of modern programming languages, studying the structure of language, mastering its technologies to further design and programming of modern software systems.

Discipline for the unit, 8-th semester, 2 credits.

Lecturer: Associate Professor Viktor Volokhov.

The purpose: a mastery of theory, techniques and gain experience in designing and programming of operating systems.

Prerequisites: student must know to study the course “Modern language” fundamentals of the theory of discrete mathematics, theory of programming, knowledge of programming languages C and C + +, and database theory. The student should be able to carry proof of theoretical statements (theorems), the results from the theory of discrete mathematics, programming of algorithms.

**
Operating Systems (Inf.).
**Includes consideration of theoretical aspects of designing and creating operating systems, the study component of operating systems, mastering algorithms and programming to further the design and programming of operating systems.

Discipline for the unit, 5-th semester, 2 credits.

Lecturer: Associate Professor Viktor Volokhov.

The purpose: mastering the theory, techniques and gain experience in designing and programming of operating systems.

Prerequisites: student must know to study the course “Operating Systems” fundamentals of the theory of discrete mathematics, theory of programming, knowledge of programming languages Pascal and C, as well as the foundations of mathematical analysis. The student should be able to carry proof of theoretical statements (theorems), the results from the theory of discrete mathematics, programming of algorithms.

**IT-Management (Inf.).**

Includes review of basic concepts and programming techniques using machine-oriented languages, development tools appropriate programs and other system programming languages.

Discipline for the unit, 7-th semester, 2 credits.

Lecturer: Associate Professor Boyko Boris.

The purpose: learning basic knowledge on the basics of programming, procedural programming skills and mastery of language assembler.

Prerequisites: basic knowledge of the necessary programming, computer architecture and system programming..

**Formal methods specification programs (Inf.).**

Includes the study of concepts: specification, methods and language specifications and their classification (specification of abstract models, algebraic specification, the specification of transitions states, axiomatic and temporal specifications), preconditions, postconditions, language Z and its place in classification, the main notion of language Z, specification programs based on composition nominative approach.

Discipline for the unit, 8-th semester, 4 credits.

Lecturer: Associate Professor Vinnyk Vadim.

The purpose: Introducing formal specification methods and learning methods of formal specification of programs and their practical application on the example of method preconditions and postconditions of Hoare, Dijkstra’s method of weakest preconditions and specifications of formal language Z.

Prerequisites: you need to know information on programming, programming theory and mathematical logic. Specifically, the course requires knowledge of programming concepts of the algorithm, syntax and semantics, based on functional and logic programming and more. In the course of the theory of programming are necessary knowledge on the basics of programming and compositional principles of the theory of programming. In mathematical logic course the student should know the basics of first-order predicate calculus.

**Development of BI systems (Inf.).**

Includes the study of technologies of business intelligence systems based on products Microsoft: Microsoft SQL Server 2008, Microsoft SQL Server Analysis Services, Microsoft SQL Server Reporting Services, Microsoft SQL Server Management Studio and Microsoft Visual Studio 2008 + Business Intelligence.

Discipline for the unit, 5-th and 6th semesters, 4 credits.

Lecturer: Associate Professor Taras V. Panchenko.

The purpose: mastering basic knowledge of the foundations of the structure and design of multidimensional data warehousing and business intelligence systems, the reporting and use of Data Mining.

Prerequisites: basic knowledge of the necessary databases, elementary mathematics, discrete mathematics, basics of programming and mathematical logic.

**Programming Paradigms (Inf.).**

Includes the study of basic concepts of object-oriented paradigm, the use of object-oriented approach to engineering software systems, their modeling (using language UML) modeling and architecture of software systems, software systems design patterns ; declarative programming paradigm.

Discipline for the unit, 6-th semester, 2 credits.

Lecturer: Associate Professor Vladimir Kuzenko.

The purpose: familiarity and learning some basic programming paradigms and their practical application in solving practical problems related to engineering software systems.

Prerequisites: Student should know: the basic concepts of object-oriented paradigm, the principles of object-oriented programming language basic concepts of UML, UML-use strategy diagrams for modeling aircraft, the main architectural structures, foundations of declarative programming paradigm. The student should be able to: use object-oriented programming style, use of modeling based on UML-diagrams in the design of software systems, including precedents to create charts, diagrams, sequence with simultaneous detection of objects and classes, the class diagram with the establishment of relations between classes.

Language processors (Inf.).

Includes the study of basic concepts: the paradigm of logic programming, processor logic programming, expert systems, concepts of programming languages, language processors and processors multilingual, web-oriented programming and web-programming frameworks.

Discipline for the unit, 7-th semester, 2 credits.

Lecturer: Associate Professor Vladimir Kuzenko.

The purpose: introduction and assimilation of some programming paradigms and their practical application in solving practical problems associated with the development of software systems, including expert systems and web-oriented systems.

Prerequisites: Student should know: the basic concepts of logic programming, design principles and multilingual linguistic processor processors, strategies using web-programming frameworks. The student should be able to: use logical programming style, including the development of expert systems, applied systems development tools Compiler (Compiler compilers).

**Requirements analysis (Inf.).**

Includes the study of basic concepts of discipline, its major provisions of the informal type. This functional and non-functional requirements, system requirements type (protection, security, distribution, etc.).

Discipline for the unit, 8-th semester, 2 credits.

Lecturer: Professor Katherina M. Lavrischeva.

The purpose: learning from the basics of building large software systems using life cycle processes (rd) from task demands and ending its support. Requirements analysis process is the first rd. Its development is based on modern standards, including IOSI / IEC 12207, which contains a list of all processes, as well as core knowledge SWEBOK, in whom there is a section known – engineering requirements. These key documents developed by specialists within the Committee, the ACM and IEEE in the field of software and create the basis for software engineering.

Prerequisites: basic knowledge of programming required, current MP to object-oriented type, conditions relevant environments and knowledge bases testing and tracing of processes rd.

**WEB-technologies (Inf.).**

an overview of modern technologies used in developing Web-systems.

Discipline for the unit, 5-th semester, 1 credit.

Lecturer: Associate Professor Taras V. Panchenko.

The purpose: mastering basic knowledge of modern Web-technology and Web-based programming.

Prerequisites: basic knowledge of the necessary programming and mathematical logic, foundations of databases, basic discrete mathematics.

Correctness of programs (Inf.).

Includes the consideration and use of formal method for BBC programming that is guaranteed to satisfy the requirements put forward to them.

Research Seminar, 7-th semester, 4 credits.

Lecturer: Assistant Julia Bohatyryova.

The purpose: familiarity with formal methods of software development, including formal methods BBC.

Prerequisites: basic knowledge of programming necessary for some structural programming language such as PASCAL, C, and elementary mathematics and mathematical logic.

**Logic Programming (Inf.).**

Workshop focuses on disclosure of logical connection and subject (specific) component of the development of science and technology systems. Dominant in this context is the logic of programming. The principal feature of the latter is that it induces the subject of evolutionary development methodology for developing these systems, rather than vice versa.

Research Seminar, 8-th semester, 4 credits.

Lecturer: Professor Vladimir N. Red’ko.

The purpose: Review of the logical connection and substantive component of the development of science and technology systems.

Prerequisites: students should know and be able to, productively use basic concepts and results of standard and special courses “Logic,” “Theory of algorithms,” “Discrete Mathematics”, “Programming”, “System Programming and Operating Systems”, “Programming Paradigms “.

**Programmology and its application (Inf.).**

a seminar dedicated to the development as general and specific principles of Programmology as aggregate knowledge of programming in a broad sense, covering both theoretical and technological bases. Dominant in the workshop preceding the course “Fundamentals of Programmology” are propaedeutic aspect, aimed at highlighting representative of engineering programming. Obtained in this field in factual prolonged logical substantive principles course “Fundamentals of Programmology.”

Research Seminar, 1st semester OCD specialist., 2 credits.

Lecturer: Professor Vladimir Red’ko.

The purpose: the selection of representative engineering programming, review and development framework of Programmology.

Prerequisites: students should know and be able to, productively use basic concepts and results of standard and special courses “Logic,” “Theory of algorithms,” “Discrete Mathematics”, “Programming”, “System Programming and Operating Systems”, “Programming Paradigms “.

Modern technologies of distributed systems (Inf.).

Includes a wide range of modern computer science, affecting the development of technologies of distributed computer systems and their application in various subject fields.

Research Seminar, 1st semester OCD specialist., 2 credits.

Lecturer: Professor Anatoliy Doroshenko.

The purpose: students acquiring practical knowledge on how to conduct scientific research in distributed computer systems and technologies, as well as practical skills for presenting scientific results and scientific articles.

Prerequisites: you need to know information on mathematical analysis and theory of algorithms. Basic subjects are: mathematical analysis, programming, theory of algorithms and mathematical logic..

**Fundamentals of Programmology (Inf.).**

Includes the environment in the context of descriptive programming environments, which is essentially a carrier platform, based on the main and the only category of discipline, against which all other concepts are its derivatives.

Special course, 2nd Semester Master of OCD,

4 credits.Lecturer: Professor Vladimir Red’ko.

The purpose: is systematically covered the basic principles of modern programming, covering both theoretical and technological aspects of building programs as special and multi-purpose environment in descriptive process modeling domains.

Prerequisites: students should know and be able to, productively use basic concepts and results of standard and special courses “Logic,” “Theory of algorithms,” “Discrete Mathematics”, “Programming”, “System Programming and Operating Systems”, “Programming Paradigms “” Fundamentals of Processology ” and ” Information Technology “.

**Fundamentals of Processology (Inf.).**

A course on systematic principles covered process science and technology systems. They cover both theoretical and technological means of modeling domains within the essential platform. As a “common denominator” of these tools is the environment descriptive processes. It adequately supports the specification of special and universal purpose.

Special course, 1st semester OCD specialist., 2 credits.

Lecturer: Professor Vladimir Red’ko.

The purpose: science coverage process principles and technological systems, covering both theoretical and technological means of modeling domains within the essential platform.

Prerequisites: students should know and be able to, productively use basic concepts and results of standard and special courses “Logic,” “Theory of algorithms,” “Discrete Mathematics”, “Programming”, “System Programming and Operating Systems”, “Programming Paradigms “.

Fundamentals of Processology (Inf.).

A course on systematic principles covered process science and technology systems. They cover both theoretical and technological means of modeling domains within the essential platform. As a “common denominator” of these tools is the environment descriptive processes. It adequately supports the specification of special and universal purpose.

Special course, 1st Semester Master of OCD, 2 credits.

Lecturer: Professor Vladimir Red’ko.

The purpose: science coverage process principles and technological systems, covering both theoretical and technological means of modeling domains within the essential platform.

Prerequisites: students should know and be able to, productively use basic concepts and results of standard and special courses “Logic,” “Theory of algorithms,” “Discrete Mathematics”, “Programming”, “System Programming and Operating Systems”, “Programming Paradigms “.

**
Software Engineering (Inf.).
**Includes the study of basic concepts in its main disciplines: engineering, programming quality components, and product evaluation activities, management of software projects and industrial software.

Special course, 1st semester OCD specialist., 2 credits.

Lecturer: Professor Katherina M. Lavrischeva.

The purpose: learning basic knowledge on the fundamentals of engineering software, evaluation of economic performance and product of its artists, managing software projects and industrial development of program families. Concepts and techniques of software engineering are necessary to substantiate the correctness of software development processes in all life cycle, starting with task demands and ending its support. Software engineering is the foundation of quality separate components reuse (KPV) and families of components and applications in modern programming languages (MP). The theoretical apparatus of software engineering is required to adequately describe the specifics of different subject areas, its transformation to describe the relevant components in the MP and their composition in the software or information systems for solving domain.

Prerequisites: basic knowledge of programming is required, current MP to object-oriented type and a suitable environment, basic math and algebra. The student should know the basics of set theory, general algebra, mathematical logic and MP.

Composition Logic (Inf.)

Includes the study of basic concepts of logic, consideration of semantic models and logics of formal axiomatic logical systems.

Special course, 3rd semester master OCD, 3 credits.

Lecturer: Professor Mykola Nikitchenko.

Aim of discipline: learning from the compositional logic. Modern methods of software development commonly use different formalism for proving properties of programs. Most of the formalism are logics of various types. This makes the actual problem of the study of modern logic. The methodological base composition logic is the principles of development from abstract to concrete, principles of nominativity and compositionality. In general terms, concepts and methods of compositional logic are necessary to substantiate the accuracy of various methods of obtaining true knowledge. In the applied aspect, the apparatus compositional logic necessary for adequate modeling of various subject areas, the creation of modern software and information systems.

Prerequisites: basic knowledge of the required elementary mathematics, mathematical logic, discrete mathematics and algebra. The student should know the basics of set theory, Boolean functions, basis the total algebra, mathematical logic, theory of algorithms.

**Information Systems Modeling (Inf.).
**Includes the study of concepts: information model specification, the methods and language specifications and their classification, the language Python and its place in classification, the basic concepts of language Python, the specification of programs on the basis of composition nominative approach.

Special course, 1st semester OCD specialist., 2 credits.

Lecturer: Associate Professor Vitaliy V. Zubenko.

The purpose: familiarity with formal methods of information systems modeling, learning formal methods of prototyping systems, their practical application on the example of language Python.

Prerequisites: you need to know information on programming, programming theory and mathematical logic. Specifically, the course requires knowledge of programming concepts of the algorithm, syntax and semantics, based on functional and logic programming and more. In the course of the theory of programming necessary knowledge on the basics of programming and compositional principles of the theory of programming. In mathematical logic course the student should know the basics of first-order predicate calculus.

**
Software Engineering (Inf., correspondence.).
**Includes the study of basic concepts in its main disciplines: engineering, programming quality components, and product evaluation activities, management of software projects and industrial software.

Discipline for the unit, 2nd semester OCD specialist., 2 credits.

Lecturer: Professor Katherina M. Lavrischeva.

The purpose: learning basic knowledge on the fundamentals of engineering software, evaluation of economic performance and product of its artists, managing software projects and industrial development of program families. Concepts and techniques of software engineering are necessary to substantiate the correctness of software development processes in all life cycle, starting with task demands and ending its support. Software engineering is the foundation of quality separate components reuse (KPV) and families of components and applications in modern programming languages (MP). The theoretical apparatus of software engineering is required to adequately describe the specifics of different subject areas, its transformation to describe the relevant components in the MP and their composition in the software or information systems for solving domain.

Prerequisites: basic knowledge of programming required, current MP to object-oriented type and a suitable environment, basic math and algebra. The student should know the basics of set theory, general algebra, mathematical logic and MP.

**Software Engineering (Inf., correspondence.).**

Includes the study of basic concepts in its main disciplines: engineering, programming quality components, and product evaluation activities, management of software projects and industrial software.

Discipline for the unit, 2nd Semester Master of OCD, 3 credits.

Lecturer: Professor Katherina M. Lavrischeva.

The purpose: learning basic knowledge on the fundamentals of engineering software, evaluation of economic performance and product of its artists, managing software projects and industrial development of program families. Concepts and techniques of software engineering are necessary to substantiate the correctness of software development processes in all life cycle, starting with task demands and ending its support. Software engineering is the foundation of quality separate components reuse (KPV) and families of components and applications in modern programming languages (MP). The theoretical apparatus of software engineering is required to adequately describe the specifics of different subject areas, its transformation to describe the relevant components in the MP and their composition in the software or information systems for solving domain.

Prerequisites: basic knowledge of programming required, current MP to object-oriented type and a suitable environment, basic math and algebra. The student should know the basics of set theory, general algebra, mathematical logic and MP.

**Information Systems Modeling (Inf., correspondence.).**

Includes the study of concepts: information model specification, the methods and language specifications and their classification, the language Python and its place in classification, the basic concepts of language Python, the specification of programs on the basis of composition nominative approach.

Discipline for the unit, 3rd semester master OCD, 3 credits.

Lecturer: Associate Professor Vitaliy V. Zubenko.

The purpose: familiarity with formal methods of information systems modeling, learning formal methods of prototyping systems, their practical application on the example of language Python.

Prerequisites: you need to know information on programming, programming theory and mathematical logic. Specifically, the course requires knowledge of programming concepts of the algorithm, syntax and semantics, based on functional and logic programming and more. In the course of the theory of programming is necessary knowledge on the basics of programming and compositional principles of the theory of programming. In mathematical logic course the student should know the basics of first-order predicate calculus.

**Composite Logic (Inf., correspondence.).**

Includes the study of basic concepts of logic, consideration of semantic models and logics of formal axiomatic logical systems.

Discipline for the unit, 3rd semester master OCD, 3 credits.

Lecturer: Professor Mykola Nikitchenko.

The purpose: learning from the compositional logic. Modern methods of software development commonly use different formalism for proving properties of programs. Most of the formalism is a logic of various types. This makes the actual problem of the study of modern logic. The methodological base composition logic is the principles of development from abstract to concrete, principles of nominativity and composionality. In general terms, concepts and methods of compositional logic necessary to substantiate the accuracy of various methods of obtaining true knowledge. In the applied aspect, the apparatus compositional logic necessary for adequate modeling of various subject areas, the creation of modern software and information systems.

Prerequisites: basic knowledge of the required elementary mathematics, mathematical logic, discrete mathematics and algebra. The student should know the basics of set theory, Boolean functions, basis the total algebra, mathematical logic, theory of algorithms.

Programmology Basics 1m. | prof. Redko VN |

Processology Basics 5K. | prof. Redko VN |

Software Engineering 5K. | prof. Lavrischeva KM |

Composite logic 2m. | prof. Nikitchenko MS |

Information modeling of systems 5K. | Assoc. Zubenko VV |