Олимпиады по информатике. Взгляд изнутри.
Михаил Густокашин, гимназия №6 г. Тольятти.
Олимпиады по информатике проводятся уже около 20 лет. За это время было испробовано множество различных систем. Именно их я хотел бы рассмотреть с точки зрения участника олимпиад.
Критериями первых олимпиад были: удобство интерфейса, чистота кода (наличие комментариев, понятность) и т.д. Это были олимпиады по ПРОГРАММИРОВАНИЮ, т.е. действительно определяли способность участника к реальному программированию, когда в создании проектов участвовали многие люди. Эта система была создана для воспитания первого поколения программистов, когда резко ощущалась их нехватка.
На смену ей пришла новая система, в которой предлагалось решить алгоритмические задачи. Обычно решение оформлялось текстом или блок-схемой (вследствие отсутствия компьютерной техники и неоднородности ПО). Мне довелось поучаствовать в таких олимпиадах - впечатление не очень. Информатика без компьютера - это урок развития фантазии, а олимпиады, определяющие способность участников фантазировать, называются эвристическими, но никак не олимпиадами по информатике. Конечно, эта система имеет определенные достоинства: развивается алгоритмическое решение, развивается умение правильно излагать свои мысли. Такая система семинара полезна на факультативах, когда задача сначала коллективно обсуждается, а затем каждый реализует ее решение на компьютере сам. Такая система проведения олимпиад еще кое-где сохранилась, особенно там где общий уровень подготовки участников в области информатики не очень высок, или возникают проблемы с современной техникой. В таких олимпиадах не всегда побеждает не самый знающий, часто бывает, что побеждает наиболее аккуратный или просто наиболее эрудированный.
Следующие системы ближе знакомы мне (сам не раз принимал в них участие), поэтому остановлюсь на них несколько подробнее.
Система проведения олимпиад школьников (я назвал ее так, потому что большинство олимпиад школьников проводится именно по ней). Условия такие (такие они были несколько лет подряд в Самарской области, однако существует множество разновидностей такой системы): каждому школьнику дается одинаковый набор задач и примерно одинаковый инструментарий (PC, языки Паскаль, Си, и, иногда, Бейсик). В течение нескольких часов каждый школьник решает предложенные задачи, затем оформляет решение и сдает жюри. После окончанию олимпиады жюри производит тестирование программ (на одинаковом для всех участников тестах), с помощью автоматизированной системы тестирования или вручную. Достоинства: некоторым баллом оценивается неполное решение (частенько грешил этим, особенно если в задаче существует только два ответа, например YES или NO), что позволяет более слабым участникам не чувствовать неудовлетворенности в результатах олимпиады (очень неприятно, когда напротив твоей фамилии стоит 0), относительно спокойный ритм (после участия в турнирах acm я ценю это относительное спокойствие!), система реально оценивает уровень подготовки участников, их умение находить правильный алгоритм и реализовывать его на компьютере. Недостатки: невозможность исправить "глупые" ошибки. Один мой знакомый на такой олимпиаде забыл раскомментировать код, который переводил ввод-вывод в файл. Естественно автоматизированная система не засчитала решение этой задачи. Ожидание результатов, особенно при ручной проверке, может затянутся на неделю, в результате этого ожидания теряется часть интереса и азарта.
Система acm (Association of Computer Machinery). Обычно по такой системе проходят студенческие турниры. Чаще всего командные (команда - 3 человека, на команду дается один компьютер). Система существует с 80-х годов и с середины 90-х появилась в России. Засчитывается только полное решение задачи (т.е. решение, которое прошло абсолютно все тесты, подготовленные жюри). Все задачи равноценны. Учитывается время, которое команда затратила на решение каждой задачи (к итоговому времени прибавляется время от начала турнира до момента сдачи командой верного решения задачи). Количество попыток сдать задачу неограничено. За каждую неудачную попытку начисляется штрафное время. Во все время олимпиады (кроме последнего часа работает монитор, где вы можете посмотреть результаты соперников и свои собственные. Эта система обычно используется для проведения командных олимпиад школьников на базе университетов (например, в СамГУ в 2002 году она проводилась третий раз, а в некоторых университетах уже в шестой). Чтобы успешно участвовать в такой олимпиаде надо иметь отличные знания, большую практику и, самое главное, хорошо тренированную команду. Три "звезды" могут проиграть трем игрокам похуже, если те будут иметь опыт командной игры. В своих первых олимпиадах acm, участники нашей команды отнимали друг у друга компьютер, ругались, оспаривали умение писать программы другим участником, обсуждали каким местом и в какое вставлены руки у каждого из членов команды, в общем одного компьютера нам было явно мало. Но, постепенно, появилось умение работать в одной команде даже с людьми, с которыми ты раньше не участвовал и даже не общался ни разу. Тогда одного компьютера стало явно много, потому что алгоритмы были полностью продуманы на бумаге и программы писались очень быстро. Наличие монитора позволяет оценить, какие задачи проще, а какие сложнее (так как задачи равноценные, то это особенно важно). Не менее важно научиться отделять сложные задачи от простых - в условии равноценности, ограниченного и штрафного времени это особенно важно. Олимпиада по правилам acm больше всего похожа на спортивное шоу, почти как шахматы, только участвуют в одном поединке десятки команд. Она требует от человека умения общаться, обсуждать свои идеи, оценивать что более важно - уступить другому или сесть за компьютер самому, но главным остается все равно одно - умение правильно и быстро писать программы. Я считаю что это является целью любой подготовки к олимпиадам (в том числе и ДООИ).
26.03.02
Михаил Густокашин
msg_tlt@freemail.ru
g6prog.narod.ru
Наверх