Спортивное программирование (подготовка к олимпиадам)

В нашем клубе программирования и робототехники Электрон в Краснодаре мы проводим набор детей 2-11 классов на курсы по подготовке к спортивному программированию.

Спортивное программирование — это относительно новое, но бурно развивающееся направление.

Для чего?

Идея спортивного программирования состоит в том, чтобы решать задачи не только правильно, но и быстро. Это как раз те навыки, которые сейчас востребованы в компаниях, занимающихся разработкой программного обеспечения. В реальной жизни программист должен уметь не только решить поставленную задачу, но и сделать это максимально быстро, так как это сокращает издержки компании и делает её конкурентоспособной на рынке.

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

Идея и принцип

Итак, идея спортивного программирования состоит в том, чтобы соревноваться в написании программ на скорость. Отличие от традиционных олимпиад по программированию заключается в том, что на олимпиадах нужно просто решить предлагаемый набор задач за отведённое время. При этом не имеет никакого значения за какое время эти задачи были решены.

Например, два участника решили по 2 задачи из 5 предложенных. При этом один из них решил эти задачи за 30 минут, а всё остальное время думал над остальными, но так и не смог решить, а другой потратил все 5 часов на решение этих двух задач, а к остальным даже не приступал. Баллы за эту олимпиаду они получат одинаковые, что не совсем справедливо.

В спортивном программировании наряду с количеством решённых задач огромное значение имеет также время их решения.

Обычно соревнования проходят так. Даётся 5-6 задач различной степени сложности. Каждая задача оценивается определённым количеством баллов, в зависимости от сложности, например так: 500 (самая простая), 1000, 1500, 2000, 2500. Но 500 баллов за первую задачу можно получить только если она решена в первую минуту состязания. Далее каждую минуту её стоимость падает на 2 балла. Например, если эту задачу решить через 10 минут после начала соревнования, то за неё участник получит уже не 500, а только 480 баллов. Решённые задачи нужно отправлять на сайт, где их проверяет специальная программа (проверяющая система). Если проверяющая система находит ошибку (программа выдаёт неверный ответ на одном из наборов проверочных данных), то от стоимости этой задачи для данного участника вычитается по 50 баллов за каждую неудачную попытку сдать задачу. Побеждает участник, набравший максимальное количество баллов.

Рейтинг и перспективы

Каждый участник на основе своих выступлений получает рейтинг, который является общедоступным и отображается на сайте.

Есть несколько крупных сайтов по спортивному программированию. У нас в стране ведущим считается сайт codeforces.com. Рейтинг лучших программистов по версии Codeforces на данный момент выглядит так: http://codeforces.com/ratings. Понятно, что взрослые, как правило, имеют рейтинг выше, студенты — пониже, школьники — ещё ниже, но главное состоит в том, что каждый может не только узнать какое место он занимает в мире или просто относительно своих друзей, но и отслеживать свой прогресс по изменению рейтинга. При должном отношении к делу, рейтинг должен каждый год расти. Если этого не происходит, то это хороший повод задуматься.

Многие компании, занимающиеся разработкой программного обеспечения, особенно крупные, обращают внимание на рейтинг при приёме на работу. Участники, входящие в ТОР-100 рейтинга, — желанные персоны, без преувеличения, для любой компании в мире. Крупные фирмы, такие как Google, Apple, Facebook, Яндекс, Mail.ru, Вконтакте ежегодно проводят свои собственные чемпионаты по спортивному программированию, по результатам которых победители и призёры часто приглашаются на собеседование.

Помощь при поступлении

Большое преимущество спортивное программирование даёт и при поступлении в вузы. Победы и призовые места на соревнованиях по спортивному программированию позволяют получить дополнительные баллы к ЕГЭ при поступлении. В случае значительных успехов в этих соревнованиях абитуриент может сразу получить 100 баллов по ЕГЭ по информатике или даже быть зачисленным вообще без экзаменов.

В спортивном программировании огромное значение имеет математическая подготовка. Поэтому в рамках курса «Спортивное программирование» у нас проводятся также занятия и по олимпиадной математике.

Возрастная категория: 2-11 классы.

Стоимость: 480 руб/занятие. Первое занятие бесплатно.

Продолжительность занятия: 90 минут.

Периодичность: 2 занятия в неделю.

После окончания курса выдаётся сертификат.