Что такое спортивное программирование и как в него попасть
Фото: Максим Русев, корпорация «Синергия»
Спортивное программирование — вид киберспорта. За несколько часов участники должны написать программы для решения математических и алгоритмических задач, затем их результаты оценивают судьи. Такие соревнования начали проводить ещё в 1970-х годах, но до сих пор они вызывают у непосвящённых массу вопросов. Редакция Synergy Times задала их ведущему исследователю лаборатории ИИ и Big Data МФТИ, евангелисту технопарка «ИТ Крым» Сергею Голубкину.
Спортивное программирование — это соревнование на скорость написания кода?
Спортивное программирование — работа или хобби?
Какие соревнования по спортивному программированию бывают?
Это командный или одиночный вид спорта?
Какие бывают призы?
Спортивное программирование может пригодиться на практике или оно мешает работе?
Как новичку попасть в спортивное программирование?
Как готовиться к соревнованиям?
Какой язык используют в спортивном программировании?
Спортивное программирование — это соревнование на скорость написания кода?
И да, и нет. Требования могут меняться. Всё зависит от организаторов соревнований. Есть форматы, где просто учитывают количество верных ответов. Самый распространённый — пять часов на выполнение около 12 задач. Кто решил больше за отведённое время, тот побеждает. Существуют соревнования, где оценивают качество решения в баллах, например, от 0 до 100.
Спортивное программирование — работа или хобби?
Для большинства участников это хобби. Но есть спортсмены, которые стремятся стать профессионалами, регулярно получать спонсорские контракты и часть призового фонда. Спортивное программирование нельзя назвать надёжным источником дохода, но если стабильно посещать соревнования и показывать лучшие результаты, то может выходить вполне достойная сумма. Также есть возможность участвовать как организатор, член жюри или составитель задач. Это уже полноценная оплачиваемая работа.
Особенности профессии JavaScript-разработчика: легко войдёшь в IT, но сеньором не станешь
Читать подробнееКакие соревнования по спортивному программированию бывают?
Соревнования проводят для разных уровней подготовки: школьные, студенческие, турниры для специалистов. Также существуют многоуровневые соревнования с годовым циклом и системой отборов в финальный этап.
В пример можно привести чемпионат ICPC (International Collegiate Programming Contest). Он состоит из четырёх этапов, последний из которых — финал чемпионата мира. В декабре 2022 года в Москве 20 лучших вузовских команд боролись за кубок чемпиона Северной Евразии.
Высшее образование
Получи IT-профессию на факультете информационных технологий
Узнать, как поступитьЭто командный или одиночный вид спорта?
Для студенческих олимпиад обычно создают вузовские команды. Само решение задач часто одиночное, но бывают исключения. Состав команды может быть любым, но есть три главные роли:
-
алгоритмист (структурирует исходную информацию, превращая её в алгоритм);
-
математик (решает задачи с помощью теории вероятности и дискретной математики);
-
кодер (отвечает за быстрое создание программы).
На команду выдают один компьютер, поэтому писать код может только один человек.
uniyar.ac.ruData scientist решает задачу, другие отделы аплодируют: чем занимается специалист по данным
Читать подробнееКакие бывают призы?
Самые разные: от грамот и гаджетов до солидных чеков и премиального оборудования. Порадовать могут призы от Google Code Jam — за третье, второе и первое места выплачивают 1$ тысячу, 2$ тысячи и 15$ тысяч соответственно. Не стоит забывать, что для Google соревнования — возможность найти перспективных молодых специалистов.
icpc.global, Moscow State University, 2018 World ChampionsВ чемпионате ICPC команды, занявшие первые четыре места, получают 7,5$ тысячи, с пятого по восьмое — 6$ тысяч, с девятого по двенадцатое — 3$ тысячи.
Читай советы по карьере и новости об образовании в нашей группе «ВКонтакте»
ПодписатьсяСпортивное программирование может пригодиться на практике или оно мешает работе?
Спортивное программирование, особенно на уровне школьников и студентов, может помочь с поиском работодателей, которые хантят молодых перспективных сотрудников на подобных мероприятиях. Знаю случаи, когда через олимпиады спортсмены получали приглашения в топовые компании, такие как Google и Microsoft.
Как новичку попасть в спортивное программирование?
Студент может попроситься в вузовскую команду. Соревнования повысят шансы найти работу после окончания вуза или даже во время учёбы. Если занять призовое место, то можно будет указать это в резюме.
Школьникам лучше стартовать с олимпиад по информатике и программированию, особенно, если они пока не нашли команду.
Начать стоит с турниров с минимальными требованиями для отборочных туров: Code Jam, TopCoder Open, VK Cup. Первые этапы, как правило, проходят онлайн. Также можно поучаствовать в фестивале RuCode, организаторами которого являются МФТИ и другие ведущие российские вузы. В его программе: онлайн-курсы по искусственному интеллекту, интенсивы по программированию, математике и анализу данных и чемпионат по алгоритмическому программированию.
Специалист по кибербезопасности: «Если есть навыки и время, можно зарабатывать миллионы»
Читать подробнееКак готовиться к соревнованиям?
Можно решать задачи с прошедших соревнований, чтобы отслеживать, как меняется их структура с годами. Во многих вузах и математических школах есть дополнительные уроки, которые могут помочь с подготовкой к турнирам.
Кроме того, существуют курсы, на которых спортсменов учат новым подходам к решению задач. Есть специальные школы для программистов, в которых занятия проходят очно или онлайн.
Какой язык используют в спортивном программировании?
Чаще всего можно увидеть С++, Python и Java. В описании соревнований всегда указывается список языков, с помощью которых можно будет решать задачи.
Всем кодить! Зачем вашему ребёнку курсы программирования
Движение No-code: как стать разработчиком, но не писать код
Английский для программистов: как прокачать технический язык и какого уровня достаточно
Высшее образование
Получи IT-профессию на факультете информационных технологий
Вы научитесь разрабатывать и сопровождать программное обеспечение, изучите самые популярные языки программирования, освоите работу с базами данных. Во время обучения сможете участвовать в хакатонах и турнирах по спортивному программированию.
Средняя зарплата выпускника факультета 110 тысяч рублей.
Узнать, как поступить