
Algorithms and data structures form the foundation of any computer science education. Before learning to program in a specific language, it is essential to understand how to design, analyze, and represent the logic of a problem in a rigorous and efficient way.
This course aims to introduce first-year students to algorithmic thinking through a progressive approach, starting from simple problem-solving and gradually moving toward the design of more structured algorithms.