Олимпиада по программированию: свежие впечатления
Проводили олимпиаду совместно ОООИВА (общероссийская общественная организация инвалидов войны в Афганистане), РООИ (региональная общественная организация инвалидов) «Стратегия» и Центр непрерывного математического образования.
Проводили на деньги спонсоров, главным из которых была фирма-производитель компьютеров «НИКС». Московское правительство, кажется, к этому тоже руку приложило, правда, я не понял как именно. Как выяснилось на закрытии, президент фирмы «НИКС» сам был прикован к постели после травмы позвоночника, и начинал свой бизнес, будучи лежачим инвалидом. Сейчас он восстановился, практически, полностью, но проблемы инвалидов не забыл.
Идея проведения олимпиады по программированию среди инвалидов, не зависимо от вида заболевания и способа получения инвалидности, конечно, хороша, и как оказалось, нова! Теперь, идёт некая борьба за то, кто её оседлает. От исхода этой борьбы зависит, станет ли олимпиада ежегодной. Надежда на это есть.
Один из основных организаторов - председатель РООИ «Стратегия» Владимир Александрович Крупенников. Личность совершенно незаурядная! Инвалид-афганец, может с большим трудом передвигаться на сложных костылях, виртуозно владеет коляской, - будучи уже инвалидом получил звание заслуженного мастера спорта, покорив на своей коляске Казбек и Эльбрус. К тому же, как сказали на пресс-конференции, он стал чемпионом мира по армреслингу среди здоровых. Тесно связан с ОООИВА, которой принадлежит санаторий «Русь», где и проходил второй тур.
Центр непрерывного математического образования занимается в основном математическими и компьютерными олимпиадами для детей. Работают там весьма энергичные и весёлые ребята, в основном, выпускники мехмата МГУ. Именно они готовили задачи для нашей олимпиады, и оценивали работы. Кроме этого, они взяли на себя подготовку компьютеров для участников второго тура. Они были весьма благожелательны и, на мой взгляд, вполне компетентны. Возглавлял их группу Виталий Дмитриевич Арнольд. – человек вулканического темперамента, энтузиаст в лучшем смысле этого слова. На церемонии закрытия он привёл интересный пример: оказывается, третий год подряд всероссийскую детскую олимпиаду по математике выигрывает юноша, к огромному сожалению, не запомнил его имени, с ДЦП такой степени, что он не может писать, и его речь, практически невозможно разобрать.
Всего в олимпиаде приняло участие около 300 человек, в том числе из ближнего и дальнего зарубежья. Первый тур проводился заочно, в основном по электронной почте. Задания были из самых разных областей, связанных с компьютером. Информатика, математика, программирование. Причём, при оценке результатов упор делался не на количество решаемых задач, а на качество решений. Надо отметить, что по поводу решений жюри занимает весьма специфическую позицию. По их убеждению, олимпиадные задачи не предусматривают единственного решения, и поэтому решений они стараются не публиковать. Они неоднократно выражали надежду, что нерешённые задачи будут стимулировать участников к поиску решений как самостоятельно, так и в общении между собой. Не очень понятно, из каких соображений (может быть из боязни лишний раз травмировать инвалидов) сводные количественные результаты ими также не были обнародованы ни в первом, ни во втором туре. Были только качественные итоги – кто прошел во второй тур, кто занял вторые и третьи места (по 15 мест). Предполагалось, что каждому участнику будут индивидуально высланы его результаты: что и как у него оценено. У этого подхода, однако, есть два недостатка. Во-первых, он не предусматривает диалога, и даже апелляций при оценивании работ (мне кажется, это объясняется нехваткой времени у членов жюри, видимо их недостаточно сильно заинтересовали). Во-вторых, участнику остаётся непонятным его положение относительно других членов группы, - чего и сколько они решали, приходилось выяснять в личных разговорах участников. Надо отметить, что организаторы сознательно старались преуменьшить спортивную составляющую, и подчеркнуть творческую. Упор, также, делался на стимулирование общения участников олимпиады между собой, что, мне кажется, очень разумным.
После первого заочного тура было отобрано 15 человек для второго, теперь уже очного, тура. Пять из них по web-дизайну, и десять по программированию. Можно отметить, что среди 15 финалистов 5 человек были незрячие. Это Алексей Фёдорович Алексеев из Реутова Московской области и Владимир Лукьянов из Москвы (оба старожилы клуба «Интеграция»), Андрей Зюликов из Екатеринбурга и Дмитрий Шевляков из Курска – активные участники нашей рассылки. А также Михаил Пожидаев из Северска Томской области, совсем ещё молодой парень. Членом клуба интеграция также является Антон Иванов из Москвы, хотя он и не ВОСовец. Среди участников были несколько человек с церебральным параличом и несколько опорников в инвалидных колясках. Почти все участники приехали с сопровождающими (разумеется, так же за счёт организаторов).
Второй тур проходил в санатории «Русь». Несколько слов об этом санатории, ибо само пребывание в нём можно было бы рассматривать, как награду. Во всяком случае, я в жизни не отдыхал в лучших условиях. Санаторий расположен около города Руза примерно в двух часах езды автобусом от Москвы. Его территория (около 1 квадратного километра) целиком занимает полуостров на Рузском водохранилище. Шестиэтажный жилой корпус -все номера выходят на одну сторону, на водохранилище. Рядом нет ни шоссейных, ни железных дорог, ни посёлков, ни других санаториев, что и обеспечивает природную тишину.
Двуместные номера типа полу-люкс – туалет с раковиной, ванная комната с ванной, отдельным душем, раковиной и беде. Два стенных шкафа в прихожей. Комната метров 18-20. Две кровати, диван, два кресла, два стула, пуфик, два столика, две тумбочки у кроватей, комод-бар под телевизором, холодильник. Огромная лоджия. Потолки 3,50 - 3.80. Кормёжка на убой. Бар, пив-бар, кофе-бар, кинозал, диско-бар, и т.д. Отдельный 5-ти этажный оздоровительный корпус, бассейн, сауна и прочая.
Санаторий раньше принадлежал ЦК КПСС, а в 1988 году перешёл к инвалидам-афганцам, и теперь носит имя их первого председателя Лиходея. 18 мая там должна была начаться большая конференция по реабилитации инвалидов, человек на 400, поэтому мы попали как раз в пересменок, и были, можно сказать, единственными бтателями.
Программа второго тура.
13.05.2002
14:00 заезд
20:00 организационное собрание
21:00 - 24:00 индивидуальная подготовка компьютеров
14.05.2002
10:00 - 15:00 индивидуальная подготовка компьютеров
15:00 – 19:00 конкурс программистов
20:00 экскурсия по музею афганской войны.
21:00 дискотека с караоке
15.05.2002
10:00 – 18:00 конкурс web-дизайнеров
19:00 праздничный ужин, выступление ансамбля «Русь»
21:00 дискотека с караоке
16.05.2002
11:00 отъезд
15:00 - 17:00 пресс-конференция и награждение.
Для проведения олимпиады были завезены десять компьютеров фирмы «НИКС» - пентиум 4 1.4 ГГц 128 RAM. Каждый участник предварительно заполнял анкету с перечнем программного обеспечения, которое он хотел бы иметь на компьютере во время соревнования, кроме этого, мы имели право сами устанавливать привезённое с собой программное и аппаратное обеспечение. Не смотря на все усилия организаторов, и выделенное для настройки время, все проблемы так и не удалось разрешить. Так, организаторы совсем не были готовы к тому что кто-то привык работать в среде ДОС используя Аргус. Однако и с этой проблемой они справились. На одной из машин Джоз был толи некорректно поставлен, толи не так настроен, что привело к зависанию и сбоям в его работе во время проведения олимпиады. На этом Дмитрий Шевляков потерял добрую половину задачи. Не были продуманы и такие мелочи, как перекур для курящих. Организаторы категорически настаивали на отделении сопровождающих от участников на время самого конкурса. Они открыто заявили, что хотят быть уверены, что работают сами инвалиды, а не сопровождающие, что в заочном туре, сами понимаете, не очевидно. Вполне понятное желание, но можно было бы выделить сопровождающего из самих организаторов.
Сначала предполагалось разделить программистов по двум номинациям – системное программирование и математическое программирование. В дальнейшем организаторы пришли к выводу, что задачи по системному программированию требует слишком много времени. Поэтому они провели единый конкурс, включив в него одну задачу по системному программированию.
Вот задание для программистов.
1. Дан файл, содержащий текст со скобками трёх видов – круглыми, квадратными и фигурными. Выяснить правильность расстанови скобок. Правильным текстом считается текст, построенный по таким правилам:
1) Текст, не содержащий скобок, правилен.
2) Если тексты А и Б правильны, то правилен и текст АБ, полученный приписыванием текста Б к концу текста А.
3) Если текст А правилен, то правильны и тексты (А), [А], {А}.
2. Закрасьте как можно больше клеток доски NxN следующим способом:
1) Сначала выбирается произвольная клетка;
2) Каждая следующая клетка должна быть соседней с предыдущей, но не быть соседней с остальными закрашенными клетками. Соседними считаются клетки имеющие общую сторону. Клетки, имеющие общую вершину, но не сторону, соседними не считаются
3. Дано N камней. Нескольких сортов и прибор, позволяющий за одну операцию сравнить сорта двух камей – то есть выяснить, одного они сорта, или разных. Известно, что среди данных камней некоторый сорт составляет большинство, то есть к этому сорту относится более половины камней. Найти хотя бы один камень из этого большинства, выполнив не более N сравнений.
4. (Системное программирование) Дать сравнительную характеристику следующим программным продуктам:
1) Volkov Commander
2) Far
3) Windows Commander
Для характеристики можно выбрать любую версию этих продуктов. Рекомендуется указать сильные слабые стороны всех программ, сравнить их возможности для тех или иных применений.
Задание по web-дизайну
Дан сайт с базой данных задач, решений, участников. Сайт с простым текстовым интерфейсом. Надо его оформить.
К сожалению я не имею точной формулировки этой задачи, а привожу её с чужих слов. Оценивался творческий подход.
Результаты подводились без участия конкурсантов, а результаты были объявлены в самом общем виде лишь на церемонии награждения. На организационном собрании организаторы подчеркивали, что ценные подарки получат все участник второго тура, но что именно – компьютер, принтер, сканер или что-то ещё, будет зависеть от занятого места. До самого награждения было неясно – кто на что может претендовать. А дело оказалось в том, что до самого последнего дня организаторы изыскивали всевозможных спонсоров дабы увеличить «призовой фонд». В результате, им удалось обеспечить каждому участнику компьютер пентиум 4 с монитором 19 дюймов, плюс победителям номинаций – лазерные принтеры от спонсора, фирмы Хьюлет-Паккард. Плюс для незрячих, экземпляр Jaws от спонсора, фирмы Элекджест. Плюс всем незрячим диктофоны Panasonic от спонсора «Логос». Плюс игрушки от спонсора 1С, с коим у РООИ «Стратегия» тесные связи, и перспективы трудоустройства относятся в первую очередь к 1С программированию, а также к работке в компании «НИКС». Участники также получили книги от Центра непрерывного математического образования. Представителем мэрии также было дано обещание включить всех москвичей участников второго тура в первую очередь проекта «Последняя миля» - подключение к Интернет по выделенной линии.
Я специально расписываю достоинства проведённой олимпиады, чтобы привлечь как можно больше участников на следующий год.
Награждение проводилось в мэрии Москвы без высокопоставленных чиновников, но при участии депутатов российской и московской дум, при участии всех спонсоров, и представителей многих организаций инвалидов. От ВОСовких структур присутствовали директор «Логос» г-н Степанов и директор института, прошу прощения, не помню точного названия, г-н Ваньшин. Двухчасовая пресс-конференция и церемония награждения снимали несколько каналов телевидения, благо 16-го был международный день инвалида. Однако сюжет, показанный ТВЦ тем же вечером, вызывает сильнейшие сомнения в умственной вменяемости корреспондентов и редакторов канала. Бессовестно выдавая чужие слова за собственные мысли, перевирая имена и факты, ведущая репортажа ничтоже сумняшеся называла работу скринридера сканированием текста, совершенно обошла организаторов, (по репортажу энергичнейший Владимир Крупенников предстал жалким бессловесным и беспомощным непонятно кем, толи участником, толи декораций олимпиады), перевернула всю последовательность событий. Если бы не короткие фрагменты интервью с участниками, то право слово, лучше бы и не показывали.
Но вернёмся к победителям. Первые места заняли.
В номинации системное программирование - Сергей Глебов (Москва, опорник)
В номинации программирование - Михаил Пожидаев (Северск Томская обл. незрячий)
В номинации web-дизайн - Александр Пятков (Москва, кажется, ДЦП)
В программировании также был отмечен Андрей Зюликов (Екатеринбург, незрячий)
Причём!
- о работе Александр Пяткова жюри высказалось так: «мы были не просто поражены, мы были шокированы, когда за 7 часов работы Александр Пятков создал сайт равных которому и в Интернете-то не просто найти!»
- о работе Сергея Глебова сказали, что её можно сразу печатать.
- о Михаиле Пожидаеве было сказано, что это самый молодой и один из самых далеко живущих от Москвы участников, тем приятнее его победа.
Всех участников второго тура назвали победителями первой всероссийской олимпиады по компьютерным технологиям среди инвалидов.
Перед церемонией награждения меня и Андрея Зюликова дружески подначивали, мол, что же это вы, такие асы, а в детские игры с молодежью играете. Выяснилось, что не только играем но и проигрываем, особенно я. В горячке олимпиады мне казалось, что дело в не совсем равных условиях. За одно и тоже время Сергей Глебов набрал три страницы текста сравнения файловых оболочек, а я полторы, задачи-то, в общем, понятные, а вот скорость физическая (не умственная!) работы, - охохо. Профессионалу, например с Джозом, или с брайлевской строкой, трудно тягаться на время со зрячим профессионалом той же квалификации. Поразмыслив на досуге, я пришёл к другому выводу, которым и хочу поделиться. Во-первых, мы претендуем на интеграцию в нормальную среду, и должны подчиняться требованиям этой среды, адаптируясь к ней, а, не адаптируя её к себе. Считаешь, что тебе трудно на время работать, - никто не заставлял, сам вызвался. Во-вторых. Вынужден признаться, что основная причина моей относительной неудачи кроется в неподготовленности и в легкомысленном отношении к серьёзному делу. Под подготовкой я имею в виду и психологическую подготовку, и подготовку компьютера и настройку программного обеспечения. Играть в шахматы и играть шахматный турнир с жестким контролем времени совсем не одно и тоже. Тем, кто захочет участвовать в олимпиаде в следующем году, очень советую специально потренироваться к очному туру. Поработать на время. На реальных задачах. Полистать сборники задач по программированию. Тщательно подобрать и настроить программное обеспечение. Я вот драгоценных полчаса потерял на легкомысленном отношении к языку программирования. Мне, до некоторой, степени всё равно, на чём программы писать. Сделав задание первого тура на VBA, как самой удобной для отладки оболочке, я решил, что и в очном туре ею же и обойдусь. Поглядел я на первую задачу, и вижу, что для текста произвольного объёма, её проще всего на Си написать. А я его не взял. Посмотрел – на компьютере старенький Борлэнд Си 3.1 стоит. Ну, я его запустил начал делать, а цвета все не те –видно плохо, работать трудно, да и окна не такие как в 5.0. Да это - пол беды. А вот когда он просто завис под XP, я очень пожалел, что свой не поставил или хотя бы этот не проверил. Другой нюанс. Я до сих пор точно не могу сказать, действительно ли это было, или я так неправильно понял. Задачи нам сначала прочитали вслух с некими пояснениями, а потом раздали файлы и бумажки с ним. Первую прикидку я проделал по вслух прочитанному тексту, как оказалось, совершенно неправильно поняв вторую задачу. Ещё деталь. Когда всё время работаешь на одном и том же компьютере, невольно ожидаешь, что и на том, который тебе для олимпиады выделят, всё точно так же будет. В этот раз на этом попался Алексей Фёдорович Алексеев. Он привык работать с шестым MS DOS, а поставить его на большой винчестер крайне проблематично. А ведь могут дать компьютер хуже, чем у Вас. А могут диски оказаться по-другому разбиты. Или памяти для какого-нибудь монстра не хватит. В общем, как учил Жванецкий, «ТщательнЕй надо, тщательнЕй».
За сим желаю всем, кто пойдёт по нашим следам, не наступать на наши грабли!
Владимир Лукьянов
17.05.2002
PS. Ещё раз выражаю благодарность всем организаторам и спонсорам олимпиады.
Шлю горячий привет новым друзьям и надеюсь, они тоже поделятся своими впечатлениями.