Algebraic-automatа methods of software design
Course: Software engineering
Structural unit: Faculty of Computer Science and Cybernetics
Title
Algebraic-automatа methods of software design
Code
ОК.05
Module type
Обов’язкова дисципліна для ОП
Educational cycle
Second
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
1 Semester
Number of ECTS credits allocated
6
Learning outcomes
PLO01. Know the basic algorithms of the theory of automata, their complexity and variations (basic level).
PLO02. Know the basic concepts and structures general algebra (semigroups, groups, lattices, many-sorted algebras).
PLO2.1. To be able to design and develop on the basis of the constructed mathematical models algorithms of the solution of the set tasks,
to carry out the analysis of complexity of the constructed algorithms.
Form of study
Distance form
Prerequisites and co-requisites
1. Know: basic concepts of algorithm theory, automata theory, general algebra and mathematical logic and principles of development programs;
2. Be able to: design, develop and test programs at a basic level.
3. Have basic skills: programming in C, C ++,Java, Pyton.
Course content
The purpose of the discipline is to master the methods of software development based on the methods of automata theory, mathematical logic, algebraic structures, programming with constraints and their application to the development, analysis and verification of algorithms and programs.
As a result of studying the discipline the student must:
know: basic concepts of procedural, functional, object-oriented and logical programming;
be able to: analyze the problem, build mathematical models of relevant subject areas, create specifications and verify models, program in procedural, functional, logical and object-oriented styles.
Recommended or required reading and other learning resources/tools
1. Kryvyi S. L. Introduction to created of software products. – Kyiv:Kyiv-Mochyla Akademi Publishing. – 2018. – 449 .
2. Маnna Z. Fixed point semantic of functional programs. – Kibernetic. sbornik. – v. 15. – М.:Vir. -1979. - P. 38-100.
3. Fild A, Charrison P. Functional programming. – М.: Mir. – 1993. – 742 p.
4. Aho А., Chopcroft D., Ullman D. Data struictures and alhorithms – Sankt-Pet.:``Viljams''. - 2000. - 382 p.
5. Kapitonova J.V., Letichevsky А. А. About paradigms of programming. journ. ``Cybernetics and system analysis``. - 1994.
- № 6. - P. 3-20.
6. Fisher M.J., Ladner R.E. Propositional Modal Logic of Programs. In Proc. 9-th ACM Ann. Symposium on Theory of Computing. - 1977.
- P. 286-294.
7. Fisher M.J., Ladner R.E. Propositional Dynamic Logic of regular programs. J. Comp. System
Sci. – 1979. - v.18. - № 2. - P. 194-211.
Planned learning activities and teaching methods
Lectures, laboratory classes, independent work, tests, homework, defense of laboratory work, exam.
Assessment methods and criteria
- Semester assessment:
1. Test 1: LO 1.1, LO1.2 - 10 points / 6 points.
2. Test 2: LO1.3 - 10 points / 6 points.
3. Homework 1-7: LO1.1, LO1.2, LO1.3-10 points / 6 points.
4. Protection of laboratory work 1 (project): LO2.1, LO3.1, LO4.1, LO4.2 - 11 points / 6 points.
5. Protection of laboratory work 2 (project): LO2.1, LO3.1, LO4.1, LO4.2 - 8 points / 5 points.
6. Protection of laboratory work 3 (project): LO2.1, LO3.1, LO4.1, LO4.2 - 11 points / 6 points.
In one of the forms of control, the student has the right to replace it with a certificate with the possibility of obtaining 9 points. To exercise this right, the student must, by 1st of January of the current year, write and attach to the classroom a statement with his personal signature.
Final assessment (in the form of an exam):
- maximum number of points: 40 points;
- learning outcomes which shall be assessed: LO1.1, LO1.2, LO1.3, LO2.1.
Language of instruction
Ukrainian
Lecturers
This discipline is taught by the following teachers
Serhii
L.
Kryvyi
Department of Intelligent Software Systems
Faculty of Computer Science and Cybernetics
Faculty of Computer Science and Cybernetics
Departments
The following departments are involved in teaching the above discipline
Department of Intelligent Software Systems
Faculty of Computer Science and Cybernetics