Algorithms and Complexity
Course: Software Engineering
Structural unit: Faculty of Computer Science and Cybernetics
            Title
        
        
            Algorithms and Complexity
        
    
            Code
        
        
            ННД.28 
        
    
            Module type 
        
        
            Обов’язкова дисципліна для ОП
        
    
            Educational cycle
        
        
            First
        
    
            Year of study when the component is delivered
        
        
            2022/2023
        
    
            Semester/trimester when the component is delivered
        
        
            4 Semester
        
    
            Number of ECTS credits allocated
        
        
            4
        
    
            Learning outcomes
        
        
            PLO01. Analyze, purposefully search for and select the necessary information and reference resources and knowledge to solve professional problems, taking into account modern advances in science and technology.
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 the software development methodology that is appropriate for a given task.
PLO13. Know and apply methods of algorithm development, software design and data and knowledge structures design.
        
    
            Form of study
        
        
            Full-time form
        
    
            Prerequisites and co-requisites
        
        
            1. Know: basics of algebra, mathematical analysis, discrete mathematics.
2. Have skills in programming in a high-level programming language.
        
    
            Course content
        
        
            The aim of the discipline is to acquaint students with main data structures and algorithms in programming. As a result, the student must: know main data structures and algorithms used in programming and their efficiency; be able to analyze algorithms complexity, choose and implement optimal algorithms and data structures in accordance with the task, design new algorithms using well-known techniques if needed and estimate the complexity.
        
    
            Recommended or required reading and other learning resources/tools
        
        
            Planned learning activities and teaching methods
        
        
            Lectures, laboratory classes, individual work, tests, defense of laboratory work, exam.
        
    
            Assessment methods and criteria
        
        
            Semester 3 assessment:
-Test 1, 2: LO1.1-1.2, LO2.1 – 30/18p., 20/12p.
-Laboratory work: LO2.1-2.2, LO3.1, LO4.1-4.2 – 20/12p.
-Final assessment (credit): credit points are defined as the sum of points for all successfully assessed learning outcomes.
Semester 4 assessment:
-Test 1, 2: LO1.1-1.2, LO2.1 – 20/12p., 10/6p.
-Laboratory work: LO2.1-2.2, LO3.1, LO4.1-4.2 – 30/18p.
-Final assessment (exam): maximum number of points: 40; learning outcomes that are evaluated: LO1.1-1.2, LO2.1-2.2.
        
    
            Language of instruction
        
        
            Ukrainian
        
    Lecturers
This discipline is taught by the following teachers
                    Oksana 
                    S.
                    Shkilniak
                
                
                    Department of Intelligent Software Systems 
Faculty of Computer Science and Cybernetics
            Faculty of Computer Science and Cybernetics
                    Oleksandr
                    M.
                    Khodzinskyi
                
                
                    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