The course aims to present the fundamental data structures and tools for developing programs, on a small or medium scale, for technical-scientific applications. The course also explores the methods for developing complex programs by means of the object-oriented programming paradigm. The main purpose is to accustom students to the definition and development of software solutions to problems.