Pull to refresh
91.79
Naumen
Мечтай. Создавай. Меняй мир к лучшему

Зачем мы болеем за спортивное программирование

Reading time3 min
Views3K
На протяжении восьми лет Naumen активно занимается образовательными программами, в частности, поддерживает олимпиады по спортивному программированию. Сегодня расскажем, как изменилось АСМ-движение и почему оно нам интересно.

Отметим сразу, что мы не будем писать про спортивное программирование как интеллектуальный вид спорта (соревнования бывают командные и личные), нам интересно ACM ICPC — международная командная студенческая олимпиада по спортивному программированию. Часто эти понятия путают даже участники олимпиад.

Немного про АСМ

Как рассказали организаторы подобных олимпиад в Екатеринбурге, на самом деле понятие АСМ уже устарело. Раньше официально они назывались АСМ ICPC, а с 2018 года — просто ICPC. Поэтому слово «айсиэмщик» нужно заменить, видимо, на «айсиписишник» :)

image

По общим правилам в олимпиадах участвуют команды из трех человек. Это студенты высших учебных заведений или аспиранты первого года обучения. Командам на пять часов выдаются компьютеры и от восьми до двенадцати задач. Решения принимаются на C, C++, Java, Python, Pascal, C# и т.д… Ответы посылают на тестирующий сервер. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то пославшая её команда получает об этом сообщение и может послать исправленную версию кода. Задача считается решённой, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются.

Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решили одинаковое количество задач, то смотрят на штрафное время. Оно считается по времени сдачи задач и попытке, с которой код был написан.

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

Плюсы и минусы АСМ


О плюсах и минусах спортивного программирования рассказали сотрудники Naumen, которые участвовали в олимпиадах ICPC.

Плюсы

+ лучшая практика по алгоритмам;
+ увеличивается скорость решения;
+ хорошо разбираешься в базовых вещах, например, чем HashSet отличается от TreeSet;
+ можешь просчитать скорость выполнения и объем потребляемой памяти;
+ учишься находить ошибки как в своем, так и в чужом коде;
+ разбираешься во внутреннем устройстве того или иного языка программирования: плюсы, минусы и подводные камни;
+ возможность найти друзей-единомышленников;
+ возможность заработать приличные деньги. Например, за победу на VK CUP дают 2^20 (~10^6) рублей;
+ если повезет, бесплатно попутешествуешь по России и миру.
Минусы

— «говнокод» — главное не качество, а чтобы решение прошло все тесты
— забываешь про такие понятия, как архитектура, фреймворк
— по словам коллег-мужчин, мало девушек

Безусловно, соревнования ACM, как и другие профессиональные олимпиады, нужны для выявления талантов. Если речь идет об отработке реальных навыков программирования, ACM не лучший способ. Но он сможет дать нужные связи.

image

«Когда я устраивался в Naumen, у меня не было ни опыта работы, ни даже знания используемого в департаменте языка. Зато была пара лет интенсивного ACM, что и помогло мне получить работу и начать развиваться уже в промышленной разработке», — рассказал наш коллега Влад.

Зачем это IT-компаниям


Для начала расскажем, как Naumen поддерживает олимпиады ICPC:

  • предоставляем подарки участникам и победителям;
  • помощь в программе: открытие и выступление сотрудников перед студентами;
  • партнерская поддержка организации мероприятия.

Мы понимаем, что ICPC нужны, как и другие профессиональные олимпиады, для выявления талантов. Олимпиады показывают человека сразу как специалиста, и как часть команды. Для нас это важно.

image

Зачем мы поддерживаем подобные мероприятия:

  • олимпиады затягивают талантливых студентов и школьников в мир IT;
  • если человек тратит свое время на олимпиады и дополнительное обучение, его нужно поддержать и помочь развиваться дальше;
  • повышение узнаваемости компании. Участники олимпиад – это целевая аудитория компаний. И будет ошибкой не воспользоваться возможностью рассказать о себе не просто студентам ИТ-шникам, а тем, кто «болеет» программированием.
Tags:
Hubs:
+9
Comments5

Articles

Information

Website
www.naumen.ru
Registered
Founded
Employees
1,001–5,000 employees
Location
Россия