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
2023/2024
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
1. T. Kormen, Ch. Lejzerson, R. Rivest, K. Stajn. Algoritmy – postroenie i analiz. Tret'e izdanie. – M.: ID "Dialektika-Vil'jams", 2019. 2. A. Levitin. Algoritmy: vvedenie v razrabotku i analiz. – M.: ID "Vil'jams", 2006. 3. D. Knut. Iskusstvo programmirovanija. Tom 1–3. – M.: Mir, 1976. 4. D. Gasfild. Stroki, derev'ja i posledovatel'nosti v algoritmah. Informatika i vychislitel'naja biologija. – SPb.: BHV-SPb, 2008
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
Oleksandr M. Khodzinskyi
Department of Intelligent Software Systems
Faculty of Computer Science and Cybernetics