Study program / study programs: INFORMATION TECHNOLOGY

Type and level of studied: Undergraduate applied studies


Status: compulsory

ECTS credits: 7


Course objective

The objective of the course Data Structures and Algorithmic Modeling is mastering algorithms as the foundations of software engineering and computer science in general. Good algorithmic design is of essential importance for any software system’s performance. Mastering the basic data structures, as important prerequisites for programming and modeling.

Course outcome

The students will learn how to present algorithms, the types of algorithmic schemas, algorithm design, variable cyclic and complex schemas, dynamic allocation, fields (arrays), operations with single and double linked lists, the essence of recursion, the concept and purpose of rows, adding and deleting nodes in trees, parsing, how to work with heap, insertion and selection sort, Shell sort, Bubble sort, Quick sort, sequential sort, binary search, interpolation and Fibonacci search, binary search trees.

Course content

Theoretical classes:

  • Sets
  • Stacks
  • Arrays
  • Working with strings
  • Multidimensional arrays
  • Graphs as data structure
  • Rows
  • Lists
  • Trees
  • Topologies
  • Binary trees
  • Tree traversal
  • Tables
  • Hash tables
  • Files
  • Concept and purpose of algorithm
  • Selecting the appropriate algorithmic solution
  • The effect of hardware architecture and technological solution on problem modeling
  • Temporal and spatial complexity of algorithms
  • Algorithmic strategies
  • Types of algorithmic schemas
  • Sorting algorithms
  • Search algorithms
  • Substitution algorithms
  • Complexity analysis
  • Selecting the appropriate technology and programming language

Practical classes:

  • Exercises
  • Other forms of teaching
  • Study research
    Students’ independent work on solving tasks and problems related to the lectures