Учебное пособие. — 2-е изд., исправленное. — М.: Интернет-университет Информационных Технологий (Интуит), 2016. — 348 с. — (Основы информатики и математики). — ISBN: 978-5-9556-0039-0.
Основой книги является курс программирования, который на протяжении многих лет читается на механико-математическом факультете МГУ. Главные идеи курса принадлежат А.Г. Кушниренко и Г.В. Лебедеву, они содержатся в книге
Кушниренко А.Г., Лебедев Г.В. Программирование для математиков. Особенность курса заключается в том, что не придается большого значения изучению конкретных языков программирования — скорее, он посвящен общим принципам программирования, следовать которым можно, работая в любой языковой среде.
Книга предназначена для обучения основам программирования. Рассматриваются основные понятия программирования, излагаются общие приемы программирования, основанные на применении математики, такие, как вычисление функций на последовательностях с помощью применения теории индуктивных функций и схема построения цикла с помощью инварианта.
Рассматриваются общие принципы устройства и работы компьютера, типичные команды и регистры процессора, методы адресации, способы вызова функций и передачи параметров и т. п.
Значительная часть книги посвящена основам языка Си. Помимо основ языка, в ней приведено много примеров реализации алгоритмов на Си, таких как вычисление корня функции, приведение матрицы к ступенчатому виду методом Гаусса и т. п.
Заключительная глава посвящена структурам данных и их реализациям. Рассматриваются структуры последовательного и прямого доступа, такие как стек, очередь, список, дерево, множество и нагруженное множество, а также их непрерывные и ссылочные реализации. Значительное место уделено реализациям множества с помощью бинарного поиска, на базе сбалансированных деревьев и с помощью хеш-функции.
Книга полезна студентам и преподавателям ВУЗов.