ECTS credits: 5
Lectures: 2
Exercises: 3

Course objective:

Gaining basic knowledge of simple and dynamic data structures, mastering basic algorithms and training for the application of acquired knowledge in solving algorithmic problems.

Course contents:

Primitive and complex data types. Introduction to object-oriented programming. Theoretical and experimental analysis of the algorithm. Sorting. Search. Recursive algorithms. Lists and fields. Stack and row. Tree. Hash functions and direct addressing.

Competences:

Solving complex algorithmic problems using appropriate algorithms and suitable data structures.

Learning outcomes:

Having passed the exam, students will be able to: 1. Describe basic algorithmic constructs, primitive and complex data types . 2. Identify the basic organization of the data structures in programming languages. 3. Design an algorithm and choose optimal types and data structures to solve complex problems 4. Design a software solution using object-oriented programming techniques 5. Evaluate the efficiency of sorting and searching algorithms. 6. Use advanced programming techniques and methodology in the design of algorithms. The aforementioned learning outcomes contribute to the learning outcomes of the study program: - Use the methods of software engineering and programming in contemporary programming languages. - Use contemporary software tools. - Actively use programming languages for the design, analysis and adjustment of program support. - Use electronic teaching methods and methods for self-study (e-learning).