За последние месяцы в Самаре прошли два крупных соревнования по программированию: Самарская областная межвузовская олимпиада по программированию (на базе межвузовского медиацентра г. Самары) и II (XIII) открытый командный студенческий чемпионат Поволжья по спортивному программированию (на базе Самарского государственного университета). Команда ПГУТИ в составе Сныткина Дмитрия (гр. ИСТ-81), Исаева Александра (гр. ПО-92у) и Казакова Михаила (гр. ИСТ-01) завоевала на этих соревнованиях дипломы третьей степени.
Об особенностях таких соревнований и подготовке к ним мы побеседовали с тренером этой команды доцентом кафедры ИСТ ПГУТИ Полукаровым Данилом Юрьевичем (на фото).
- Что представляют собой соревнования по программированию?
- Команде студентов, состоящей из трех человек, предлагается решить несколько алгоритмических задач (обычно от восьми до двенадцати). Результатом решения задачи является программа, написанная на одном из доступных языков программирования. Затем решение отсылается в проверяющую систему, где производится проверка правильности реализованного алгоритма на наборе входных данных. Если решение проходит все тесты, задача считается решенной.
- Почему программирование называется спортивным?
- Во-первых, из-за ограничения по времени: на все соревнование традиционно отводится пять часов. Много это или мало? Практика показывает, что этого достаточно. С одной стороны, ограничение требует рационально использовать имеющееся в распоряжении часы, а с другой - пять часов достаточно длительный промежуток времени, в течение которого участникам соревнований приходится находится в постоянном интеллектуальном напряжении. Без специальной подготовки выдержать пятичасовой марафон решения задач может далеко не каждый.
Во-вторых, учитывается время, за которое будет решена каждая из задач. Таким образом, команды соревнуются в количестве решенных задач и в скорости их решения.
В целом, подобные состязания чем-то сродни шахматам, спортивность которых, полагаю, ни у кого не вызывает сомнения.
- В чем заключается подготовка к соревнованиям по программированию?
- Самое главное - это работа и еще раз работа. Невозможно достичь требуемой квалификации и получить нужные навыки без каждодневных тренировок. Мы собираемся с ребятами у нас на кафедре в свободное от занятий время, прорешиваем некоторые задачи, изучаем теорию. Но основным способом тренировки все-таки остается самостоятельная работа студентов.
- Какими качествами должен обладать студент, чтобы добиться успехов в подобных соревнованиях?
- Поскольку главным способом тренировок является самостоятельная работа, то, прежде всего, это трудолюбие, упорство в достижении поставленной цели и, как это ни банально будет звучать, желание напрягать мозги. Также необходимы такие спортивные качества, как воля к победе и выносливость (как в спорте спортсмен напрягает мышцы, так и здесь в течение всех пяти часов соревнований требуется постоянное умственное напряжение).
- Трудно было подготовить успешную команду?
- На подготовку этой команды у меня ушло почти два года непрерывных тренировок. И подготовка все еще не закончена, работа ведется постоянно! Здесь нельзя останавливаться, несколько месяцев безделья могут стоить всего накопленного до этого опыта.
За прошедшие два года многие ребята ушли из команды. Кто-то понял, что это «не его», кто-то просто ленился тренироваться. В любом случае, остались только самые увлеченные.
- Какова ваша главная цель?
- Нашей главной целью является чемпионат мира по программированию, проводимый по версии организации ACM. Студенты нашего вуза регулярно выступают в четвертьфинале этого соревнования, однако пройти в полуфинал пока не получается.
- Кто вам помогает в вашей работе?
- Неоценимую помощь оказывает ИТ-клуб ПГУТИ и его активисты. Они помогают найти увлеченных студентов среди младших курсов и увлечь их олимпиадным движением. Среди активистов ИТ-клуба также немало студентов, увлеченных олимпиадами и конкурсами. Таким образом, ИТ-клуб - это наш стратегический партнер.
- Связаны ли олимпиадная и научная работы студентов?
- Практика показывает, что да. Студенты самостоятельно осваивают программирование под Linux, новые технологии и языки программирования. У таких студентов, как правило, просыпается интерес и к научной работе. Они участвуют в различных конкурсах и занимают там призовые места.
- Есть ли какие-нибудь трудности, связанные с олимпиадной подготовкой по программированию?
К сожалению, у некоторых студентов наблюдается низкий уровень математической подготовки. Дело в том, что олимпиадные задачи сильно математизированны. Они требуют от студентов знаний не только в программировании, но и в смежных областях. Поэтому студенты, занимающиеся олимпиадным программированием, заодно «подтягивают» свои знания и по другим дисциплинам.
- Что можно еще сделать для повышения результатов на олимпиадах?
- Необходимо привлекать абитуриентов, увлеченных программированием. Те небольшие наблюдения, которые я смог сделать, говорят, что максимальных успехов достигают те студенты, которые участвуют в подобных соревнованиях со школьной скамьи.
- Какую пользу студентам приносят занятия по олимпиадному программированию?
- Мне известно, что уже сейчас эти студенты имеют несколько заманчивых предложений от лидеров IT-индустрии региона. Так что после выпуска у них не будет проблем с хорошим трудоустройством. Данные студенты также принимают активное участие и в других конкурсах , а также в научной работе. Надеюсь, что после выпуска многие из них не охладеют к научно-исследовательской деятельности.
- Что бы вы хотели пожелать студентам ПГУТИ?
- На базе кафедры ИСТ проводятся занятия по подготовке студентов к олимпиадам по программированию. Мы открыты для всех, и прийти к нам заниматься может студент любой специальности. Посещая наши, занятия вы попадаете в дружный коллектив единомышленников. Наши занятия не похожи на обыденные «пары», здесь происходит постоянный обмен знаниями и приобретенным опытом не только между преподавателем и студентами, но и от студента к студенту.
Мы тесно взаимодействуем с IT-клубом ПГУТИ, поэтому вы сразу попадаете и в дружный коллектив клуба. Все самые свежие новости о предстоящих мероприятиях будут попадать к вам из первых рук. А мероприятий на базе IT-клуба проводится много, достаточно посетить его сайт по адресу: in-it.psuti.ru