Алгоритмы на графах: от теории к эксперименту
Трек реализуется совместно с научно-учебной лабораторией процессно-ориентированных информационных систем (ПОИС) факультета компьютерных наук
Что вас ждёт?
Как программы в навигаторах мгновенно находят самый быстрый маршрут, а соцсети — цепочку друзей между двумя незнакомцами? Всё это — графовые алгоритмы. Но что скрывается за их магией? Какой алгоритм действительно быстрее, а какой просто «хорош на бумаге»?
В этом треке участники перестанут верить на слово и начнут проверять всё сами.
Что ждёт участников:
- Погружение в анализ — возможность научиться оценивать скорость работы кода не «на глаз», а с помощью строгих методов и реальных замеров.
- Программирование на C++ — написание эффективных реализаций классических алгоритмов на графах и оттачивание навыков отладки.
- Битва алгоритмов — сравнение настоящих «тяжеловесов»: алгоритмы Дейкстры, A*, Флойда–Уоршелла, Беллмана–Форда и других. Кто из них быстрее, а кто — экономичнее по памяти, и почему для больших городов нужен один подход, а для лабиринтов — совсем другой.
- Измерения и визуализация — создание собственных сценариев тестирования, измерение времени работы алгоритмов на графах разного размера и структуры, а затем превращение сухих цифр в наглядные графики и диаграммы с помощью Python.
- Охота на ошибки — приобретение навыков поиска узких мест в коде, логических ловушек и скрытых багов, которые портят производительность.
- Командное исследование — объединение в команды для проведения настоящего мини-исследования. Задача: выбрать набор алгоритмов, провести серию экспериментов, проанализировать результаты и представить выводы.
Участники не просто узнают, как работают графовые алгоритмы, но и получат навыки настоящего инженера-исследователя — умение ставить эксперименты, анализировать данные и делать обоснованные выводы. Это пригодится и в олимпиадном программировании, и в будущей работе в IT.
Требования к участникам
Кому подойдёт:
- учащимся 9-11 классов
- тем, кто уже знаком с основами C++ (массивы, циклы, функции) и хочет перейти на новый уровень — от написания кода к его осмысленному тестированию и оптимизации
Преподавательский состав
Нестеров Роман Александрович
Заведующий научно-учебной лабораторией процессно-ориентированных информационных систем (ПОИС)
Бегичева Антонина Константиновна
Старший преподаватель департамента программной инженерии, младший научный сотрудник научно-учебной лаборатории процессно-ориентированных систем (ПОИС)