Алгоритмист
Форма обучения: очная с применением дистанционных технологий
Объем программы: 400 ак. часов
Продолжительность обучения: 9 месяцев
Выдаваемый документ: Диплом о профессиональной переподготовке МФТИ
Стоимость обучения: 150 000 руб.

Необходимые знания: язык программирования Python / С++

Содержание программы:
1. Курс: «Математика в сфере IT»
3 месяца
  • Дискретная математика
  • Математический анализ
  • Линейная алгебра и аналитическая геометрия
  • Теория вероятностей и математическая статистика
2. Курс: «Введение в алгоритмы и структуры данных»
2 месяца
  • Математические основы программирования
  • Линейные контейнеры
  • Сортировки
  • Динамическое программирование
  • Хеш-таблицы
  • Деревья поиска и графы
3. Курс: «Алгоритмы и структуры данных. Продвинутый уровень»
4 месяца

  • Обход в глубину. Топологическая сортировка. Компоненты сильной связности в ориентированном графе. Мосты, компоненты рёберной двусвязности. Точки сочленения. Обход в ширину.
  • Критерий существования эйлерова цикла в неориентированном графе. Поиск эйлерова цикла.
  • Кратчайшее расстояние в графе. Алгоритм Дейкстры. Алгоритм Форда-Беллмана. Алгоритм SPFA. Алгоритм Флойда. Двусторонний алгоритм Дейкстры. Алгоритм Джонсона. Алгоритм A*.
  • Определение минимального остовного дерева. Теорема о разрезе (лемма о безопасном ребре). Алгоритм Прима. Алгоритм Крускала. Алгоритм Борувки. Комбинация алгоритмов Прима и Борувки для достижения лучшего времени работы. Единственность минимального остова: достаточное условие. Поиск обязательных и возможных рёбер в минимальном остове.
  • Определение сети, потока, разреза. Понятие остаточной сети, дополняющего пути. Теорема Форда-Фалкерсона. Алгоритм Форда-Фалкерсона.
  • Паросочетание в двудольном графе, максимальное паросочетание. Увеличивающие пути. Теорема Бержа. Алгоритм Куна. Максимальное независимое множество и минимальное вершинное покрытие в двудольном графе.
  • Sparse Table. Дерево отрезков. Обновление в точке и сумма на отрезке. LCA. Метод двоичных подъёмов. Решение со Sparse Table.
  • Декартово дерево по неявному ключу: операции split и merge.
  • Интерфейс быстрого массива.

Целевая аудитория курса:
  • Те, кто начинает карьеру в ИТ
    Возможность изучить все необходимое для начинающего разработчика: алгоритмы, ООП, основы рабочего кода языка C++. Вы заложите крепкий фундамент для дальнейшего развития в сфере ИТ.
  • Начинающие ИТ-специалисты
    Если у вас уже есть базовые знания, наш курс поможет структурировать их и получить комплексный практический опыт на реальных примерах.
  • Практикующие ИТ-специалисты
    Тем, кто уже является действующим разработчиком, и хочет изучить новый язык программирования.
На программе вы:
  1. Освоите новую востребованную профессию
  2. Станете крепким junior-разработчиком со знанием языка программирования С++
На всех курсах вы получите:
  1. Постоянное живое общение с преподавателем МФТИ на вебинарах и в телеграмм-чате группы
  2. Ответы на все свои вопросы по ходу курса от преподавателя
  3. Обратную связь на интересные домашние задания