This course is devoted to the study of the C++ programming language and the fundamental algorithms and data structures that form the basis of computer science education. The program combines procedural and object-oriented programming with the theoretical foundations of algorithm design, complexity analysis, and the practical implementation of classical algorithms. The course is delivered in a live interactive format and is designed for students who wish to build a strong academic and practical foundation in programming.
The objectives of the course are:
To develop systematic knowledge of programming in C++
To train students to design correct and efficient algorithms
To introduce fundamental data structures and their implementation
To develop skills in analyzing time and space complexity
Upon successful completion of the course, students will be able to:
Develop programs in C++ using standard libraries
Apply basic and advanced data processing algorithms
Implement linear and non-linear data structures
Evaluate algorithm efficiency using asymptotic complexity (Big O notation)
Apply algorithmic thinking to solve applied computational problems
The course is organized according to a modular approach and consists of two logically complete modules.
Module I C++ Programming (Weeks 1–7)
Introduction to C++ Programming
Program Structure and Data Types
Control Structures (Conditionals and Loops)
Functions and Recursion
Arrays and Strings
Pointers and Dynamic Memory Allocation
Structures and File Handling
Midterm Assessment
This module develops fundamental and applied programming skills required for further study of algorithms.
Module II Algorithms and Data Structures in C++ (Weeks 8–12)
Algorithm Analysis and Big O Notation
Searching and Sorting Algorithms
Linear Data Structures (Stacks, Queues, Linked Lists)
Trees (Binary Trees, Binary Search Trees, Heaps)
Graphs (DFS and BFS Algorithms)
Final Project or Examination
This module focuses on algorithmic thinking, complexity analysis, and the implementation of classical data structures.
24 hours
Lectures
38 hours
Laboratory or Practical Classes
16 hours
Individual work (checking assignments)
2 hours
Final project
Teaching Methods
Teaching methods include:
Live lectures with multimedia support
Practical and laboratory classes
Independent student work
Project-based learning
The course emphasizes both theoretical understanding and practical implementation.
Assessment Methods
Student performance is evaluated through:
Laboratory assignments
Midterm assessment
Final project or examination
Oksana Koshova
Associate Professor, PhD in Pedagogical Sciences
Has been working at Poltava University of Economics and Trade since 2001. Author of more than 50 academic publications.