D. Dimitrov, S. Stoyanova-Petrova, D. Stoyanova
Algorithms and data structures are fundamental concepts in programming. They play a critical role in both problem-solving and optimizing the efficiency of code solutions. In university programming courses, learning basic algorithms and data structures is essential for students' development. However, many beginners often struggle to understand algorithms. This challenge arises because many algorithms work with abstract data structures and perform operations that are difficult to represent only through program code or mathematical descriptions. By combining visual and interactive tools with traditional teaching methods, educators can significantly enhance students' understanding of the processes that occur during algorithm execution, leading to a deeper and more intuitive comprehension.
This article presents ALGOPLAT, a web-based platform for visualizing and interactively presenting basic algorithms and data structures, supporting the training of students in programming. The platform was developed for the Faculty of Physics and Technology at the Paisii Hilendarski University of Plovdiv, Bulgaria. Through the animations on the platform, students can follow the execution of the algorithms step by step, observe the changes in the data in real time, and gain a deeper understanding of the logic behind each operation. The platform provides users with the opportunity to enter input data and track the algorithm's execution with specific values. In ALGOPLAT, visual information is supplemented with theoretical explanations that explain the principles of operation of the respective algorithm, as well as sample program code written in C++. In this way, students gain a comprehensive understanding of the material, encompassing theory, program code, and visualization. This article focuses on the architecture, functionalities, and potential applications of the ALGOPLAT platform as a supporting tool for learning algorithms and data structures in programming.
Keywords: Algorithms, data structures, animation, algorithm visualization, visualization environment, web-based learning.