СЕРВИСЫ
Каталог IT 
Разработка сайтов
Интернет-провайдеры

Отправить новость

Сообщите новость, интересную читателям 42.TUT.BY


реклама

Заметки очевидца: TopCoder в Минске


изображениеВ конце апреля в Минске прошел Belarus All College Programming Event – открытое соревнование по спортивному программированию в рамках тура по европейским университетам мирового конкурса TopCoder.
 
Предпосылки

Спортивное программирование – отличный способ получить опыт для студентов. Программисты, владеющие наиболее современными технологиями, нужны как белорусским компаниям, так и компаниям зарубежным. Помимо облегчения трудоустройства, конкурс среди программистов дает каждому из участников реально оценивать свои возможности и потенциал, сравнивая свои результаты с результатами коллег по всему миру. Тем более, что программисты – люди особенной душевной организации, и им необходимо создавать творческую атмосферу для плодотворной работы Тем более, атмосферу постоянного соревнования. Top Coder – отличный пример хорошей реализации этих условий. Однако презентация этого проекта стала возможной благодаря белорусскому проекту для программистов. Test The Best – первый проект по спортивному программированию в Беларуси и один из самых популярных сайтов в СНГ среди молодых программистов. Это сервис, где проводятся online-турниры среди программистов, а форум сайта является центром общения.

Во многом благодаря активности этого проекта, который выступил посредником в переговрах между американской стороной и белорусскими ВУЗами БГУ и БГУИР, TopCoder провел специальный конкурс в Беларуси раньше, чем в любой другой стране бывшего СНГ. TopCoder является одним из немногих мировых культовых конкурсов по спортивному программированию, и считается неофициальным чемпионатом мира в личном зачете. В 2006 году открытое соревнование впервые выиграл представитель России Петр Митричев. От большинства конкурсов TopCoder отличается форматом.

Формат

Так, участникам дается 3 задачи: простая, средняя и сложная и всего 75 минут на решение всех трех (фаза кодирования). Программы-решения задач могут быть написаны на одном из 4 языков (C++, C#, Java или VisualBasic.NET) должны пройти небольшой набор тестов – и только после этого засчитываются в зачет. В зависимости от времени подачи решения начисляются баллы. Чем раньше подано решение, тем больше баллов получает участник. Каждая задача имеет фиксированное максимальное количество баллов, которое можно получить за нее и которое постепенно уменьшается по ходу конкурса. В минском конкурсе TopCoder на завершении этой стадии у лучшего игрока было около 1200 баллов.

Далее следует 5-минутный перерыв.

После начинается 15-минутная стадия Challenge – где все участники имеют доступ к исходному коду программ друг друга (если это обычный конкурс, где участие принимает порядка 1000 человек то челледжить можно только тех, кто находится в твоей виртуальной комнате. В каждой комнате находятся порядка 20 человек) и пытаются предложить такие входные данные, которые приведут выполнение программы к ошибке. За каждую полученную ошибку от программы-конкурента игроку засчитывается 50 очков, за каждый неудачный – минус 25. Однако самое страшное наказание, если взломали твою программу. В этом случае все баллы, которые были начислены за ее решение, снимаются. Так и произошло в белорусском этапе, где у лидера взломали самую простую задачу, что лишило его сразу более 200 очков – и это лишило шансов победить. В итоге MasterZerg из СШ№41 занял лишь 3 место.

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

После стадии Challenge «арена» закрывается, и все оставшиеся решения проверяются организаторами расширенным набором тестов, куда включаются все корректные тесты, которые предложили участники во время Challenge. И только после этого объявляются официальные результаты.
Такая форма соревнования весьма азартна. Причем, как для участников, так и для зрителей. И чтобы разбираться в обстановке, необходимо потратить столько же усилий на понимание правил, как и, к примеру, для понимания футболаХод финала прошлого года TopCoder Collegiate Challengeкомментировали профессиональные спортивные комментаторы.

TopCoder «в кулуарах»

По словам Найала Руни, директора по европейским операциям TopCoder, Беларусь стала первой страной бывшего СНГ, куда приехала делегация топ-кодеров. Причем, Найала удивило количество зарегистрировавшихся участников, т.к. по его словам, они рассчитывали на гораздо более скромный результат. Конкурс TopCoder расширяет свои интересы как соревнованиями между архитекторами ПО, так и разработчиками программного обеспечения. Естественно, в дизайнерском конкурсе применяется другая методика – и решения проверяются специалистами вручную, и участнику указывается на слабые места, которые он дорабатывает. Причем, по словам Найла, участники прогрессируют с огромной скоростью, и такая форма получения опыта становится настолько популярной, что многие технические ВУЗы используют TopCoder в образовании своих студентов – ведь один из проектов TopCoder – это предложение реальных задач, на решении которых молодые специалисты могут получить необходимый опыт. Многие компании заказывают необходимые разработки у участников TopCoder. В настоящее время TopCoder активизирует свое воздействие на Европейский регион. Т.к. верхние строчки в рейтинге все чаще занимают именно европейские ВУЗы, интерес будет поддерживаться.

Так, сейчас 1 место в рейтинге ВУЗов занимает Варшавский Университет, 2 место – Санкт Петербург, 4 – Москва, 11 – Киев, 22 – Минск, БГУ.

Так и нужно

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

Артем Герасимович


Отправить новость
Сообщите редакции новость, интересную читателям 42.TUT.BY