Изложены основные теоретические положения разработки программного обеспечения с использованием структурного и объектного подходов. Рассмотрены основные приемы решения задач различных классов, в том числе приемы создания и обработки динамических структур данных, без которых невозможно современное программирование. Отдельное внимание уделено оценке точности получаемых результатов и анализу вычислительной сложности алгоритмов и методов. Большое количество примеров и поясняющих рисунков способствует лучшему усвоению материала. Соответствует ФГОС ВО последнего поколения. Для студентов бакалавриата, обучающихся по специальностям, предполагающим изучение программирования. Может быть полезен всем изучающим программирование самостоятельно.