Theory of algorithms and mathematical logic
Course: Software Engineering
Structural unit: Faculty of Computer Science and Cybernetics
            Title
        
        
            Theory of algorithms and mathematical logic
        
    
            Code
        
        
            ННД.13
        
    
            Module type 
        
        
            Обов’язкова дисципліна для ОП
        
    
            Educational cycle
        
        
            Second
        
    
            Year of study when the component is delivered
        
        
            2021/2022
        
    
            Semester/trimester when the component is delivered
        
        
            4 Semester
        
    
            Number of ECTS credits allocated
        
        
            5
        
    
            Learning outcomes
        
        
            PLO05. Know and apply relevant mathematical concepts, methods of domain, system and object-oriented analysis and mathematical modeling for software development.
PLO06. Ability to select and use appropriate software development methodology.
PLO13. Know and apply methods of algorithm development, software design and data and knowledge structures.
PLO27.1. Analyze, evaluate and select tools and computing tools, technologies, algorithmic and software solutions to solve software engineering problems.
PLO28.1. Know and have the skills to implement basic algorithms and data structures of programming.
        
    
            Form of study
        
        
            Full-time form
        
    
            Prerequisites and co-requisites
        
        
            1. Know: basics of discrete mathematics, some chapters of mathematical analysis, algebra and programming.
2. Be able to: solve equations and systems of linear algebraic equations over a field of natural numbers.
3. Have skills: algorithmic processes in programming.
        
    
            Course content
        
        
            The purpose of the discipline is to master the theoretical issues of algorithmization, the main methods of solving logical problems, means of building logical models of problems in different subject areas.
As a result of studying the discipline the student must:
know the basic algorithmic systems, information on algorithmically unsolvable problems, fundamental results of the theory of computability, basic logical systems and fundamental results on incompleteness, methods of solving logical problems;
be able to build logical models of problems, to investigate the issues of algorithmization within algorithmic systems, to prove the correctness of logical formulas by means of syntactic and semantic logical systems.
        
    
            Recommended or required reading and other learning resources/tools
        
        
            2. O.I. Provota. Concrete algorithmics. – M. – Nauka. – 2017.
6. Y .V. Chromoj. Collection of exercises and problems in mathematical logic. – Kyiv. – Vyshcha shkola. – 1978.
7. O.I. Provotar, O.S. Shkilnyak. Examples and problems in the theory of algorithms and mathematical logic. – Kyiv. – VPC "Kyiv University". – 2012.
        
    
            Planned learning activities and teaching methods
        
        
            Lectures, practical classes, independent work, tests, homework, exam.
        
    
            Assessment methods and criteria
        
        
            1. Test 1: LO 1.1, LO1.2 - 20 points.
2. Test 2: LO1.3 - 20 points.
3. Test 3: LO 1.1, LO1.2, LO2.1 - 20 points.
1. Test 1: LO 1.3, LO2.1 - 20 points.
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:
- form of examination and types of tasks: written work,  4 written assignments.
        
    
            Language of instruction
        
        
            Ukrainian
        
    Lecturers
This discipline is taught by the following teachers
                    Oleksandr
                    I.
                    Provotar
                
                
                    Department of Intelligent Software Systems 
Faculty of Computer Science and Cybernetics
            Faculty of Computer Science and Cybernetics
                    Oksana 
                    S.
                    Shkilniak
                
                
                    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
                    
                
                        Department of Intelligent Software Systems
                    
                    
                        Faculty of Computer Science and Cybernetics