В курсе разбираются основные алгоритмические методы: жадные алгоритмы, «разделяй и властвуй», динамическое программирование. Помимо теоретических основ, рассматриваются тонкости реализации рассмотренных алгоритмов на языках C++, Java и Python. Решения задач курса проверяются тестирующей системой на тщательно подобранных тестах.