Upon successful completion of the course, students will be able to:
1. Understand the concept of data structure as a model for capturing and managing information.
2. Understand the concept of the algorithm as a method for solving a problem and the features that an algorithm must have (finite number of steps, clearly formulated instructions at each step, existence of input-output data, uniqueness of results of each step).
3. Understand how the basic mathematical features of each structure relate to the design of algorithms that require their management.
4. Understand the concept of complexity analysis of algorithms and create an initial understanding of how to successfully determine the complexity of an algorithm in a theoretical way.
5. Understand the importance of data structures and algorithms.
Course Content (Syllabus)
Introduction to algorithms - Problem Complexity and its measures - Search algorithms - Selection algorithms - Sorting algorithms - Hashing - Data Structures and Operations - Arrays - Lists - Stacks - Queues - Trees - Heaps - Graphs