Репортаж про финал II Чемпионата и II Первенства России по спортивному программированию

от автора

🎄 С новогодним настроением всех участников Хабра! Я Иван Клюев, занимаюсь организацией и продвижением соревнований по программированию в России и у нас тоже есть свой ежегодный праздник. Это суперфинал Чемпионата и Первенства России по спортивному программированию. Сегодняшний пост — рассказываем как прошли соревнования в дисциплине «Продуктовое программирование». Кроме крупного призового фонда, победители получают еще и звания Мастеров спорта по спортивному программированию.

🌟 Неплохо, не правда ли? А подробности о соревновании, как всегда — ниже.

Команда Хакатоны.рус отвечала как раз за организацию соревнований в дисциплине «Продуктовое программирование». Поэтому ниже будет репортаж о соревновании именно по этой дисциплине.

Справка: В чем различие Чемпионата и Первенства России по спортивному программированию? Это разделение участников по возрасту.
В Первенстве России участвуют школьники и студенты колледжей (14–18 лет), а Чемпионат России принимает команды (16+ лет), состоящие из студентов вузов и специалистов предприятий​. В Чемпионате РФ нет верхнего ограничения по возрасту, и даже команда очень возрастных разработчиков может принять участие и получить шанс на победу.

Официальным видом спорта спортивное программирование признано в России с 2022 года. Здесь также присваиваются спортивные разряды и звания Мастеров спорта. В рамках соревнований участники решают задачи в области алгоритмического программирования, разработки продуктов, информационной безопасности.

Как устроены Чемпионат и Первенство России по спортивному программированию

Фото с защиты решения на Первенстве РФ в дисциплине «Продуктовое программирование»

Фото с защиты решения на Первенстве РФ в дисциплине «Продуктовое программирование»

Чемпионат и Первенство России по спортивному программированию в 2024 году проводился Федерацией Спортивного Программирования (ФСП) в трех дисциплинах:
— Алгоритмическое программирование,
— Программирование систем информационной безопасности (кибербезопасность),
— Продуктовое программирование.

Вот полный список дисциплин этого вида спорта в России:
(сайт ФСП, раздел «Что такое спортивное программирование»)

Спортивные дисциплины:

  • Алгоритмическое программирование: разработка оптимальных алгоритмов для задачи из кейса за ограниченное время.

  • Информационная безопасность: задачи, связанные с кибербезопасностью, включая поиск и устранение уязвимостей, а также защиту от кибератак.

  • Продуктовое программирование: создание программных продуктов, таких как приложения, боты или веб-сервисы.

  • Программирование робототехники.

  • Программирование беспилотных авиационных систем (БАС).

Новые дисциплины (список на пополнение в будущем):

  • Искусственный интеллект,

  • Дизайн-мышление и проектирование,

  • Квантовые вычисления,

  • Аддитивные технологии.

Регистрация на соревнования обычно открывается осенью каждого года, за несколько недель до начала окружного этапа. Подробная информация о правилах, регламентах и требованиях к участникам доступна в разделе «Документы» на официальном сайте ФСП России

Так, с 22 по 24 ноября 2024 года состоялись окружные этапы Чемпионата и Первенства России по дисциплине «Продуктовое программирование». В них приняли участие свыше 100 команд и более 1500 участников со всех Федеральных округов России, а также включая новые регионы. 

Формат отбора в финал интересен тем, что команды проходят по двум критериям: по квотам на регионы и по общему рейтингу. На каждый федеральный округ выделяется определенное количество мест для команд. В итоге, в финал Чемпионата России (ЧР) вышло 30 команд (23 — по квотам и 7 — по общему рейтингу). Точно также, в финал Первенства России (ПР) попали еще 30 команд (23 — по квотам и 7 — по рейтингу).

Кроме основных соревнований, в рамках окружного этапа прошел онлайн-квиз по истории Федерации спортивного программирования и общей тематике программирования. В нем приняли участие более 60 человек — и это было увлекательное завершение насыщенного событиями отборочного этапа!

Один из каверзных вопросов онлайн-квиза звучал так: «А знаете ли вы каким кодом обозначается ошибка «сервер отказывается варить кофе, потому что он чайник»?
(Ответ: Код 418. HTTP код ошибки 418 I’m a teapot сообщает о том, что сервер не может приготовить кофе, потому что он чайник. Эта ошибка ссылается на Hyper Text Coffee Pot Control Protocol (гипертекстовый протокол кофейников) который был первоапрельской шуткой в 1998 году).

В онлайн-финал ЧР и ПР по продуктовому программированию прошли 42 команды, а уже из низ в супер-финал вышли 5 команд ЧР и 5 команд ПР.  Для этих ТОП-10 с 10 по 13 декабря была доработка решений онлайн, затем защита. Все 10 команд суперфиналистов защищались ОЧНО 15 декабря на супер-финале в Москве на новой инновационной площадке в РЭУ им. Плеханова. У команд было по 7 минут на защиту и по 3 минуты на вопросы жюри. 

Еще одно фото с суперфинала, на сцене команда Nodehock

Еще одно фото с суперфинала, на сцене команда Nodehock

Задача финала и критерии оценки

Задача финала:
Главной задачей участников финального этапа в дисциплине «Продуктовое программирование» было создание онлайн‑платформы для эффективного взаимодействия Федерации спортивного программирования России (ФСП) с ее региональными представителями. Цель разработки — решение задач автоматизации процессов обработки заявок, управления данными и координации мероприятий по спортивному программированию.

Скрин кейсового задания

Скрин кейсового задания

Напомним,«Кейс хакатона» — это тема конкурсного задания. А ещё есть «Кейсодержатель» — персона (или группа лиц) от организации, которая придумала кейс и является главным организатором. В данном случае, в качестве кейсодержателя выступала ФСП России. 

Теперь про основные функции платформы, которые предстояло реализовать командам на ЧР и ПР России:

  1. Личные кабинеты:

    • Для представителей регионов — подача заявок, управление профилем, отслеживание результатов.

    • Для ФСП — обработка заявок, управление календарем мероприятий, аналитика.

  2. Загрузка и обработка данных:

    • Сохранение информации о победителях.

    • Формирование итоговых протоколов.

    • Ведение аналитики.

  3. Уведомления:
    Информирование команд и всех других причастных к ЧР и ПР лиц о результатах заявок и изменениях в Едином календарном плане мероприятий (ЕКП).

Сценарии использования продукта включали разработку функций, связанных с авторизацией пользователей, подачей заявок, управлением календарем соревнований и формированием отчетов. За реализацию дополнительных функций командам предоставлялись дополнительные баллы.

Критерии оценки

Жюри оценивало проекты на основании следующих аспектов:

  1. Архитектурное решение (15 баллов):

    • Масштабируемость, модульность системы, структура базы данных.

  2. Качество кода (5 баллов):

    • Загруженные решения на GitHub с инструкциями, комментариями и демонстрацией работы приложения.

  3. Презентация MVP (5 баллов):

    • Четкость, структура и визуальное оформление, а также навыки представления команды.

  4. Полнота данных (10 баллов):

    • Количество подключенных регионов, объем синтетических данных.

  5. Готовность решения (48 баллов):

    • Реализация базовых сценариев (всего 8), дополнительных сценариев и функционала.

  6. Удобство использования (42 балла):

    • User Experience (UX) и User Interface (UI): эстетика, согласованность дизайна, навигация и доступность для различных групп пользователей.

Момент жаркого обсуждения в команде перед защитой решения

Момент жаркого обсуждения в команде перед защитой решения

Команды представляли свои решения через GitHub в виде готовых приложений и видео-презентаций продолжительностью до 7 минут. Точнее, соревнование проходило на нашей платформе Хататоны.рус , а уже эта платформа интегрируется с GitHub и для каждой команды создаются свои репозитории, куда участники как раз отправляют решения

Также предусматривались довольно строгие технологические требования: использование open-source инструментов и запрещение платформы iOS. Каждый этап сопровождался обязательными чек-поинтами, где проверялась работа и активность команды,  экспертными сессиями в формате вопрос-ответ и индивидуальными экспертными сессиями с общей обратной связью после каждого этапа

Финальное задание оценивалось как по готовности в части функциональности, так и по визуальному и технологическому совершенству решений, что позволяло определить лучших из лучших. Супер-финалисты могли дорабатывать решения в период с 10 по 13 декабря. Для них была организована индивидуальная экспертная сессия, специальная лекция по питчингу и презентации и техническая проверка оборудования.

Победители и награды

Кульминацией сложной и увлекательной работы участников, которые продемонстрировали свое мастерство, креативность и умение решать задачи высокого уровня стало 15 декабря. В этот день в Москве торжественно завершились II Чемпионат и II Первенство России по спортивному программированию в дисциплине «Продуктовое программирование». 

На торжественном закрытии участников поздравил Председатель правления ФСП России, Первый заместитель министра спорта Российской Федерации Одес Хасаевич Байсултанов, а Министр спорта Российской Федерации Михаил Владимирович Дегтярев направил «Приветственный адрес» участникам соревнований.

Финалистов поздравляет Председатель правления ФСП России Одес Хасаевич Байсултанов

Финалистов поздравляет Председатель правления ФСП России Одес Хасаевич Байсултанов

А теперь перейдем к победителям, эти лучшие команды получили не только дипломы, спортивные звания и денежные призы, но и возможность представлять нашу страну на международных соревнованиях по спортивному программированию (список имен опубликован в пресс-релизе ФСП).

Победители Первенства России (участники 14-18 лет):

  • 1 место: команда «Лицеисты КФУ» (Республика Татарстан)

    • Илья Крахмальников

    • Дамир Фазылзянов

    • Марсель Хуснуллин

  • 2 место: команда «DAVG» (Оренбургская область)

    • Глеб Касилов

    • Варвара Старикова

    • Дмитрий Колядин

    • Василий Шевлюк

    • Алексей Юматов

  • 3 место: команда «404» (Калининградская область)

    • Никита Борзов

    • Алёна Молотова

    • Андрей Сафаров

    • Марина Шефер

  • 4 и 5 места достались, соответственно, командам “Bytefire” (Донецкая Народная Республика) и “Nedohack” (Донецкая Народная Республика).

Победители Чемпионата России (участники от 16 лет и старше):

  • 1 место: команда «One-Zero-Eight» (Республика Татарстан)

    • Авхадеев Альберт

    • Бельков Руслан

    • Булгаков Артём

    • Дерябкин Владислав

    • Полин Сергей

  • 2 место: команда «E-not GPT» (Донецкая Народная Республика)

    • Вавилин Михаил

    • Киселёв Даниил

    • Руднев Константин

    • Сыгинь Иван

    • Сыгинь Леонид

  • 3 место: команда «Код 418» (Донецкая Народная Республика)

    • Евтушенко Сергей

    • Зозуля Михаил

    • Коржов Антон

    • Николаенко Дмитрий

    • Рустамов Владислав

  • 4 и 5 места заняли, соответственно, команды “Центрифуга” (Калининградская область) и “Бииркут” (Якутия).

Призовой фонд составил 1 100 000 рублей или по 550 000 рублей для каждого соревнования:
1 место -300 000 рублей
2 место — 150 000 рублей
3 место — 100 000 рублей

Победители получили спортивные разряды, а члены команд, занявших 1-е места, стали Мастерами Спорта по Спортивному Программированию. 

Еще раз поздравляем победителей и теперь ниже познакомим вас с их решениями.  

Презентации победителей

Очень сильную подготовку показали команды из Республики Татарстан, поделившие первые места в обеих ветках финала. Ребята стали победителями в Первенстве России, а команда «One-Zero-Eight» забрала главный приз в Чемпионате России. 

1 место ПР: что показала команда «Лицеисты КФУ» (Татарстан)

Команда «Лицеисты КФУ» на церемонии награждения

Команда «Лицеисты КФУ» на церемонии награждения
Скрин из презентации команды «Лицеисты КФУ»

Скрин из презентации команды «Лицеисты КФУ»

Первым рассмотрим интересное решение, которое предложили ребята из команды «Лицеисты КФУ». Они разработали комплексную платформу для Федерации спортивного программирования, которая достаточно детально решает насущные проблемы организации.

Команда состояла из трёх выпускников Яндекс.Лицея: Ильи Крахмальникова, Марселя Хуснуллина и Дамира Фазылзянова. Они точно определили главную проблему: сотрудники ФСП тратят слишком много времени на координацию между собой и принятие решений.

Их решение включает несколько ключевых особенностей:

1. Умная система уведомлений об изменениях в Едином календарном плане (ЕКП) соревнований.

2. Автоматическая генерация протоколов в удобном формате.

3. Многоязычный интерфейс с поддержкой темной темы.

4. Встроенная аналитика для отслеживания прогресса команд и участников.

Платформа предлагает два типа личных кабинетов:

— Для представителей центрального ФСП с правами суперадминистратора,

— Для региональных представителей, которые могут публиковать информацию о региональном ФСП.

Особенно практичным выглядит процесс работы с соревнованиями: региональные представители могут подавать заявки на включение соревнований в ЕКП, а после одобрения центральным ФСП эти события автоматически появляются в общедоступном календаре. Также есть удобный мультизагрузчик для внесения результатов соревнований.

Технически решение построено на современном стеке: Django для бэкенда, PostgreSQL для базы данных, всё упаковано в Docker-контейнеры. Команда уже думает о будущем развитии проекта и планирует добавить интеграцию с федеральными базами данных и даже внедрить элементы искусственного интеллекта для более глубокой аналитики.

1 место ЧР: решение команды «One-Zero-Eight» (Татарстан)

Команда «One-Zero-Eight» на церемонии награждения

Команда «One-Zero-Eight» на церемонии награждения
Скрин из презентации команды “One-Zero-Eight”

Скрин из презентации команды «One‑Zero‑Eight»

Теперь с удовольствием расскажем о решении команды“One‑Zero‑Eight” из Татарстана. Это хорошо проработанный проект, который они назвали «ФСП Линк».

Команда состояла из членов студенческого сообщества Университета Иннополис: Артёма Булгакова, Альберта Авхадеева, Влада Дерябкина, Сергея Полина и Руслана Белькова (ML-инженер). Ребята правильно определили основные проблемы: избыточные коммуникации внутри ФСП, неструктурированный обмен информацией и снижение эффективности работы из-за постоянной необходимости координации между сотрудниками и внешними акторами.

Решение от “One-Zero-Eight” выделяется несколькими интересными особенностями:

  1. Удобный импорт данных из Telegram-каналов региональных представительств с AI-парсингом новостей.

  2. Система умных уведомлений (включая напоминания о необходимости обновить данные).

  3. Экспорт мероприятий в популярные календарные приложения (Google Calendar, Яндекс.Календарь).

  4. Интерактивная карта мероприятий с возможностью быстрого перехода к местоположению.

  5. Детальная аналитика по участникам, включая рейтинги и историю участия.

Платформа имеет три основных раздела:

  • Общедоступные страницы для спортсменов,

  • Личный кабинет администратора,

  • Личный кабинет регионального представителя.

Судей впечатлила проработанная система учета участников с возможностью отслеживания их достижений, включая:

  • Историю участия в соревнованиях

  • Медальный зачёт

  • Коэффициент успешности

  • Рейтинг на платформе

Техническая реализация была построена на современном стеке:

  • Frontend: React, Vite, shadcn/ui, TailwindCSS

  • Backend: Python, FastAPI, Beanie

  • База данных: MongoDB с текстовым индексом и пайплайнами

  • Хранилище файлов: MinIO

В планах развития проекта команда предусматривает интеграцию с федеральными базами данных, создание личного кабинета для участников и добавление всевозможного обучающего контента.

Дополнительными преимуществами решения были названы Telegram-бот и PWA (Progressive Web App) для быстрого доступа к платформе с любого устройства. Решение выглядит “One-Zero-Eight” очень продуманным и современным, с особым акцентом на удобство пользователей и автоматизацию рутинных процессов.

Фотогалерея с победителями и жюри

По уже сложившейся традиции, в заключение поста — несколько фото с церемонии награждения. На финальном фото участников было так много, что все они с трудом поместились в кадр фотоаппарата. Поздравим победителей еще раз 🌟
(Полная галерея фото есть в ВК https://vk.com/album-218628569_305804508)

Иван Морщагин рассказывает о критериях кейса

Иван Морщагин рассказывает о критериях кейса
Один из моментов суперфинала - идет представление команды

Один из моментов суперфинала — идет представление команды
Большая групповая фотография на память о Первенстве и Чемпионате России

Большая групповая фотография на память о Первенстве и Чемпионате России
Еще одно групповое фото на память

Еще одно групповое фото на память

Соревнования ФСП — 2024 закончились, но впереди новые баттлы — участвуйте и побеждайте!

Прошедшие 2-е Чемпионат и Первенство России по спортивному программированию — это были не только испытание для лучших программистов страны, но и настоящий праздник творчества, командной работы и креативности. Соревнования показали, сколько в нашей стране талантов, и дали возможность участникам не только проявить себя, но и обменяться опытом, найти новых друзей и единомышленников.

Если после прочтения этого поста вам тоже захочется попробовать силы в соревнованиях по программированию, то нет ничего проще — проверьте список ближайших хакатонов, на которые открыта регистрация на сайте Хакатоны.рус (это наш сайт). Заходите, регистрируйтесь и участвуйте. Для краткости — все есть в телеграм, там мы тоже выкладываем информацию о хакатонах, см. на канале хакатоны.рус / хакатоны / it-соревнования / ctf, и присоединяйся.

Спасибо всем участникам, организаторам и партнёрам ФСП за насыщенный и вдохновляющий праздник талантов на 2-м Первенстве и Чемпионате России по спортивному программированию.

До встречи в Новом 2025 году 🎄💻!  


ссылка на оригинал статьи https://habr.com/ru/articles/870470/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *