На пути к мировому первенству ACM-ICPC

10 октябрь, 2007 - 11:41Андрій Кухар

С 12 по 15 сентября на базе Винницкого национального технического университета состоялся финал Всеукраинской студенческой олимпиады по программированию. Это мероприятие дает возможность учащимся отечественных вузов продемонстрировать и усовершенствовать свои умения в создании алгоритмов и программ. Его цель – определение лучших команд, которые вскоре будут представлять Украину на полуфинальных соревнованиях Юго-Западного региона Европы.

На пути к мировому первенству ACM-ICPC
Долгожданный миг

В финале украинской олимпиады, являющемся четвертьфиналом мирового первенства ACM-ICPC (International Collegiate Programming Contest), приняли участие 26 команд из 19 отечественных вузов, а также два коллектива из Грузии. Победителями состязаний стали представители Национального университета «Львовская политехника», за отведенное время решившие 10 задач, второе место разделили два коллектива Киевского национального университета им. Т. Г. Шевченко (по 9), а третье – команды Национального технического университета «Харьковский политехнический институт», Винницкого национального технического университета, Таврического национального университета им. В. И. Вернадского и Тбилисского государственного университета им. Иванэ Джавахишвили, осилившие по 8 задач. Все они, за исключением последней, получили право участвовать в полуфинале, который пройдет с 25 по 28 октября в Бухаресте. Однако государство будет финансировать поездку только первых четырех команд.

Финальные украинские соревнования проводятся в вузе, занявшем первое место на прошлой олимпиаде. Поскольку в 2006 г. это был ВНТУ, нынешнее мероприятие проходило на базе данного университета.

На пути к мировому первенству ACM-ICPC
Как и год назад, финал соревнований проходил в стенах ВНТУ

Олимпиада состоялась при поддержке Министерства образования и науки Украины, Ассоциации по вычислительной технике (Association for Computer Machinery) и фирмы «Арт-мастер». Спонсорами и партнерами выступили компании Microsoft, Google, Intel, Aricent, Terrasoft, «Датагруп», «Инком», «Квазар-Микро», «Навигатор», «ABBYY Украина» и др.

По сравнению с мероприятиями прошлых лет, на нынешнем достаточно много времени было выделено на отдых и развлечения участников. Один из дней был полностью посвящен экскурсии в г. Умань и посещению парка «Софиевка».

На пути к мировому первенству ACM-ICPC
Хотя до окончания состязаний остались считаные минуты, работа кипит

Несколько слов о правилах проведения олимпиады. Финалу предшествуют внутривузовский и региональный этапы. Первый проходит практически в каждом высшем учебном заведении страны, где готовят по связанным с IT специальностям. Второй – по сути, полуфинал украинского первенства – синхронно проводится в центрах четырех региональных зон: Киеве (север), Харькове (восток), Запорожье (юг) и Львове (запад). В нынешнем году он состоялся с 18 по 20 апреля, а его участниками стали 142 команды. Вплоть до финала мирового первенства один вуз может быть представлен несколькими коллективами, но в финале выступает только один.

Олимпиада в разрезе

На пути к мировому первенству ACM-ICPC

Чтобы выяснить, что присуще всеукраинской олимпиаде, с какими проблемами сталкивается сегодня руководство вузов при подготовке IT-специалистов, мы обратились к декану факультета компьютерного интеллекта ВНТУ Владимиру Ивановичу Месюре, неизменно выполняющему функции координатора мероприятия.

Какова история соревнований? Каких результатов смогли добиться команды из Украины на мировом первенстве?

В 2000 г. преподаватели ВНТУ, накопившие опыт судейства в международных жюри и ознакомившиеся с правилами проведения состязаний мирового первенства ACM-ICPC, создали программу подготовки команд отечественных вузов. Инициативу Всеукраинской студенческой олимпиады по программированию поддержало Министерство образования и науки Украины, и уже с 2001 г. данное мероприятие проводится ежегодно. С 2002 г. проходят региональные полуфиналы.

Высшим достижением представителей отечественных вузов является завоевание командой Киевского национального университета им. Т. Г. Шевченко бронзовых медалей в финале мирового первенства 2003 г. Расположившись на 9-м месте, ребята немного не дотянули до серебра.

Чем отличается олимпиада по программированию от других соревнований?

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

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

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

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

В этом году в гостях у нас были только представители Грузии. Год назад кроме нее присутствовала также команда из Молдовы, однако сейчас приехать они не смогли из-за проблем с финансированием. Имели также желание «попрактиковаться» Болгария и Румыния, но у них в это время каникулы, и собрать студентов и преподавателей просто не получилось.

В первые годы проведения мероприятия в нем принимали участие много школьных команд, причем выступали они довольно успешно. Почему сейчас школ нет?

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

Как обстоят дела со спонсорством?

Спонсором каждой команды является вуз, который она представляет. Университеты оплачивают своим коллективам дорогу и командировочные. Финансовую сторону участия в полуфинале четырех коллективов решает непосредственно Министерство образования и науки Украины. Наконец, призы студенты получают благодаря поддержке компаний-спонсоров мероприятия. Привлечение такого отменного состава спонсоров, который есть сейчас, бесспорно, – заслуга фирмы «Арт-мастер».

С какими проблемами сталкиваются вузы при подготовке IT-специалистов, в особенности – разработчиков?

Во-первых, имеет место дефицит преподавателей, причина которого – низкая зарплата, существенно уступающая заработку практикующих программистов. Во-вторых, из-за подчас устаревших программ педагоги вынуждены быть преимущественно теоретиками. Решение первой проблемы ложится на плечи государства, в то время как вторая вполне преодолима самими университетами – им необходимо сотрудничать с коммерческими структурами. К примеру, ВНТУ недавно подписал договор с датской компанией CDM, чтобы наши преподаватели проходили в ней обучение и по ее программе читали студентам дополнительные курсы.

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

В нынешних состязаниях, проходящих под девизом «Учимся. Развлекаемся. Побеждаем», много времени было уделено как раз развлекательной составляющей. С чем это связано?

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

В состязаниях участвуют команды, состоящие из трех студентов и одного тренера (преподавателя). Разрешается, чтобы один член коллектива имел степень бакалавра (магистранты не допускаются). Возраст соревнующихся значения не имеет. В распоряжение каждой команды предоставляется один компьютер. Продолжительность тура составляет пять часов, в течение которых участникам предлагается не менее шести задач. Решением является программа (файл с исходным текстом), написанная на одном из разрешенных языков программирования: С/С++ или Pascal (он будет использоваться только на четвертьфинальных и полуфинальных соревнованиях до 2009 г. включительно; в финале мирового первенства можно применять также Java). Используются инструментальные средства Borland C++ 3.1 и Borland Pascal 7.0. Корректность решения проверяется на различных, неизвестных участникам входных данных тестирующим сервером. Задача считается выполненной, если программа выдала правильные ответы на всех тестах – в отличие от других олимпиад, частичные решения не учитываются. Побеждает команда, справившаяся с наибольшим количеством задач, а в случае одинакового результата – затратившая на это меньше времени.

В заключение хотелось бы пожелать успеха нашим ребятам на полуфинале в Румынии.

Команды, получившие право представлять Украину на полуфинале в Бухаресте
Место Вуз Участники
1 Национальный университет «Львовская политехника» Евгений Засоба, Марьян Провашинский и Юрий Колодий
2 Киевский национальный университет им. Т. Г. Шевченко (3-я команда) Антон Райчук, Роман Ризванов и Андрей Гадай
3 Киевский национальный университет им. Т. Г. Шевченко (2-я команда) Андрей Гриненко, Роман Апостол и Владислав Симоненко
4 Национальный технический университет «Харьковский политехнический институт» Дмитрий Джулгаков, Сергей Луговой и Артем Никульченко
5 Винницкий национальный технический университет Дмитрий Коржик, Андрей Козачук и Денис Будельков
6 Таврический национальный университет им. В. И. Вернадского Виктор Баринов, Сергей Канищев и Александр Мангилев