Форма обучения: очная с применением дистанционных технологий
Объем программы: 400 ак. часов
Продолжительность обучения: 9 месяцев
Выдаваемый документ: Диплом о профессиональной переподготовке МФТИ
Стоимость обучения: 150 000 руб.
Необходимые знания: язык программирования Python / С++
Содержание программы:
1. Курс: «Математика в сфере IT»3 месяца- Дискретная математика
- Математический анализ
- Линейная алгебра и аналитическая геометрия
- Теория вероятностей и математическая статистика
2. Курс: «Введение в алгоритмы и структуры данных»2 месяца - Математические основы программирования
- Линейные контейнеры
- Сортировки
- Динамическое программирование
- Хеш-таблицы
- Деревья поиска и графы
3. Курс: «Алгоритмы и структуры данных. Продвинутый уровень»
4 месяца - Обход в глубину. Топологическая сортировка. Компоненты сильной связности в ориентированном графе. Мосты, компоненты рёберной двусвязности. Точки сочленения. Обход в ширину.
- Критерий существования эйлерова цикла в неориентированном графе. Поиск эйлерова цикла.
- Кратчайшее расстояние в графе. Алгоритм Дейкстры. Алгоритм Форда-Беллмана. Алгоритм SPFA. Алгоритм Флойда. Двусторонний алгоритм Дейкстры. Алгоритм Джонсона. Алгоритм A*.
- Определение минимального остовного дерева. Теорема о разрезе (лемма о безопасном ребре). Алгоритм Прима. Алгоритм Крускала. Алгоритм Борувки. Комбинация алгоритмов Прима и Борувки для достижения лучшего времени работы. Единственность минимального остова: достаточное условие. Поиск обязательных и возможных рёбер в минимальном остове.
- Определение сети, потока, разреза. Понятие остаточной сети, дополняющего пути. Теорема Форда-Фалкерсона. Алгоритм Форда-Фалкерсона.
- Паросочетание в двудольном графе, максимальное паросочетание. Увеличивающие пути. Теорема Бержа. Алгоритм Куна. Максимальное независимое множество и минимальное вершинное покрытие в двудольном графе.
- Sparse Table. Дерево отрезков. Обновление в точке и сумма на отрезке. LCA. Метод двоичных подъёмов. Решение со Sparse Table.
- Декартово дерево по неявному ключу: операции split и merge.
- Интерфейс быстрого массива.
Целевая аудитория курса: - Те, кто начинает карьеру в ИТ
Возможность изучить все необходимое для начинающего разработчика: алгоритмы, ООП, основы рабочего кода языка C++. Вы заложите крепкий фундамент для дальнейшего развития в сфере ИТ. - Начинающие ИТ-специалисты
Если у вас уже есть базовые знания, наш курс поможет структурировать их и получить комплексный практический опыт на реальных примерах. - Практикующие ИТ-специалисты
Тем, кто уже является действующим разработчиком, и хочет изучить новый язык программирования.
На программе вы: - Освоите новую востребованную профессию
- Станете крепким junior-разработчиком со знанием языка программирования С++
На всех курсах вы получите: - Постоянное живое общение с преподавателем МФТИ на вебинарах и в телеграмм-чате группы
- Ответы на все свои вопросы по ходу курса от преподавателя
- Обратную связь на интересные домашние задания