В курсе изложены математические основы теории алгоритмов. Курс охватывает материал из нескольких областей математики, так или иначе связанных с понятием алгоритма: теория автоматов и регулярных языков, машины Тьюринга и нормальные алгорифмы Маркова, классическая теория вычислимости, теория рекурсивных функций,, теория сложности вычислений.. Излагаются основы алгоритмической грамотности (уточнение понятия алгоритма и алгоритмическая неразрешимость, анализ сложности алгоритмов, построение и анализ алгоритмов сортировки и поиска информации, выделение класса трудно решаемых задач). С целью усвоения материала и развития алгоритмических навыков в каждом разделе даются упражнения для самостоятельной работы.