Theory of Algorithms

Course: Network and internet technologies

Structural unit: Faculty of information Technology

Title
Theory of Algorithms
Code
ОК 9
Module type
Обов’язкова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2021/2022
Semester/trimester when the component is delivered
2 Semester
Number of ECTS credits allocated
7
Learning outcomes
To be able to apply obtained knowledge and understanding (of basic facts, rules, concepts and theories related to the exchange of information at a distance, its processing and storage) to solve qualitative and quantitative problems of a similar nature in information and communication networks, telecommunication and radio engineering systems. Know the main aspects of the use of terminology in the field of telecommunications and radio engineering. To be able to highlight the main points, to argue, to exercise self-control, to plan professional activities, to organize a workplace. To be able to explain and reproduce the principles of construction and operation of hardware and software complexes of control and maintenance systems and their application in information and communication networks, telecommunication and radio engineering systems.
Form of study
Full-time form
Prerequisites and co-requisites
Be familiar with the concepts of algorithms, types of algorithms, algorithm properties; principles of structural and procedural programming. Have knowledge of the basics of linear algebra, mathematical analysis, computer logic. Have basic skills in designing and creating programs for solving applied problems, debugging programs.
Course content
The subject "Theory of Algorithms" introduces students to the concepts of algorithm analysis and algorithm complexity, considers various types of algorithm complexity, and allows students to acquire the necessary knowledge to perform algorithm analysis in the context of time and space complexity. Considerable attention is paid to various data structures, including dynamic data structures, methods of their organization in computer memory, and algorithms for their processing. Various data processing algorithms are also considered, such as data search, sorting, graph algorithms, etc. The C++ programming language was chosen as a tool for learning algorithms and data structures, which allows students to acquire practical skills in working with a compiled programming language with static typing. During the study of this subject, exceptional attention is paid to algorithms on graphs as the basis for understanding the functioning, analysis and design of networks. This subject also forms students' practical skills in developing various algorithms for solving applied problems using abstract data structures and critical analysis of the developed algorithms.
Recommended or required reading and other learning resources/tools
1. Vergunova I.M. Construction and analysis of algorithms. Lectures. – Vinnytsia: TVORY, 2020. – 164 p. 2. Koroteeva T.O. Algorithms and data structures: study guide/ T.O. Koroteeva. – Lviv: Publishing House of Lviv Polytechnic, 2014. – 280p. 3. Kostiv O. Data structures: Study guide. - Lviv: Ivan Franko LNU Publishing Center, 2005. - 146p. 4. Krenevych A.P. Algorithms and data structures. – K.: Kyiv University Publishing Center, 2021. – 200 p. 5. Tkachuk V.M. Algorithms and data structure: Study guide / V.M. Tkachuk. - Ivano-Frankivsk: Publishing House of Vasyl Stefanyk Precarpathian National University, 2016.-286 p. 6. Knuth D.E. The art of computer programming: Fundametals algorithms, Volume 1. Third edition. – Addison-Wesley Professional, 1997. – 664 p. 7. Knuth D.E. The art of computer programming: Seminumerical Algorithms, Volume 2. Third edition. – Addison-Wesley Professional, 2014. – 784 p.
Planned learning activities and teaching methods
Lectures, laboratory work, independent work
Assessment methods and criteria
The subject integrates various types of work, including independent work. The student has to assert the laboratory works by completing an individual task during the class and demonstrating the result to the teacher. The grade for the work depends on the correctness of the individual task. To monitor students' independent work and motivate their cognitive activity throughout the semester, an ongoing blitz survey or mini test work (current control) is conducted at each lecture and laboratory lesson, during which students' answers are evaluated with appropriate points depending on the difficulty of the question. During the semester, after completing the study of the relevant topics, a control test or a written control work is conducted.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers


Faculty of information Technology

Departments

The following departments are involved in teaching the above discipline

Faculty of information Technology