«Чтобы расти, важно соревноваться с лучшими»
Две команды студентов НИУ ВШЭ – Нижний Новгород выступили в полуфинале крупнейшего командного чемпионата мира по программированию ICPC в Санкт-Петербурге. Всего в полуфинале встретились более 300 лучших команд Северной Евразии. Чемпионат проводится с 1970 года и является показателем уровня подготовки студентов ИТ-специальностей.
В рамках чемпионата команды студентов со всего мира соревнуются в решении сложных задач по программированию за ограниченное время. Участие в ICPC позволяет студентам проявить свои навыки программирования, алгоритмического мышления и командной работы, а также предоставляет возможность познакомиться с лучшими студентами и профессионалами в области информатики со всего мира.
Чемпионат проводится в несколько этапов:
- квалификация, четвертьфинала (для Нижнего Новгорода это соревнование в Саратове, где участвуют команды Поволжья и Юга России)
- полуфинал (Санкт-Петербург, куда приезжают команды со всей России и ближнего зарубежья)
- финал, где встречаются команды со всего мира.
Тренер нижегородских команд — сотрудник ИТ-кампуса НЕЙМАРК Алексей Шмелев – серебряный призер ICPС-2011, отмечает, что команды в полуфинале выложились на сто процентов и продемонстрировали высокий уровень подготовки.
Команда нижегородского кампуса НИУ ВШЭ в составе Ильи Антонова, Дмитрия Шустрова и Дамира Канделова впервые пробилась в этот этап чемпионата и решила 2 задачи.
Команда в составе Тимура Лебедева, Андрея Мельникова и Даниила Конова решила 6 задач и получила диплом II степени. От финала команду отделило лишь несколько штрафных минут.
Тимур Лебедев, студент 3 курса программы «Программная инженерия»
Если сравнивать задания полуфинала с предыдущими этапами, то, конечно, они заметно сложнее. На решение дается 5 часов, и может показаться, что это очень много. На самом деле задач много, и на каждую нужно выделить время, чтобы ее продумать, написать, отладить и исправить баги, если есть. В последние минуты мы с командой додумывали решение еще одной задачи, но нам просто не хватило времени ее сдать.
Чтобы выиграть олимпиаду такого уровня, нужно уметь быстро читать и понимать условия задач, сразу представлять, какие алгоритмы и структуры данных могут быть полезны для решения. И, конечно, нужно уметь работать в команде, с учетом сильных сторон каждого участника (например, кто-то очень хорошо разбирается в отдельных темах, кто-то умеет быстро набирать код и т.п.).
Мы ставили перед собой целью выйти в финал. Но, к сожалению, в этом году мы немного не дотянули. Но в следующий раз обязательно выйдем!
Студенты отмечают, что подготовиться к такому уровню соревнований позволяют регулярные командные и индивидуальные тренировки: контесты они решают еженедельно. Однако не менее важно решать задачи в одиночку: это повышает шансы сдать сложные задачи на контесте и даёт возможность участникам более эффективно распределять решение разных задач между друг другом.
Андрей Мельников, студент 3 курса программы «Программная инженерия»
Самое важное - умение решить задачу, понять её идею, и, если нужно, объяснить эту идею сокоманднику. Больше всего времени уходит на придумывание решения, хотя скорость набора кода также очень важна. Умение грамотно распределять задачи в команде позволяет решать задачи параллельно - на ICPC каждой команде даётся один компьютер, поэтому важно придумать решение задачи и, возможно, написать код решения на листочке, чтобы потом быстрее написать тот же самый код на компьютере
Больше всего я хочу стать сильным специалистом, который будет уметь решать нетривиальные задачи. Также мне хотелось бы в будущем заняться преподавательской деятельностью и готовить школьников к олимпиадам, чтобы больше нижегородских школьников достигали вершин и двигали вперёд Нижегородскую область и нижегородское олимпиадное программирование.
Алексей Шмелев, тренер команд, отмечает, что участие в престижном соревновании по программированию, безусловно, закаляет характер и дает преимущества, пусть и опосредованные, при трудоустройстве.
Алексей Шмелев
Командный чемпионат мира ICPC общепризнанно самый престижный, поэтому некоторые ИТ-компании выбирают себе кандидатов на собеседование по результатам финальной и полуфинальной таблиц. Важен сам факт, что команда заняла высокое место.
Бывают примеры, когда бывший олимпиадник способен решить задачу намного лучше, чем опытный специалист, который не был в олимпиадном движении. Олимпиада – это всегда решение задач повышенной сложности, попытка найти какие-то нестандартные ходы.
Хотя трудоустройство – это больше приятный бонус. Большинство великих спортсменов побеждали потому, что им нравится соревноваться. А для того, чтобы расти, нужно соревноваться с лучшими.