The course aims to provide the students with the methodological and conceptual tools for the design of algorithms and the realization of programs for solving problems automatically. By the end of the course, the student will be able to understand, analyze and model a parametric problem, will be able to design an algorithm for its solution by means of iterative and recursive techniques, and will be able to implement algorithms in the Python programming language.