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