скачать ВСЕРОССИЙСКАЯ ОЛИМПИАДА ШКОЛЬНИКОВ ПО ИНФОРМАТИКЕ В.М. Кирюхин МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ по разработке заданий для школьного и муниципального этапов всероссийской олимпиады школьников по информатике в 2010/2011 учебном году Москва 2010 ОГЛАВЛЕНИЕ Введение ……………………………………………………………………..……....…..… 3
7.1. Методика проверки решений задач участников …….......……………….……. 27 7.2. Система оценивания решений участников ………….…………………....…… 29 7.3. Технология проверки решений участников …………...………………………. 31 Список рекомендуемой литературы ……………………….…..……………………...…. 40 Введение Настоящие методические рекомендации подготовлены центральной предметно-методической комиссией по информатике в соответствии с Положением о всероссийской олимпиаде школьников и направлены на помощь муниципальным и региональным предметно-методическим комиссиям по информатике в составлении заданий для школьного и муниципального этапов всероссийской олимпиады школьников по информатике в субъектах Российской Федерации. Олимпиадные задачи – это лицо любой олимпиады, и насколько квалифицированно они будут разработаны, зависит и успех соревнования в целом. Более того, хорошие задачи после олимпиады начинают жить своей жизнью: они достаточно быстро распространяются среди будущих участников олимпиад по информатике, их начинают активно использовать при подготовке к соревнованиям учителя и наставники, на базе них создаются новые олимпиадные задачи. Подобрать или разработать хорошие задачи для школьного и муниципального этапов является достаточно сложной проблемой. Чтобы дать основные ориентиры разработчикам таких задач, центральной предметно-методической комиссией по информатике разработаны настоящие методические рекомендации, которые определяют требования к олимпиадным задачам и порядку их разработки, состав комплекта олимпиадных задач для каждого тура, типы и содержание задач. Кроме того, методические рекомендации содержат описание методики проверки решений задач и рекомендуемой системы оценивания, а также подходы к выбору средств автоматизации процесса проверки решений участников. Полезными будут также примеры олимпиадных задач и перечень ссылок на Интернет-ресурсы, а также список рекомендуемой литературы. Центральная предметно-методическая комиссия по информатике выражает надежду, что представленные методические рекомендации окажутся полезными при составлении задач для школьного и муниципального этапов всероссийской олимпиады школьников по информатике, и желает успехов членам муниципальных и региональных предметно-методических комиссий в этом не простом деле. В случае необходимости, дополнительную информацию по представленным методическим материалам можно получить по электронной почте, обратившись по адресу support@rusolymp.ru в центральную предметно-методическую комиссию по информатике. Настоящие методические рекомендации утверждены на заседании центральной предметно-методической комиссии по информатике (протокол № 7 от 24 июня 2010 года). ![]() Председатель центральной предметно-методической комиссии по информатике В.М. Кирюхин
В соответствии с п.п. 22 и 31 Положения о всероссийской олимпиаде школьников (далее – Олимпиада) школьный этап Олимпиады по информатике проводится по олимпиадным заданиям, разработанным муниципальной предметно-методической комиссией по информатике, а муниципальный этап по олимпиадным заданиям, разработанным региональной предметно-методической комиссией по информатике. В общем случае процесс создания олимпиадной задачи по информатике включает следующие основные этапы:
Вполне очевидно, что процесс создания олимпиадной задачи является итерационным. Очень часто случается, что условие задачи может кардинально измениться в зависимости от результатов выполнения последующих этапов. Результатом разработки соответствующими предметно-методическими комиссиями олимпиадных задач для школьного и муниципального этапа Олимпиады является комплект материалов, включающий:
В случае необходимости, предметно-методическая комиссия соответствующего этапа предоставляет также дополнительные материалы, необходимые для автоматизированной проверки решений участников, включая проверяющие программы, позволяющие для каждой задачи определять правильность полученного решения в автоматическом режиме. Кроме того, в этом случае предметно-методические комиссии должны также подготовить организаторам и жюри соответствующего этапа вариант Памятки участника. Комплект названных материалов должен передаваться в оргкомитет соответствующего этапа Олимпиады не позднее 7 календарных дней до начала соревнования, чтобы оргкомитет и жюри имели возможность подготовить необходимую компьютерную технику и программное обеспечение для проведения туров и проверки решений участников. При этом ответственность за неразглашение текстов олимпиадных задач и системы оценивания их решений до начала соревнований лежит на оргкомитете этого этапа Олимпиады.
Для проведения школьного и муниципального этапов всероссийской олимпиады школьников по информатике могут использоваться как переработанные и дополненные задачи, ранее использованные на других олимпиадах по информатике, так и оригинальные задачи, разработанные муниципальными и региональными методическими комиссиями. Основными критериями отбора олимпиадных задач должны быть следующие показатели [15]:
Важной особенностью задач, используемых при проведении школьного и муниципального этапов, является ориентация их на проверку развития у школьников теоретического мышления, логики, а также творческих способностей и интуиции. Предлагаемые задачи должны предоставлять возможность школьникам без специальных знаний решать нестандартные и новые для них задачи. Каждая задача должна позволять участникам сделать для себя небольшое открытие и в полной мере раскрыть имеющийся у них творческий потенциал. Особенно это важно для школьного этапа Олимпиады, основная цель которого – выявление наиболее талантливых школьников, начиная с 5–6 классов, и создание в дальнейшем всех необходимых условий для их творческого роста, например, путем привлечения в соответствующие кружки, образовательные организации системы дополнительного образования и т.п.
При формировании комплектов задач для школьного и муниципального этапов Олимпиады следует учитывать возрастные особенности участников, связь предлагаемых задач с программами изучения информатики и математики в образовательных организациях конкретного муниципального образования или региона, а также тот факт, что целью проведения начальных этапов Олимпиады является выявление наиболее талантливых школьников, которые увлечены информатикой и вне школьной программы самостоятельно занимаются изучением информатики в рамках системы дополнительного образования или с родителями. Здесь важно также учитывать, что в школьном этапе Олимпиады могут принимать участие обучающиеся 5 – 11 классов, в то время как в муниципальном этапе – только обучающиеся 7 – 11 классов. Но это не значит, что наиболее талантливым школьникам 5 – 6 классов путь на следующие этапы закрыт. В частности, выступая на школьном этапе за 7 класс и завоевав право участвовать в муниципальном этапе, такие школьники могут быть допущены к этому этапу, оформив обучение в форме экстерната по предмету «Информатика и ИКТ» в 7 классе или выше. То же самое можно сказать и об участниках муниципального этапа из 7 – 8 классов, которые могут претендовать на участие в региональном этапе Олимпиады. Учитывая вышесказанное, центральная предметно-методическая комиссия по информатике рекомендует для школьного этапа формировать разные комплекты задач для 5-6, 7-8 и 9-11 классов, а для муниципального этапа – разные комплекты задач для 7-8 и 9-11 классов. Количество задач в каждом комплекте должно быть не менее трех для каждого тура и определяется соответствующей предметно-методической комиссией по информатике. Задачи в каждом комплекте должны быть такой сложности, чтобы дать возможность проявить себя как недостаточно подготовленным, так и сильным участникам. Здесь важно не отпугнуть сложностью задач только начинающих свой путь в олимпиадном движении учащихся, а вовлечь их в олимпиадное движение по информатике и усилить их мотивацию к дальнейшему совершенствованию своих знаний и умений. С другой стороны, и сильные участники должны иметь возможность в полной мере продемонстрировать свои творческие способности, чтобы по результатам их выступлений можно было выявить лучшего из них, причем желательно одного, а не многих. Оценить сложность комплекта задач можно только по результатам выступления всех участников на основе распределения количества набранных баллов по участникам [15]. Здесь идеальным может быть вариант, когда кривая распределения количества набранных баллов по участникам совпала бы с прямой, проходящей от точки с максимально возможным количеством баллов и до нуля. Это говорило бы о том, что данный комплект задач оптимально продифференцировал всех участников по уровню их подготовки и творческим способностям и его сложность полностью соответствует уровню подготовки всех участников, в частности, половина участников набрала бы более половины от максимально возможного количества баллов. Если сравнивать уровень сложности комплектов задач для школьного и муниципального этапов Олимпиады, то вполне очевидно, что для муниципального этапа сложность комплекта задач должна быть выше. Этот факт предполагает тесное взаимодействие муниципальных и региональных предметно-методических комиссий по информатике, чтобы не было перекосов в ту или иную сторону.
При выборе типа задач для школьного и муниципального этапов необходимо руководствоваться следующими соображениями. Во-первых, в процессе решения олимпиадной задачи участники обязательно должны использовать компьютер. Во-вторых, при принятом разделении комплектов задач (5-6, 7-8 и 9-11 классы для школьного этапа и 7-8 и 9-11 классы для муниципального этапа) типы задач в каждом из комплектов также могут быть разными.
По давно устоявшейся традиции олимпиадные задачи для 9 – 11 классов могут быть трех типов. К задачам первого типа относятся стандартные задачи, решением которых является программа, формирующая по заданному входному файлу выходной файл. Задачи второго типа являются интерактивными. Решением задач этого типа также является программа, однако, в отличие от задач первого типа, вместо чтения исходных данных из входного файла и записи результата в выходной файл эта программа должна обмениваться данными с другой программой, определенной в условии задачи. В задачах третьего типа, которые называются задачами с открытым входом, решением является не программа, как в задачах первого или второго типов, а файлы выходных данных, соответствующие заданным в условии задачи входным файлам. Разные задачи можно решать с использованием разных языков программирования и систем программирования. Список допустимых языков и систем программирования устанавливается предметно-методической комиссией по информатике соответствующего этапа до начала проведения олимпиады с учетом настоящих рекомендаций. Для задач, в которых решением является программа, в тексте условия указывается максимальное время работы программы на каждом тесте и размер доступной программе памяти. В случае превышения установленных ограничений, тест должен считаться не пройденным. При этом указанные ограничения по памяти включают всю память, используемую программой, в том числе память под код программы, системные нужды и т.д. Решения перечисленных выше типов задач должны сдаваться участниками школьного и муниципального этапов олимпиады на проверку только на электронном носителе. В зависимости от типа задачи ее решением может быть либо текст программы, написанной с использованием допустимых сред программирования (для стандартных и интерактивных задач), либо набор выходных файлов, соответствующих заданным входным файлам (для задач с открытым входом), о чем должно сообщаться в условии задачи. Если решением задачи является программа и для проверки решений участников используется программная среда проведения соревнований, то ее компиляция в проверяющей системе осуществляется с помощью команды компиляции, соответствующей выбранному участником языку программирования. Таблица команд компиляции должна быть доведена до сведения всех участников перед началом каждого тура и размещена в памятке участнику. Для задач, решением которых является программа, в тексте условия рекомендуется указывать максимальное время работы программы и размер доступной программе памяти. Временем работы программы считается суммарное время работы процесса на всех ядрах процессора. Память, используемая приложением, включает всю память, которая выделена процессу операционной системой, включая память кода и стек. Для программ-решений рекомендуется также использовать следующие ограничения: размер файла с исходным текстом программы не должен превышать 256 Кбайт, а время компиляции программы должно быть не больше одной минуты. Участникам школьного и муниципального этапов Олимпиады разрешается использование в решениях задач любых внешних модулей и заголовочных файлов, включенных в стандартную поставку соответствующего компилятора. В решениях задач участникам запрещается:
Для задач с открытым входом формат выходных файлов должен полностью соответствовать описанным в условии задачи требованиям. При нарушении этих требований выходной файл на проверку не принимается. Муниципальные и региональные предметно-методические комиссии по информатике с учетом типа олимпиадных задач, разработанных для соответствующего этапа Олимпиады, формируют требования к форме представления результатов решений задач участников, которые заблаговременно доводятся до сведения участников и должны быть отражены в Памятке участнику, подготавливаемой для жюри соответствующего этапа.
Для обучающихся 7 – 8 классов рекомендуется использовать такие же типы задач, какие приведены в разделе 4.1. Поэтому все, сказанное о типах задач для обучающихся 9 – 11 классов, справедливо и для типов задач для обучающихся 7 – 8 классов. Формой представления результатов решения задач для обучающихся 7 – 8 классов должна быть либо программа, написанная с использованием определенных муниципальной или региональной предметно-методической комиссией по информатике языков и систем программирования, либо набор выходных данных, соответствующий заданному набору входных данных (для задач с открытым входом). Если решением задачи является программа, то допускается ввод данных либо из входного файла input.txt, либо из стандартного потока ввода, т.е. с клавиатуры, а вывод допускается как в выходной файл output.txt, так и в стандартный поток вывода, т.е. на экран монитора. Рекомендуется при формировании комплекта задач для каждого тура включать в его состав задачи различного типа, чтобы дать возможность проявить свои знания и умения участникам с различным уровнем подготовки.
Если ранее рассмотренные типы задач характерны как для школьного, так и для муниципального этапа Олимпиады, то типы задач для 5 – 6 классов ориентированы только на проведение школьного этапа. К сожалению, во многих регионах категория обучающихся 5 – 6 классов практически не привлекается к участию в школьном этапе. Считается, что такие школьники не готовы к решению олимпиадных задач по информатике в силу того, что в соответствии с Базисным учебным планом предмет «Информатика и ИКТ» не входит в федеральный компонент для 5-6 классов, а относится к школьному компоненту, и во многих школах обучающиеся 5-6 классов не имеют возможности в той или иной форме изучать этот предмет. При этом следует учитывать, что этот предмет представлен в федеральном компоненте Базисного учебного плана для 3 и 4 классов начальной ступени обучения, то есть, к 5 классу у учащихся уже сформированы элементы информационных знаний и умений. Отечественный и зарубежный опыт олимпиадного движения по информатике показывает, что если талантливость ребенка в области информатики выявляется и поддерживается в начальной школе, и далее непрерывно развивается, то именно такие школьники впоследствии становятся абсолютными чемпионами России и завоевывают золотые медали на международной олимпиаде по информатике. Таких примеров, когда шестиклассники уже участвовали в заключительном этапе Олимпиады по информатике и добивались хороших результатов, можно привести много. Из зарубежного опыта ярким доказательством вышесказанного является участие белорусского школьника уже в международной олимпиаде по информатике с 5 класса, когда он завоевал серебряную медаль, а уже в 2009 году, будучи восьмиклассником, он стал абсолютным чемпионом мира, опередив всех старшеклассников мира. Целесообразность вовлечения в школьный этап Олимпиады по информатике младших школьников поддерживается также новым Федеральным государственным образовательным стандартом начального общего образования, утвержденным Приказом Минобрнауки России от 6 октября 2009 г. № 373 (http://www.edu.ru/db-mon/mo/Data/d_09/m373.html), который вводится в действие с 1 января 2010 года. В частности, этим стандартом предусматривается изучение особо важных для олимпиадной ориентации школьников тем, включая алгоритмы, множества, элементы комбинаторики, введение в понятие моделирования, начала логики, знакомство с информационными структурами, а также использование исполнителей для реализации алгоритмов. Особое внимание обращается на освоение младшими школьниками правил клавиатурного ввода, графического интерфейса, работы на компьютере и в компьютерной сети. Понятно, что предъявлять к задачам для обучающихся 5 – 6 классов такие же требования, как и к задачам для старшеклассников, о которых речь шла выше, не совсем оправдано. Однако опыт проведения школьного этапа для таких школьников в ряде регионов страны показывает, что для выявления ранней одаренности у школьников младших классов могут с успехом использоваться следующие типы олимпиадных задач:
Понятно, что все олимпиадные задачи должны быть основаны на разработке алгоритма ее решения и реализации решения на компьютере. Однако формы представления результатов решения задачи могут быть разные. Самой простой формой является представление результатов решения задачи на бумажном носителе. Однако такой бумажный вариант не учитывает второй олимпиадной составляющей задачи по информатике – умения использовать компьютер для ее решения. Бумажный вариант представления алгоритма решения не характерен для олимпиадной информатики также в силу проблем, возникающих при проверке решений в таком виде, и непривлекательности для участников, поскольку в этом случае теряется грань между информатикой и математикой и возможности использования учащимся компьютера как партнера для проверки своего варианта решения, его исправления в случае ошибок, пошагового приближения к поиску оптимального решения задачи. Заменой бумажной формы представления результатов решения олимпиадных задач для обучающихся 5 – 6 классов является запись решения в форме программы, предполагаемой достаточно распространенными программными системами учебного назначения, которые вполне доступны для младших школьников. Такими системами являются, например, КуМир, Скретч, Роботландия, различные вариации Лого и т.п. Использование этих систем на школьном этапе Олимпиады позволяет школьникам применить на практике возможности компьютера при решении задачи, представлять результаты своего труда на формальном языке, использовать элементы моделирования в процессе решения задачи и продемонстрировать свои умения работать с компьютером. Кроме того, в этом случае у жюри школьного этапа появляется возможность автоматизировать процесс проверки решений задач, что немаловажно при проведении олимпиады любого уровня. Не следует исключать при проведении школьного этапа для обучающихся 5-6 классов возможность представления решений задач в виде файлов с текстом программы, написанной с использованием допустимых языков и сред программирования, о чем речь шла в разделе 4.2. Не исключено, что некоторые школьники младших классов уже могут программировать, и на Олимпиаде было бы неправильно не оценить их умения по достоинству.
При определении содержания задач для школьного и муниципального этапов Олимпиады по информатике следует руководствоваться примерной программой по олимпиадной информатике, приведенной в книге [15]. Данная программа разработана с учетом Государственного образовательного стандарта по предмету «Информатика и ИКТ» (Приказ Минобразования 2004 года и дополнение к Приказу Минобрнауки России 2005 года) с перспективой введения стандарта второго поколения для всех ступеней школьного образования: начальной пропедевтической (3-6 классы), основной (7-8 классы), старшей предпрофильной (9 класс) и профильной (10-11 классы), а также на основе анализа структуры современного содержания олимпиад по информатике. Программа является примерной, она отражает постоянно растущие требования к участникам Олимпиады в освоении наиболее важных разделов информатики с учетом развития олимпиадного движения, и обобщает 20-летний опыт развития содержания курса школьной информатики, банка задач региональных и заключительных этапов всероссийской олимпиады школьников, разработанных центральной предметно-методической комиссией по информатике. Представленная ниже примерная программа по олимпиадной информатике содержит восемь разделов, которые раскрываются входящими в них темами. Каждая тема, в свою очередь, содержит дидактические единицы, более подробно раскрывающие ключевые знания и умения, на которые могут ориентироваться разработчики задач школьного и муниципального этапов Олимпиады по информатике. Чтобы отразить в программе уровни сложности, каждая дидактическая единица в ней, характерная для участия в различных этапах всероссийской олимпиады школьников по информатике, имеет различное обозначение. В частности, выделено три уровня сложности – для 5-6, 7-8 и 9-11 классов, каждый из которых отмечен следующим образом:
С учетом сказанного примерная программа по олимпиадной информатике представляет собой следующее.
Олимпиадные задачи для школьного и муниципального этапов Олимпиады должны отличаться тематическим разнообразием и давать возможность использовать в процессе их решения знания и умения, характерные для основных этапов решения задач с помощью компьютеров. В частности, такими этапами являются:
Очевидно, что чем выше уровень Олимпиады, тем сложнее предлагаемые задачи и больший уровень знаний и умений требуется от участников. Но совершенно не правильно считать, что эта сложность возрастает только за счет программирования. Программирование здесь, как и в информатике в целом, играет важную, но не определяющую роль, и названный выше перечень знаний и умений участников в гораздо большей степени охватывает другие разделы информатики как науки.
При разработке задач для школьного и муниципального этапов большую помощь могут оказать существующие печатные издания и имеющиеся в свободном доступе интернет-ресурсы, содержащие коллекции олимпиадных задач разного уровня сложности. Причем в качестве основы для разработки олимпиадной задачи могут использоваться даже задачи международных олимпиад. Дело в том, что сложность задач заключительных этапов и международных олимпиад в большинстве случае определяется размерностью задачи. Уменьшив эту размерность, можно получить задачу, которая вполне под силу школьникам, которые только начинают свой путь в олимпиадной информатике. Если говорить о печатных изданиях, содержащих в достаточном количестве олимпиадные задачи по информатике, то здесь можно порекомендовать книги, перечень которых представлен в списке рекомендуемой литературы. Среди них можно выделить книги издательства «Просвещение» (http://prosv.ru/), непосредственно посвященные всероссийской олимпиаде школьников по информатике [15 – 18] и книги, изданные издательством «БИНОМ. Лаборатория знаний» в рамках библиотечки олимпиадной информатики [6, 9, 11, 12, 21, 26 – 30, 33, 36] (http://metodist.lbz.ru). Среди интернет-ресурсов полезными при разработке олимпиадных задач для школьного и муниципального этапа являются следующие сайты: http://algolist.manual.ru/olimp (сайт «Олимпиадные задачи по программированию»); http://www.olympiads.ru/moscow (сайт московских олимпиад по информатике); http://neerc.ifmo.ru/school (сайт «Олимпиады по информатике. Санкт-Петербург, Россия»); http://contest.ur.ru (сайт Уральских олимпиад по информатике); http://www.olympiads.ru (сайт по олимпиадной информатике); http://www.olympiads.nnov.ru (сайт «Олимпиадная информатика в Нижнем Новгороде»); http://acmp.ru или http://acm.dvpion.ru (сайт «Школа программиста» для школьников Красноярского края); http://acmu.ru (сайт «Олимпиады по информатике для школьников Ханты-Мансийского автономного округа»); http://olimpic.nsu.ru/nsu/archive/2005/index.shtml (сайт открытой Всесибирской олимпиады по программированию им. И.В. Поттосина); http://imcs.dvgu.ru/works/school.html (сайт школьных олимпиад, проводимых в Приморском крае); http://imcs.dvgu.ru/ru/event/jpa/2010/ai.html (сайт ДВГУ для проведения соревнований по игровому ИИ для школьников); http://olymp.karelia.ru/pract.htm (сайт школьных олимпиад Республики Карелия); http://school.sgu.ru (сайт по алгоритмизации и программированию Саратовского государственного университета); http://www.olympiads.ru/moscow/2009/79/archive/index.shtml (сайт с задачами московской олимпиады школьников по программированию для 7 – 9 классов). Можно также воспользоваться сайтами, которые содержат не только коллекции олимпиадных задач, но и обеспечивают возможность проверки решений представленных там задач. К таким сайтам относятся: http://acm.timus.ru/ (сайт Уральского государственного университета, содержащий большой архив задач с различных соревнований по спортивному программированию); http://informatics.mccme.ru (сайт дистанционной подготовки по информатике Московского института открытого образования и МЦНМО); http://imcs.dvgu.ru/cats (сайт ДВГУ, содержащий архив задач с системой онлайн-проверки); http://acm.sgu.ru (сайт Саратовского государственного университета, содержащий архив задач с системой онлайн-проверки).
Методику проверки и систему оценивания решений задач школьного и муниципального этапов Олимпиады предоставляют организаторам и жюри этих этапов соответствующие предметно-методические комиссии. В случае автоматизированной проверки решений задач все необходимые для этого материалы должны поступить в распоряжение жюри как минимум за 7 дней до начала Олимпиады, чтобы члены жюри смогли настроить и проверить работоспособность соответствующего программного обеспечения.
Методика проверки решений каждой олимпиадной задачи зависит от типа этой задачи. Если решением задачи является программа, то оценка правильности ее решения осуществляется путем исполнения программы с входными данными, соответствующими каждому тесту из представленного предметно-методической комиссией соответствующего этапа комплекта тестов с последующим анализом получаемых в результате этого выходных файлов. Если решением задачи является набор выходных файлов для заданного в условии задачи набора входных файлов, то оцениваются только представленные на проверку выходные файлы. Если участники Олимпиады должны сдавать на проверку решения в виде исходного текста программы на одном из разрешенных языков программирования, то проверка решений каждого участника должна осуществляться в следующей последовательности:
При компиляции исходного текста программы, которую участник сдал на проверку, необходимо учитывать следующее.
В случае нарушения принятых жюри ограничений решение участника считается неправильным и никакие баллы за эту задачу участнику не начисляются. Информация об этих ограничениях также должна быть размещена в Памятке участнику. При исполнении программы на каждом тесте, в первую очередь, жюри должно определить, нарушаются ли присутствующие в условии этой задачи ограничения на время работы программы на отдельном тесте и размер доступной программе памяти в процессе ее исполнения. В случае нарушения имеющих место ограничений баллы за этот тест участнику не начисляются. Если приведенные в условии задачи ограничения не нарушаются в процессе исполнения программы с входными данными, соответствующими конкретному тесту, то после завершения исполнения программы осуществляется проверка правильности полученного ответа. Эта проверка может осуществляться как путем сравнения полученных выходных данных с правильными ответами, так и с использованием предоставляемых предметно-методической комиссией соответствующего этапа проверяющих программ, если для проверки решений участников предполагается использовать специализированную программную среду соревнований с возможностью проверки решений в автоматическом режиме. Все представленные на проверку решения участников сначала должны проходить предварительное тестирование на тестах из примера или примеров, приведенных в условии задачи. Если на этих тестах решение участника выдает правильный ответ, то тогда это решение принимается жюри на окончательную проверку, которая после завершения соответствующего тура осуществляется на всех тестах из заданного набора тестов для этой задачи. В противном случае, решение участника считается неверным, и за него участнику не начисляются какие-либо баллы. При проверке решений участников с использованием специализированной программной среды соревнований процесс предварительной проверки осуществляется в течение тура по мере посылки решений на сервер соревнований. В зависимости от возможностей проверяющей системы на окончательную проверку может приниматься либо последнее прошедшее предварительное тестирование решение одной и той же задачи, либо то, которое он должен указать. В любом случае, участник Олимпиады должен быть проинформирован до начала тура, каким образом будет определяться решение, принятое проверяющей системой для окончательной проверки. Эту информацию также следует разместить в Памятке участнику. При проверке задач школьного этапа для обучающихся 5 – 6 классов, в процессе решения которых предполагается использование программных систем типа КуМир, Скретч, Роботландия и т.п., муниципальная комиссия должна предоставить жюри школьного этапа методику проверки таких задач с учетом установленных форм представления их решений участниками.
Система оценивания решений каждой олимпиадной задачи школьного и муниципального этапов Олимпиады должна предоставляться жюри предметно-методической комиссией соответствующего этапа. Система оценивания той или иной задачи в значительной степени определяется ее типом и установленной формой представления результатов ее решения. При разработке системы оценивания предметно-методическая комиссия по информатике соответствующего этапа сначала должна установить максимальный балл за полное решение задачи, а затем распределить его между различными вариантами частичных решений. При определении максимального количества баллов за задачу можно использовать два подхода. Первый подход основан на предварительной оценке членами предметно-методической комиссии относительной сложности отобранных на туры задач и последующем назначении максимального количества баллов за задачу с учетом этих оценок. Второй подход заключается в том, что каждая задача оценивается одинаково, например из 100 баллов, независимо от того, какого мнения относительно их сложности имеют члены жюри. В последнее время на региональном и заключительном этапах Олимпиады, а также на международных олимпиадах по информатике наиболее часто используется второй подход, то есть каждая задача оценивается из 100 баллов, независимо от ее предполагаемой сложности. Это объясняется следующими фактами. Сказать перед началом тура, какая задача будет для участников сложной, а какая – нет, практически не возможно, за исключением очевидных случаев или когда уровень подготовленности участников Олимпиады известен. Попытки вводить различные коэффициенты сложности задачи до тура и после тура были на первых всесоюзных и всероссийских олимпиадах по информатике, но потом от этого отказались, так как на результаты участников влияют многие факторы, учесть которые введением коэффициентов сложности перед началом тура очень сложно. Более того, нередки были случаи, когда простая, по мнению жюри, задача оказывалась для всех участников достаточно сложной. Нередки также случаи, когда при задании в явном виде уровня сложности задачи (максимальное количество баллов, которое может получить участник) многие неуверенные в своих силах участники начинают решать задачи, которые оценены меньшим количеством баллов, в то время как сильные участники – наоборот. В результате как те, так и другие, могут потратить много времени на решение первой выбранной ими задачи и не дойти до других задач не потому, что они сложные, а потому, что не хватило на них времени. К тому же, на олимпиадах по информатике разного уровня не так уж редки случаи, когда сильные участники самую простую задачу решали и не смогли решить. Но это уже проблемы психологической устойчивости участников, которые играют не менее важную роль, нежели уровень подготовленности к соревнованиям. Распределение максимального количества баллов за задачу между различными вариантами частичных решений в общем случае базируется на системе тестов. Если результатом решения задачи является программа, то комплекты тестов разрабатываются таким образом, чтобы жюри соответствующего этапа без проблем могло в максимальной степени оценить все возможные типы алгоритмов, которые могут быть использованы в решениях участников и продифференцировать полученные участниками решения по степени их корректности и эффективности. В общем случае в комплекте тестов для каждой задачи выделяются следующие группы тестов:
Распределение максимального количества баллов за задачу между всеми группами тестов и отдельными тестами внутри каждой группы представляется в виде таблицы, в которой каждому тесту и группе тестов ставится в соответствие определенное количество баллов. Такое распределение строится следующим образом: сначала максимальное количество баллов за задачу распределяется между всеми группами тестов, а затем между тестами внутри каждой группы. При распределении максимального количества баллов за задачу между всеми группами тестов учитывается следующий принцип: правильное решение для всех ограничений из условия задачи должно набирать полный балл, в то время как правильное для определенной размерности входных данных, но неэффективное в целом решение задачи, должно набирать ориентировочно 3070% баллов. Поскольку каждый тест в группе используется для проверки вполне определенного свойства алгоритма решения задачи, то баллы внутри группы распределяются с учетом важности этого свойства для решения задачи в целом. В случае правильного ответа на тесты из конкретной группы или определенные тесты внутри этой группы участнику начисляется установленное для этой группы или теста количество баллов, в противном случае – нуль баллов. Общая оценка за решение отдельной задачи конкретным участником складывается из суммы баллов, начисленных ему по результатам исполнения тестов из всех групп тестов для этой задачи. Итоговая оценка проверки решений всех задач Олимпиады для каждого участника формируется как сумма полученных этим участником баллов за каждую задачу. Итоговые результаты проверки решений всех задач заносятся в соответствующую тому или иному классу обучения участников итоговую таблицу, представляющую собой ранжированный список участников, расположенных по мере убывания набранных ими баллов. Участники с равным количеством баллов располагаются в алфавитном порядке и разделяют общее место.
Существуют различные способы проверки решений участников. Если по условию задачи ее решением должна быть программа, то самый простой способ, но в то же время самый трудоемкий, заключается в последовательном запуске проверяемой программы на каждом тесте из заданного комплекта тестов для этой задачи. Для этого способа вполне достаточно иметь для каждого теста файл с входными данными и файл с соответствующими выходными данными. Если учесть, что для каждой задачи эти файлы предоставляются предметно-методической комиссией по информатике соответствующего этапа, то жюри при наличии достаточного количества членов вполне могут справиться с задачей проверки решений участников таким «ручным» способом. Если по условию задачи ее решением является набор выходных файлов, то проверка сданного участником на проверку файла осуществляться путем его сравнения с правильным выходным файлом. Конечно, описанный способ достаточно трудоемкий, но тот факт, что решения участников сначала проверяются на одном или двух тестах из условия задачи, и только в случае успешного прохождения этих тестов решение далее проверяется на всех тестах из заданного набора, в определенной степени уменьшает объем необходимой работы. Более продуктивным выходом из создавшегося положения является автоматизация процесса проверки решений участников. Как минимум, это можно сделать с помощью командных файлов, которые следует подготовить предметно-методическим комиссиям соответствующего этапа и включить в состав комплекта материалов для проверки решений участников членами жюри. В настоящее время во многих субъектах РФ вопрос с автоматизированной проверкой решений участников успешно решается, и специализированные системы проведения соревнований используются достаточно широко. Организаторы школьного или муниципального этапов, которые только начинают осваивать современные информационные технологии при проведении олимпиад по информатике, могут решать эту проблему одним из следующих способов:
Какой способ лучше – это выбор организаторов школьного или муниципального этапа, поскольку везде есть свои преимущества и недостатки. Центральная предметно-методическая комиссия готова оказать консультационную помощь в решении этой проблемы, если представители региональной предметно-методической комиссии к ней обратятся. Поскольку в функции предметно-методических комиссий по информатике соответствующего этапа Олимпиады не входит обеспечение школьного и муниципального этапов программными системами проведения олимпиад по информатике, то единственное, чем они могут помочь организаторам школьного или муниципального этапов в решении вопроса автоматизации проверки решений участников – это предоставить жюри проверяющие программы для каждой задачи, которые могут быть либо интегрированы в большинство уже существующих в стране аналогичных систем, либо использованы в самостоятельно разработанных системах. Следует заметить, что вопрос обеспечения школьного или муниципального этапов автоматизированными системами проверки решений участников не должен решаться только членами жюри соответствующего этапа накануне проведения Олимпиады. Организаторы соответствующего этапа должны предусмотреть решение этого вопроса задолго до проведения Олимпиады, поскольку для создания или приобретения и освоения такой системы требуется определенное время и дополнительные материальные и финансовые ресурсы, которых перед проведением соответствующего этапа у его организаторов может не оказаться. Здесь можно пойти по пути ряда субъектов РФ, которые на региональном уровне приобретают или разрабатывают типовую программную систему проведения Олимпиад по информатике, и затем тиражируют ее в учреждения образования, обеспечивая проведение школьного или муниципального этапа в своем регионе по единой технологии. Возможны также и другие пути решения названной проблемы, например, и на муниципальном уровне. Однако в этом случае предметно-методическим комиссиям соответствующих этапов при формировании комплектов тестов и проверяющих программ необходимо будет учитывать разнообразие используемых систем проверки решений участников в различных учреждениях образования, проводящих школьный или муниципальный этапы. Что касается подготовки предметно-методическими комиссиями соответствующих этапов материалов для автоматизированной проверки решений участников, то центральная предметно-методическая комиссия по информатике рекомендует направлять их в адрес жюри на компакт-диске. Материалы для каждой задачи должны быть представлены в отдельном каталоге. Каталог каждой задачи может включать:
Проверяющая программа для каждой задачи, как правило, представляет собой файл, написанный на определенном языке программирования. Для компиляции проверяющей программы следует использовать соответствующий компилятор. В своей работе проверяющие программы могут использовать подключаемые модули, которые также должны входить в состав материалов, распространяемых предметно-методическими комиссиями соответствующего этапа. Запуск проверяющей программы может осуществляться следующим образом. В пустой каталог необходимо скопировать проверяющую программу (check.exe), входной файл, ответ для которого следует проверить (input), выходной файл, созданный программой участника (output) и файл с правильным ответом (answer). После этого проверяющая программа запускается с четырьмя параметрами: «check.exe input output answer result». Программа завершает свою работу с одним из трех возможных кодов возврата: 0 – ответ участника является правильным; 1 – ответ участника удовлетворяет формату вывода, но является неправильным, в этом случае участнику отправляется сообщение «Неверный ответ»; 2 – ответ участника не удовлетворяет формату вывода, в этом случае участнику отправляется сообщение «Ошибка формата выходных данных»; 3 – найдена внутренняя ошибка. Файл «result» после завершения программы будет содержать сформированный проверяющей программой комментарий о причинах, по которым был выдан соответствующий отклик. Этот комментарий не должен сообщаться участникам и служит только для справки членам жюри. Проверяющая программа check.exe используется как на этапе предварительной проверки, так и на этапе окончательной проверки и оценки решений участников. Отличие заключается в том, что при окончательной проверке при возникновении любой ошибки вместо формирования участнику сообщения, система просто помечает тест как не пройденный, и по результатам проверки участнику начисляются баллы за успешно пройденные тесты в соответствии с системой оценивания, разработанной предметно-методической комиссией соответствующего этапа. Для задач с открытым входом, то есть, когда решением задачи является набор выходных файлов, проверяющая программа для предварительной и окончательной проверки могут несколько отличаться друг от друга. Для предварительной проверки может использоваться проверяющая программа, например, с именем «checkPreliminary.dpr», работа которой осуществляется следующим образом. В пустой каталог копируются исполняемый файл проверяющей программы (checkPreliminary.exe), входной файл соответствующего теста (input), выходной файл, присланный участником на проверку (output) и файл с правильным ответом (answer). Программа запускается с четырьмя параметрами: «checkPreliminary input output answer result». Программа завершает свою работу с одним из двух возможных кодов возврата: 0 – ответ участника удовлетворяет формату вывода; 2 – ответ участника не удовлетворяет формату вывода, в этом случае участнику отправляется сообщение «Ошибка формата выходных данных». Файл «result» будет содержать сформированный проверяющей программой комментарий о причинах, по которым был выдан соответствующий отклик. Этот комментарий не должен сообщаться участникам и служит только для справки членам жюри и оргкомитета соответствующего этапа Олимпиады. Если файл удовлетворяет формату вывода, то он принимается на проверку. После окончания тура осуществляется окончательная проверка выходного файла. Для этого может использоваться, например, основная проверяющая программа с именем «check.dpr», работа которой осуществляется следующим образом. В пустой каталог копируются исполняемый файл проверяющей программы («check.exe»), входной файл, ответ для которого следует проверить (input), выходной файл, созданный программой участника (output), и файл с правильным ответом (answer). После этого проверяющая программа запускается с четырьмя параметрами: «check.exe input output answer result». Программа завершает свою работу с одним из двух возможных кодов возврата: 0 – ответ участника является правильным; 1 – ответ участника удовлетворяет формату вывода, но является неправильным. Файл «result» после завершения программы будет содержать сформированный проверяющей программой комментарий о причинах, по которым был выдан соответствующий отклик. По результатам проверки участнику начисляются баллы за успешно пройденные тесты в соответствии с системой оценивания, разработанной предметно-методической комиссией соответствующего этапа. Опыт использования в различных субъектах РФ систем автоматической проверки решений участников показал, что по своим функциональным возможностям и вариантам реализации такие системы могут отличаться друг от друга, но все они настроены на использование проверяющих программ, о которых шла речь выше. Более того, можно выделить основные функции таких систем, которые характерны для многих из них. В частности, в процессе предварительной проверки решений участников, представленных в виде программ, такие системы должны последовательно выполнять следующие действия:
При окончательной проверке решений участников, представленных в виде программ, которая осуществляется после тура, программная система проведения олимпиад по информатике должна проверить на основных тестах последнее принятое на проверку решение участника по каждой задаче. Выполняемые системой функции в этом случае во многом повторяют вышеописанные. Однако при возникновении любой ошибки вместо отправки участнику сообщения, система просто помечает тест как не пройденный. Кроме того, по результатам окончательной проверки система начисляет участнику баллы за успешно пройденные тесты. Сказанное выше можно распространить и на проверку решений участников, представленных в виде набора выходных файлов. Однако из описанных выше функций программных систем для проведения Олимпиад по информатике остаются только две последние с небольшими изменениями. В частности, в процессе предварительной проверки осуществляется только контроль формата присланного участником выходного файла. Если этот файл удовлетворяет формату вывода, то он принимается на окончательную проверку. В противном случае, по результатам предварительной проверки участнику отправляется сообщение «Ошибка формата выходных данных». Если в процессе подготовки и использования во время соревнований системы автоматической проверки решений задач у членов жюри возникают вопросы к комплектам тестов и проверяющим программам, то они должны быть сразу адресованы соответствующей предметно-методической комиссии любым доступным способом. Предметно-методическая комиссия должна в кратчайшие сроки рассмотреть поступившие в ее адрес вопросы и дать окончательное решение по ним. Не допускается внесение каких-либо изменений в систему оценивания без согласования с предметно-методической комиссией соответствующего этапа. В заключение хотелось бы отметить, что если нет возможности использовать при проведении школьного или муниципального этапа какой-либо готовой программной системы проведения Олимпиады по информатике, то разработка простейшей системы, позволяющей осуществлять окончательную проверку решений участников в автоматическом режиме, является не такой уж сложной задачей и по силам любой муниципальной или региональной предметно-методической комиссии по информатике с привлечением специалистов соответствующей квалификации. Наличие такой системы в субъекте РФ позволит на должном уровне осуществлять проверку решений участников не только на школьном и муниципальном этапах, но и региональном этапе Олимпиады по информатике. ^
|