Организация и методика проведения турнира программистов в школе
Добиться этого можно практикой использования в образовании активных инновационных технологических средств, в том числе, интеллектуальной игры, интеллектуального соревнования. Однако, несмотря на обилие информации, поступающей, главным образом из СМИ, педагоги и обучающиеся не всегда морально, психологически и методически подготовлены к адекватному восприятию, активному функционированию личности… Читать ещё >
Организация и методика проведения турнира программистов в школе (реферат, курсовая, диплом, контрольная)
1. Основные положения
2. Методика организации и проведения турниров по информатике, программированию
2.1 С чего начинать?
2.2 Первый шаг — создание оргкомитета
2.3 Положение о проведении турнира
2.4 Рекомендации по выбору систем проведения
2.5 Языки программирования на соревнованиях
3. Проведение турнира в учреждении образования (школе)
3.1 Правила проведения олимпиад по информатике
3.3 Подготовка школьников к олимпиаде
Заключение
Приложение 1
Приложение 2
Приложение 3
Приложение 4
Список использованной литературы
Главной задачей XXI века является, несомненно, улучшение качества жизни, в том числе, качества образования, определяющего условия развития личности. Именно поэтому реформирование и совершенствование систем образования и науки являются определяющим фактором решения большинства проблем в условиях глобализации.
Говорить о реформировании и совершенствовании систем образования не рассматривая вопросы внеучебной деятельности, в частности по информатике, программированию, невозможно. В условиях, когда компьютеризация общества, различных общественных процессов протекает с огромной скоростью, важен уровень компьютерной грамотности населения. Сегодняшний обучающийся завтра должен стать полноправным и активным участником всех общественных, социальных, производственных процессов государства.
Актуальность исследования. Нынешнее образование ориентировано на развитие личности. Современному обществу нужен выпускник, самостоятельно мыслящий, умеющий видеть и творчески решать возникающие проблемы.
Особую актуальность эта задача получает в динамично развивающемся информационном пространстве. Однако учащиеся не всегда могут ориентироваться в огромном потоке новых сведений, извлекать необходимые факты и данные, продуктивно использовать их в своей работе.
Одним из выходов из создавшейся проблемной ситуации, когда обществу требуются высококвалифицированные специалисты со знанием компьютера не просто на уровне пользователя, а со знанием программирования, может и должна стать организация учебного и внеучебного процесса в образовательных учреждениях разного типа с учетом требований времени. В организациях образования происходит процесс реформирования учебного процесса. А внимание организаторов и участников процесса обучения: методистов, преподавателей, консультантов должно направить на реализацию задач повышения уровня компьютерной грамотности населения и развитие навыков программирования на различных языках.
Необходимо учитывать, что современная система образования ориентирует педагога не на передачу знаний в готовом виде, а на организацию обучения самостоятельной деятельности обучающихся и доведение её до уровня поисковой, исследовательской работы, выходящей за рамки учебной программы. Самостоятельная, исследовательская деятельность, нестандартный подход к решению теоретических и практических задач различных областей науки, позволяет вооружить обучающегося необходимыми знаниями, умениями, навыками для освоения стремительно нарастающего потока информации, ориентации в нём и систематизации материала. Обучение же может происходить как в урочной деятельности, так и во внеурочной.
Цель работы — определение, систематизация, описание различных форм внеурочной работы по программированию.
Объект исследования — процесс организации и проведения нестандартных форм внеурочной деятельности по программированию.
Предмет исследования — методики, позволяющие повысить качество усвоения программного материала обучающимися по информатике и программированию.
В основу разработки темы работы была положена рабочая гипотеза: использование во внеурочной работе эффективных методик организации и проведения мероприятий, позволяет обеспечить выполнение требований Государственных стандартов образования на высоком уровне, дает возможность обучаемым быть не только потребителями готового к усвоению знания, но и активно участвовать в процессе поиска ответов на предлагаемые им вопросы, задания.
Теоретико-методологическая основа исследования:
Для достижения цели и решения поставленных задач был использован комплекс теоретических и эмпирических методов исследования:
— теоретико-эмпирические: абстрагирование, анализ, синтез, индукция, дедукция, моделирование;
— эмпирические: наблюдение, сравнение
— герменевтические: беседа, интервью, самонаблюдение, самоанализ и др;
1. Основные положения
Нынешнее образование ориентировано на развитие личности. Современному обществу нужен выпускник, самостоятельно мыслящий, умеющий видеть и творчески решать возникающие проблемы.
Особую актуальность эта задача получает в динамично развивающемся информационном пространстве. Однако учащиеся не всегда могут ориентироваться в огромном потоке новых сведений, извлекать необходимые факты и данные, продуктивно использовать их в своей работе.
Организовывая работу с учащимися, необходимо исходить из того, что школьники (студенты) должны иметь возможность не только получить определённые знания по тому или иному предмету, но и проявить себя, попробовать в различных видах деятельности.
Работа по формированию интеллектуальных умений и навыков должна осуществляться, главным образом, на уроках. Этому способствуют и современные интерактивные технологии, такие как методы проектов и модульного обучения, а также информационные технологии, которые широко внедряются в практику работы школы.
В то же время применение этого метода на уроках позволяет развивать критическое и творческое мышление, формировать навыки работы с научной, научно-популярной литературой.
Массовая внеурочная работа — это интеллектуальные игры, олимпиады, конференции, марафоны, турниры. Рассмотрим некоторые из этих мероприятий (их понятия), используя в том числе и материалы свободной энциклопедии — Википедии.
Играм — вид непродуктивной деятельности, с действиями, ограниченными правилами, которые направлены на создание, развитие и поддержание процесса в заданных границах. Задача процесса — доставить участникам ряд переживаний и эмоций, дать процессы, в которых можно приобрести новый опыт через непосредственное практическое участие. У животных стремление играть наблюдается в ювенильном существовании и исчезает по мере взросления. Человек в этом отношении отличается от животных тем, что сохраняет игровое поведение долго после окончания ювенильного этапа развития. Кроме того человеческие игры, в том числе и детские, являются культурно опосредованными.
Если говорить об игре как о методе обучения, то необходимо отметить следующее: естественное и непреодолимое стремление детей к игре всегда с большим успехом используется в педагогической практике. Существуют научно обоснованные игровые методики и технологии, рассчитанные на детей разного возраста. Основным отличием игры как метода обучения является наличие чёткой цели. Конкретное содержание и формы игрового процесса очень разнообразны и определяются рядом факторов.
Игра практически с древних времён выступает как форма обучения, как первичная школа воспроизводства реальных практических ситуаций с целью их освоения. Исторически одной из целей игры являлась выработка необходимых человеческих черт, качеств, навыков и привычек, развития способностей.
«Я говорю и утверждаю, что человек, желающий стать выдающимся в каком бы то ни было деле, должен с ранних лет упражняться… Например, кто хочет стать хорошим земледельцем или домостроителем, должен ещё в играх либо обрабатывать землю, либо возводить какие-либо детские сооружения». Так говорил об игре Платон (427 — 347 до н.э.)
Игра — ведущий вид деятельности ребёнка. С. Л. Рубинштейн (1976) отмечал, что игра хранит и развивает детское в детях, что она их школа жизни и практика развития. По мнению Д. Б. Эльконина (1978) [3], «в игре не только развиваются или заново формируются отдельные интеллектуальные операции, но и коренным образом изменяется позиция ребёнка в отношении к окружающему миру и формируется механизм возможной смены позиции и координации своей точки зрения с другими возможными точками зрения».
Какими признаками отличается игра от других видов деятельности? Считается, что большинству игр присущи следующие главные черты:
— свободная развивающаяся деятельность, предпринимаемая лишь по желанию, ради удовольствия от самого процесса деятельности, а не только от результата;
— творческая, импровизационная, активная по своему характеру деятельность;
— эмоционально напряжённая, приподнятая, состязательная, конкурентная деятельность;
— деятельность, проходящая в рамках прямых или косвенных правил, отражающих содержание игры;
— деятельность, имеющая имитационный характер;
— наличие минимальной игровой ситуации.
«Игра не есть «обыденная» жизнь и жизнь как таковая. Она скорее выход из рамок этой жизни во временную сферу деятельности, имеющую свою собственную направленность. Даже малое дитя прекрасно знает, что оно играет лишь «как будто взаправду», что это всё «понарошку».
Деятельность, обособленная от «обыденной» жизни местом действия — игровой зоной и продолжительностью. Она «разыгрывается» в определённых рамках пространства и времени. Внутри игрового пространства царит собственный безусловный порядок" (Й.Хезинг, 1992)[4].
Под минимальной игровой ситуацией понимаем обусловленное правилами игры игровое состояние, реализация которого в любом случае приведёт как минимум к ещё одному действию (ходу) соперника.
Когда минимальные игровые ситуации иссякают, игра, соответственно, прекращается.
Любая игра — это прежде всего процесс, то есть временная одноили многонаправленная цепь событий. Таким образом, имеет смысл говорить об «атоме» игры, о самой маленькой неделимой её части, о минимальной игровой ситуации.
В ситуационных (а не количественных) соревновательных видах игр задачу соперников можно свести к совершению действий, в результате которых прекращение игры (исчерпание игровых ситуаций) происходит в момент преимущества одного из соперников — по условиям игры.
Конференция — большое собрание, совещание представителей разных учреждений, стран, групп. С целью обмена знаниями, опытом в той или иной области науки такая форма работы может быть использована и в организации учебной и внеучебной деятельности организаций образования. В этом случае участниками конференции становятся представители одной и/или нескольких учреждений образования.
Марафон — специально организованное соревнование, проводимое по принципу индивидуального зачета. Марафон (предметный) включает в себя элементы и спортивного марафона: участники должны перемещаться по этапам достаточно быстро, но соблюдая правила техники безопасности.
Предметная олимпиада — состязание учащихся учреждений среднего общего, высшего или профессионального образования, требующее от участников демонстрации знаний и навыков в области одной или нескольких изучаемых дисциплин. Олимпиады нередко сопровождаются церемонией открытия (государственные — обязательно) и торжественным закрытием (часто с творческими представлениями) с подведением итогов и награждением лучших.
В России, Казахстане и других странах СНГ проводится значительное число предметных олимпиад различного уровня.
Олимпиада по программированию — интеллектуальное соревнование по решению различных задач на ЭВМ, для решения которых необходимо придумать и применить какой-либо алгоритм и/или программу на одном из языков программирования.
Олимпиады по программированию проводятся с целью выявления наиболее талантливых и способных людей в области программирования, а также пробуждения интереса к программированию.
Олимпиады бывают личные и командные. В командных олимпиадах обычно участвует 3 человека и им на всё время олимпиады дается 1 компьютер для решения олимпиадных задач.
В России, Казахстане, Украине и других странах сложилась многоуровневая система проведения олимпиад по программированию. Данный список даёт представление о различных олимпиадах, проводимых среди школьников, но к ней могут добавляться или наоборот отсутствовать некоторые этапы:
Районная олимпиада Городская олимпиада Региональная олимпиада Всегосударственная олимпиада Международная олимпиада Участие в данных олимпиадах и хорошие результаты, показанные на них, могут давать некоторые привилегии при поступлении в высшее учебное заведение. Участие в олимпиаде по программированию считается успешным, если участники смогли составить программу и проверить её на ЭВМ на тестах, предоставленных жюри. Решение задачи считается правильным, если ЭВМ дает правильные результаты на (всех) тестах жюри. Алгоритм (программа) содержит ошибки, если на некоторых тестах ЭВМ дает сбои, отказы или неправильные результаты. Победители олимпиад составляют алгоритмы и программы практически без ошибок.
Среди студентов также проводятся олимпиады. Это может быть внутривузовская олимпиада или олимпиада, в которой могут участвовать студенты из разных вузов. Обычно эти олимпиады проводятся при финансировании какой-либо фирмы, занимающейся разработкой программного обеспечения и заинтересованной в привлечении талантливых студентов на работу в данную фирму. Также данные олимпиады проводятся для определения кандидатов для участия в чемпионате мира по программированию среди студентов. Для проведения подобных соревнований используются турнирные системы, такие как Contester и eJudge.
Крупнейшая международная студенческая командная олимпиада по программированию называется ACM International Collegiate Programming Contest (Международная студенческая олимпиада по программированию).
Крупнейшее технологическое соревнование, кубок технологий Imagine cup (международный технологический конкурс среди студентов и старшеклассников) организуется при поддержке компании Microsoft и других высокотехнологичных компаний. Соревнование включает в себя 9 категорий: от программных проектов до алгоритмов, от соревнований в области IT до художественных конкурсов фотографии и короткометражных фильмов.
В последнее время начал циркуляцию также более общий термин «спортивное программирование». Состязания по спортивному программированию не связаны напрямую с системой образования, то есть в них также принимают участие и профессиональные программисты. Популярные состязания по спортивному программированию в мире — это конкурс Top Coder.
На классических олимпиадах по программированию участникам предлагается некоторый набор задач различного уровня сложности. Решением задачи является программа, написанная на одном из допустимых языков программирования. Эта программа должна корректно считывать любые входные данные указанного формата из определённого входного потока, корректно обрабатывать их согласно условию задачи, и выводить в определённый выходной поток в указанном виде. Для ввода-вывода могут использоваться как стандартные консольные потоки, так и файловые (часто входной файл имеет имя «input.txt», а выходной — «output.txt»).
Все решения проверяются автоматизированной тестирующей системой. Она запускает каждое решение на некотором наборе тестов. После завершения работы программы она сличает выходные данные с эталонными или производит более сложные действия. Последнее обычно имеет место, если для входных данных имеется несколько корректных выводов.
Особенностью олимпиадных задач является художественность их условия. В условиях редко ведётся речь о структурах данных и алгоритмах, приводящих к решению. Чаще условие задачи представляет собой короткий рассказ со своим сюжетом, героями и конфликтом. Таким образом, чтобы решить олимпиадную задачу, нужно не просто написать заданный алгоритм, а предварительно составить математическую модель событий, и уже по ней отыскать этот алгоритм. Алгоритм может быть как одним из уже известных алгоритмов, так и абсолютно новым, непохожим на другие.
Сюжет условия часто завязан на одном или нескольких героях, вступающих в конфликт друг с другом или с окружающей средой. Часто они являются программистами и также поставлены перед некоторой задачей. Нередко все задачи олимпиады связаны единой сюжетной линией. В этом случае сюжет олимпиады раскрывается постепенно от задачи к задаче.
Турнир (от старофранцузского torneiement, tornei, английского tournament) — коллективное состязание школьников/студентов в умении решать сложные задачи, научные проблемы, убедительно представлять свои решения, отстаивать их в научных дискуссиях.
Если говорить об организации и проведении различных видов состязаний обучающихся необходимо помнить, что эта деятельность так же как и любая другая должна быть подчинена определенной системе, Которая представлена на Рисунке 1.
Рисунок 1. Система работы с обучающимися.
Выводы.
Работа по формированию интеллектуальных умений и навыков необходимо организовывать не только на уроках (учебных занятиях), но и во внеурочное время. С этой целью необходимо проводить различные игры, конкурсы, марафоны, олимпиады, турниры. Классификация и определения этих мероприятий, изученные по словарям и Википедии, приведены в данном разделе работы.
2. Методика организации и проведения турниров по информатике, программированию
олимпиада информатика программирование соревнование
Современное общество вообще и казахстанское в том числе, нуждается в активной и инициативной личности, умеющей творчески мыслить, принимать нестандартные решения, быстро и адекватно реагировать на ситуацию. Это требует переориентации задач образования на необходимость не только сформировать навыки и развить умения, но и научить творчески использовать полученными знаниями и умениями, формируя профессионально значимые качества. Данная задача может быть решена при последовательном применении активных, в том числе, игровых, соревновательных методов, позволяющих организовать уникальное творческое взаимодействие педагога и обучающихся, создать оптимальные условия для интенсивного развития личности.
Проблема активизации педагогического процесса в учебном заведении давно находится в центре внимания научной общественности. Предлагаемый для ее решения диапазон приемов интенсификации учебно-познавательной деятельности весьма широк и разнообразен. И, вместе с другими современными средствами педагогики, интеллектуальная игра должна занять в практике обучения достойное место, так как, в отличие от многих традиционных приемов, больше ориентирована на формирование значимых качеств личности.
Добиться этого можно практикой использования в образовании активных инновационных технологических средств, в том числе, интеллектуальной игры, интеллектуального соревнования. Однако, несмотря на обилие информации, поступающей, главным образом из СМИ, педагоги и обучающиеся не всегда морально, психологически и методически подготовлены к адекватному восприятию, активному функционированию личности в процессе участия в подобной форме учебной деятельности. Отсутствуют не только правильное представление об интеллектуальной игре и умение отличать ее от средств развлечения, шоу-бизнеса, но и обычные, в том числе, коммуникативные, навыки игровой деятельности, умение работать в команде, психологически настроить себя на необычный вид работы, способность сосредоточиться на выборе правильного ответа и решении трудной проблемы. Все это побуждает коренным образом пересмотреть подход образовательных учреждений к реализации таких средств обучения, как интеллектуальная игра, побуждающая как можно продуктивнее использовать весь период получения образования, важный для становления личности ещё и потому, что в период обучения в любом возрасте в человеке происходят глубокие интеллектуальные, нравственные, социальные и психофизиологические изменения. Не случайно исследователи Б. Г. Ананьев, А. А. Вербицкий, В. Н. Дружинин и др. считают период обучения, получения знаний периодом становления характера и интеллекта, интенсивного формирования системы взглядов, внутренней позиции личности, преобразования всего комплекса личностных ориентации, развития специальных способностей и их переоценки, активизации ценностно-ориентационной деятельности, связанной с познанием собственных качеств и усвоением новых знаний. Это настоятельно требует поставить в центр внимания педагогических коллективов все механизмы влияния на обеспечение эффективности воспитания и развития личностно значимых качеств в ходе образовательного процесса, используя для этого как традиционные, так и новаторские методы и средства.
Суть рассматриваемой проблемы, таким образом, состоит в педагогическом поиске технологического инварианта интеллектуальных игр, конкурсов, соревнований как одного из средств изучения различных дисциплин и организационной формы самостоятельной и досуговой деятельности школьников, специально нацеленного на развитие различных значимых личностных качеств будущего социально активного представителя любой сферы деятельности.
Педагогическое решение проблемы позволит преодолеть противоречия между традиционными методиками и необходимостью системной разработки новых подходов к обучению, включающих игровые технологии, ориентированные на развитие личностно значимых качеств будущих специалистов любой сферы деятельности.
Вопросы формирования личностных качеств рассматриваются в научных трудах философского, психолого-педагогического, методического, культурологического, лингвистического содержания. Что касается непосредственно педагогического аспекта игры, то усилиями выдающихся Учителей (Я.А.Коменский, К. Д. Ушинский, С. Т. Шацкий, П. П. Блонский, В. А. Сухомлинский и др.) были созданы первые концепции, акцентировавшие внимание на дидактических возможностях игр для решения задач обучения и воспитания. А. СМакаренко отмечал, что без игры нет и не может быть полноценного нравственного и умственного развития, так как в ней раскрываются творческие способности личности.
Исследования В. П. Беспалько, А. А. Вербицкого, О. С. Газмана, Д. Н. Кавтарадзе, М. В. Кларина, Л. В. Петрановской и др. указывают, что интеллектуальной игре следует отвести особое место в обширном арсенале приемов активизации учебной деятельности, как и большинству уже исследованных и применяемых в образовании игр.
Особого внимания заслуживает теория «контекстного» обучения, разработанная А. А. Вербицким [5], склонным считать игру одной из форм проблемного обучения, поскольку игровой процесс по своему содержанию представляет собой «цепочку» проблемных ситуаций, связанных друг с другом и объединенных единой «сверхзадачей».
Создателями теории проблемно-модульного обучения М. Ж. Арыстановым, П. И. Пидкасистым, Ж. С. Хайдаровым исследованы отдельные виды игр и предложена классификация — «древо» игр. Они отмечают, что дидактическая игра — это технология, позволяющая повысить активность, самостоятельность и заинтересованность ученика в процессе познания, сделать учебную деятельность личностно значимой, значительно облегчить процесс приобретения новых знаний и умений.
Особое место феномен игры, соревнования занимал в трудах представителей советской психологической школы: Л. С. Выготского, А. Н. Леонтьева, С. Л. Рубинштейна, Д. Б. Эльконина, исследовавших психологию игры и уделявших внимание, в основном, сюжетно-ролевым играм, что соответствовало господствовавшей до относительно недавнего времени концепции «ведущей деятельности».
Большинство исследователей единодушны в суждениях об обострении противоречий между возросшими потребностями общества в качественном образовании и развитии творческой, активной личности с высоко развитыми профессиональными качествами и недостаточной теоретической и методологической разработанностью системы использования интеллектуальных игр, конкурсов в этом процессе. Ряду публикаций присущ обобщенный и недостаточно конкретный характер описания интеллектуальной игры, который, как правило, не выявляет специфических особенностей деятельности педагога и студентов в той или иной ее фазе и не содержит рекомендаций по подготовке, проведению и анализу результатов, связанных с применением данного вида игр, конкурсов, соревнований.
Интеллектуальная игра является уникальной организационной формой обучения и воспитания, одновременно реализующей три фактора развития творческого стиля деятельности: проблематизацию, рефлексию и диалог. Совместное действие их и составляет механизм развития значимых качеств личности: через самоопределение в проблемных ситуациях интеллектуальной игры к самостоятельной постановке целей и их осуществлению в условиях свободного выбора средств.
Потребность школы и учреждений образований других типов к различным формам внеучебной деятельности и дополнительного образования резко возросла в связи с социальными условиями переходного этапа развития рыночных отношений в стране и в связи с реформированием самой образовательной системы. Поскольку компьютерные, инновационные технологии все шире внедряются в образовательный процесс, эффективная организация внеурочного, свободного досуга и дополнительное образование необходимо связывать с компьютерно-ориентированными формами деятельности школьников.
В настоящее время, когда в рамках решения Правительства РК и по поручению Президента РК Н. А. Назарбаева, оснащение учебных заведений различного профиля новой компьютерной техникой идет большими темпами, такие формы можно использовать не только в крупных городах, но и в сельской местности. Стали уже традиционными олимпиады, конкурсы, турниры по информатике, проводимые на разных уровнях. Однако в силу динамического развития информационной науки меняются принципы и условия проведения подобных мероприятий. Учителя информатики, особенно в сельской местности, испытывают существенные трудности по организации и проведению школьных состязаний по предмету. В связи с этим представляет значительный интерес разработка методической системы организации внеклассных мероприятий по информатике.
Не оставляет сомнения и тот факт, что творческие соревнования способствуют интеллектуальному развитию всех участников независимо от их уровня образования, в том числе, включая и обучающихся в учреждениях образования разного типа: школа, среднее профессиональное учреждение образования, высшее учебное заведение. Это особенно важно сейчас, когда при активном внедрении новых информационных технологий развиваются все дисциплины, так или иначе связанные с компьютерами, а спрос на творчески развитых специалистов постоянно растет. Кроме того, на современном переходном этапе становления экономики страны большое значение играет не только наличие творческого потенциала работника, но и его инициативы, умения организовать свою познавательную, исследовательскую деятельность. Реализации этих качеств способствует:
— эффективная организация внеурочной деятельности учащихся и студентов;
— пропаганда и развитие навыков самообразования;
— интенсификация и индивидуализация обучения;
— применение современных информационных технологий;
— разработка мер по широкому привлечению обучающихся к научно-исследовательской работе.
Состояние дел по организации и проведению различных соревнований и турниров по информатике, программированию, таково, что глубокие исследования по этому вопросу, стали проводиться только в последние 10 — 20 лет. Обусловлено это тем, что все более быстрыми темпами развивается компьютерная техника, новые технологии, меняется программное обеспечение. Учитывая опыт, полученный исследователями по изучению этого вопроса относительно других учебных дисциплин, мы можем говорить: проведение различного вида соревнований, турниров по информатике, программированию способствует развитию обучающегося, как творческой личности, и, опосредованно, ведет к повышению темпов развития информационных технологий в целом. Именно в связи с этим необходима разработка методических рекомендаций по организации и проведению турниров по информатике и программированию
2.1 С чего начинать?
На всех этапах олимпиады, турнира школьников по информатике, программированию используется следующий порядок подготовки и проведения:
— создание рабочей группы (оргкомитета) по подготовке и проведению олимпиады, турнира. В ее состав включаются преподаватели информатики, представители методических служб органов управления образования, сотрудники ВУЗов и научных учреждений, представители местных органов власти;
— определение целей олимпиады, турнира и форм проведения путем разработки положения об олимпиаде, турнире. Основными его пунктами являются: цели олимпиады, турнира, число и содержание туров, форма проведения каждого тура, определение требований к оформлению решений, определение механизма подведения итогов, определение форм награждения победителей;
— разработка программы олимпиады/турнира (для участников, преподавателей информатики, жюри);
— разработка памятки участника по работе на олимпиаде/турнире;
— подготовка и утверждение олимпиадных/турнирных заданий;
— проведение туров олимпиады;
— проверка работ участников;
— выставление баллов и подведение итогов;
— разбор заданий с участниками олимпиады/турнира;
— проведение апелляции;
— награждение победителей.
Порядок проведения конкурсов и турниров регламентируется положениями, в которых отражаются цели, состав участников, регламент соревнования.
2.2 Первый шаг — создание оргкомитета
Может быть, это и громко сказано — «оргкомитет», особенно когда речь идет всего лишь о соревновании в рамках одного учреждения образования и/или турнире среди обучающихся 2 — 3 учреждений, но какую-то группу лиц, занимающихся организационной подготовкой турнира, выделить все равно нужно. Пусть это будет даже всего один человек. Оргкомитет назначается организацией, проводящей турнир. Состав оргкомитета с указанием контактных телефонов и других реквизитов указывается в первом сообщении (извещении) о проведении мероприятия.
Оргкомитет должен рассмотреть более или менее широкий круг вопросов, решить ряд проблем различной сложности — в зависимости от уровня и массовости проводимого соревнования. Вот это и является первой и самой важной задачей — определить круг вопросов, объем работы по подготовке к турниру. На самом первом заседании оргкомитета составляется перечень мероприятий, назначаются сроки выполнения, ответственные исполнители, порядок контроля и отчетности, взаимодействия различных рабочих групп и ответственных лиц, составляется план работы оргкомитета.
Сроки создания оргкомитета и начало его работы определяются масштабом турнира и объемом предполагаемой работы. Для проведения турнира в отдельном учреждении образования весь оргкомитет может состоять из одного-трех человек и начать работу за месяц до турнира, а для проведения крупного мероприятия с иногородними участниками может потребоваться 3−6 месяцев подготовки и значительные финансовые средства.
Наиболее важными и типичными в работе оргкомитета являются следующие вопросы:
1. Составление сметы на организацию и проведение соревнования, включая весь период с момента начала работы оргкомитета до завершения послетурнирных мероприятий и оформления итогового отчета оргкомитета. После (или еще до) составления предварительного варианта сметы сразу же определяются источники финансирования, без чего, естественно, турнир состояться не может.
2. Подготовка и паспортизация основных и вспомогательных помещений, включая компьютерные залы (комнаты), помещения для оргкомитета и судей, комнаты отдыха (релаксации), санузлы, буфеты (столовые). Подлежат обязательной проверке электрооборудование, в том числе системы освещения, места для установки телеи видеоаппаратуры, компьютеров и оргтехники для оргкомитета и жюри. Здесь же — обеспечение специальным оборудованием и/или инвентарем и другие материально-технические вопросы.
3. Проверка систем безопасности зрителей и участников, включая системы противопожарной безопасности, запасные выходы из помещений, схемы эвакуации при чрезвычайных ситуациях и т. п. При необходимости проводятся дополнительные мероприятия по устранению обнаруженных недостатков, в т. ч. организуется пробный турнир или аналогичное мероприятие для контроля качества выполненных работ.
4. Подача заявок в гостиничные структуры для обеспечения приема иногородних участников (в случае, когда таковые имеются, т. е. запланировано проведение турнира с участием иногородних представителей как в качестве участников, так и в качестве членов жюри). Сроки обычно согласовываются оргкомитетом или проводящей организацией с администрацией гостиниц еще на стадии согласования возможности и сроков проведения турнира.
5. Обеспечение встречи и своевременной отправки участников, обеспечение транспортом в ходе турнира.
6. Обеспечение питания участников и жюри.
7. Обеспечение медицинского обслуживания в ходе турнира.
8. Обеспечение правопорядка в помещениях проведения турнира и проживания иногородних участников.
9. Составление плана рекламно-информационных и пропагандистских мероприятий и работы со СМИ.
10. Определение шефствующих организаций и привлечение спонсоров, составление плана работ.
11. Составление сценариев открытия и закрытия турнира.
12. Составление сценариев ритуала награждения, подведения итогов.
13. Разработка сценариев проведения турнира по дням, включая культурную программу.
14. Подготовка дипломов и призов, значков и сувениров, другой атрибутики.
15. Разработка специальной одежды (формы) и/или других специальных отличий (знаков, «бэйджей») участников, жюри и организаторов.
16. Определение состава жюри и назначение председателя жюри.
В итоге оргкомитет, исходя из общих установок, обычно согласовывает и утверждает «Положение о проведении турнира» и поручает председателю жюри, как правило, включаемому в состав оргкомитета, разработку регламента и подбор кандидатур членов жюри. Пример «Положения о проведении турнира» показан в Приложение 1.
2.3 Положение о проведении турнира
Основным документом, регламентирующим все взаимоотношения сторон, участвующих в организации и проведении турнира, является «Положение о проведении турнира». Указанное «Положение» является организационно-правовой базой, нормой, «законом» для участников и членов жюри. Какие разделы должны быть включены в «Положение»:
Цели и задачи. Обычно здесь указываются задачи популяризации информатики, программирования, повышения мастерства участников, выявления сильнейших участников, цели отбора кандидатов в сборные команды или участников, получающих право участвовать в турнирах более высокого уровня.
Сроки, место и система проведения. Указывается конкретный срок с момента открытия турнира до процедуры подведения итогов, расположение места проведения олимпиады/турнира. Описывается в общих чертах система проведения турнира, в частности число туров, схемы предварительного и финального этапов (если такое разделение есть), описывается регламент (возможно самостоятельным разделом), если он не прилагается в качестве отдельного документа.
Руководство проведением турнира. Указывается проводящая турнир организация (или несколько). Непосредственное проведение турнира возлагается на жюри.
Участники. Указываются условия участия (допуска) в турнире: по возрастной категории (класс, курс), территориальному признаку, гражданству и т. п.
Порядок определения мест и критерии преимущества. Здесь указываются основные показатели, по которым производится определение мест участников (как на отдельных этапах, так и по итогам всего турнира) и приводятся критерии преимущества (в порядке приоритета) в случае равенства основных показателей у нескольких участников (групп участников).
Награждение и подведение итогов. В этом разделе описывается процедура подведения итогов турнира, размер денежных вознаграждений и характеристика ценных призов, а также указывается, какими грамотами (дипломами) отмечаются те или иные достижения участников. Здесь же описывается, кто и какие права получает на участие в других турнирах или этапах, для которых данный турнир имел статус отборочного.
Порядок и сроки подачи заявок. Указывается, в какой форме и куда подаются заявки, форма заявки на участие и последний срок подачи.
Дисциплинарные вопросы, включая порядок рассмотрения споров и протестов. Указываются нарушения и меры воздействия на нарушителей правил и турнирной этики, порядок предъявления претензий и рассмотрения протестов как по поведению участников турнира, так и по решениям судей.
В приложения к положению могут быть включены:
— общая программа соревнования, включая внетурнирные мероприятия и культурную программу;
— регламент проведения: расписание по турам, контроль времени, порядок жеребьевки, оформление результата тура, порядок обращения в жюри по спорным вопросам, перерывы для отдыха и приема пищи и т. д.
2.4 Рекомендации по выбору систем проведения
Итак, одной их форм внеклассной работы является проведение олимпиад/турниров по информатике, программированию.
Они занимают особое место среди других форм внеучебной работы.
Олимпиады/турниры по информатике, программированию нацелены на:
— поиск одаренных, развитых и образованных школьников (студентов), оценку уровня преподавания информатики в учреждении образования в целом: предъявление предельного уровня требований, дальнего ориентира при изучении информатики, программирования;
— реализацию обратной связи в звене «школа — вуз» .
Как правило, олимпиады/турниры состоят из нескольких туров. Выделяют следующие туры:
— внутришкольный;
— районный;
— городской;
— областной;
— республиканский;
— международный.
Задачи олимпиады/турнира могут состоять не только из практических заданий, но и теоретических вопросов. Каждый тур включает несколько задач, которые необходимо решить. Поскольку речь идет об олимпиадах по информатике/программированию, то, во-первых, задания должны предоставлять школьникам (студентам) возможность проявить свои способности на всех этапах решения задач с использованием компьютера, начиная с формализации и кончая тестированием и отладкой программы. Важны все этапы: умение анализировать условия задачи с целью выбора и разработки алгоритма, в максимальной степени отвечающего поставленной задаче и существенно облегчающего дальнейшие этапы ее решения; разработка алгоритмов решения различных классов задач, их преимуществ и недостатков, особенностей их использования в различных ситуациях. Во-вторых, задачи должны определять информационную направленность информатики/программирования. В-третьих, задачи должны быть разумной сложности.
Задания, представленные на теоретический и практический туры, в обязательном порядке должны учитывать:
— возрастной состав участников олимпиады/турнира;
— теоретический и практический уровни знаний учеников, участвующих в олимпиаде/турнире;
— особенности преподавания информатики в школе (колледже, вузе).
При проведении теоретического тура выясняются способности участников ориентироваться в предложенной ситуации, формализовать поставленные задачи, создавать, корректировать и оценивать алгоритмы решения задач
Задачи, представленные на олимпиаду/турнир, должны быть разнообразные. Можно включать нестандартные задачи по программированию, задачи на использование программных средств, на кодирование и декодирование.
Предметные олимпиады/турниры могут быть как очными, так и заочными. В Костанайской области Региональным Центром новых технологий обучения олимпиада по информатике/программированию проводится как в очной, так и в заочной (дистанционной) форме.
При проведении заочной (дистанционной) олимпиады Департамент образования области решает, в том числе, и следующие цели:
— выявление наиболее талантливой молодежи;
— дальнейшее развитие курса информатики;
— помощь регионам (сельским школам, районам и городам области) в развитии образования;
— развитие новых форм и средств обучения.
Участниками таких олимпиад являются пользователи глобальной компьютерной сети, им не нужно собираться в месте проведения олимпиады/турнира, они участвуют в олимпиаде/турнире, находясь и у себя дома (в своем учреждении образования). Каждому из участников передается задание из «центра» олимпиады/турнира посредством электронной почты.
Посредством электронной же почты решенные задания в установленные сроки передаются участниками олимпиады/турнира в организацию, проводящую турнир (Региональный Центр или Департамент образования) для последующей проверки членами жюри. При подведении итогов учитывается, в том числе, и время передачи решенных заданий на проверку, что достаточно легко устанавливается по времени получения электронной почты.
Условия проведения турниров по информатике/программированию разнятся в зависимости от категории участников. Одна из интересных разновидностей олимпиады — командный турнир.
Командный турнир — это особая форма соревнования школьников-программистов, несколько отличный от традиционных олимпиад. Они стали проводиться в Костанае с 1994 года. Турниры отличаются от традиционных олимпиад тем, что:
— в соревновании участвуют команды из 3 — 4 человек. Команда получает единое задание и создает единое решение. Такой опыт очень полезен для начинающих программистов, так как современные программные продукты создаются, чаще всего, коллективами. Именно в условиях проведения командной олимпиады участники получают возможность «почувствовать» плечо товарища, научиться работать не только самостоятельно и индивидуально, но и в команде, учатся слушать и слышать товарищей по команде, принимать коллегиальные решения;
— характер турнирных заданий отличается от олимпиадных заданий. На олимпиаде требуется, чаще всего, решить несколько конкретных четко сформулированных задач. На турнире предлагается создать общую законченную программу.
Командная олимпиада/турнир могут проходить как по заочной (дистанционной) форме, так и по очной.
В случае, когда турнир проходит по очной форме, команды-участницы турнира находятся все в одной организации, имеют одинаковые условия (ПК и ПО) и одинаковое время для выполнения задания. При подведении итогов командного турнира жюри учитывает как время выполнения задания, так и уровень участия каждого члена команды.
Ещё один из вариантов проведения командного турнира — команды получают не одно задание, а несколько связанных или не связанных между собой небольших задач. В этом случае команда (представитель команды) отвечают (показывают выполненные задания) по мере решения задач. Для ответа на каждую задачу по решению оргкомитета может быть дано от одной до трех попыток, что должно быть оговорено в положении по проведению турнира. Результаты работы команды при таком варианте проведения турнира отмечаются в карточке «Результаты турнира» (Приложение 2).
К внеклассной работе можно отнести и тематические конкурсы.
Сравнивая конкурс с олимпиадой, отметим, что олимпиада — это соревнование, в котором участники должны дойти до финиша по заранее проложенной трассе, за исключением тех случаев, когда участник отыскивает более оригинальное решение. А конкурс — это скорее зрелищное мероприятие, в котором может участвовать более широкий круг учащихся. Конкурсы могут быть как индивидуальные, так и командные. При подведении итогов может учитываться и активность болельщиков.
Подготовка к олимпиаде становится для обучающегося естественным продолжением базового курса информатики, даже без специальных занятий с учителем. Вводя для себя различные самоограничения и преодолевая их, он может заниматься тем же, что и весь класс на том же уроке и по той же теме, что и все остальные. Но решать задачи он будет не только простейшим путем, как большинство, но и по-своему — «вынужденно-творческим» методом. Это снимает и проблему индивидуализации обучения при фронтальных формах работы преподавателя с классом/группой.
На олимпиаде учащемуся стоит начать с оценки сложности задач «для себя»: баллы бывают обманчивы. Слишком сложную задачу можно вообще не решить, слишком простая — мало «стоит». Начинать можно со средней по сложности задачи, а если трудно сразу включиться, то и с простой.
Хорошая форма подготовки — проведение занятия в форме олимпиады. Это снимает «предстартовую лихорадку», тренирует психологическую устойчивость.
Как один из этапов проведения турнира/олимпиады или как самостоятельное соревнование обучающихся можем предложить марафон. Такая форма организации соревнования предусматривает индивидуальную работу каждого и индивидуальное передвижение участников от одного этапа марафона к другому. Марафон так же можно проводить как заочно (дистанционно), так и в очной форме. Рассмотрим вариант проведения марафона по информатике/программированию по очной форме.
Для проведения марафона необходимо подготовить от 3 до 5 (можно больше, если позволяют условия организации, проводящей турнир) аудитории. Соответственно и количество членов жюри должно быть таким, что в каждой аудитории во всё время проведения марафона находится как минимум два члена жюри и/или один-два члена жюри и один-два помощника. Начало марафона проводится в одной аудитории. Все участники одновременно получают одно (одинаковое для всех) задание, не требующее большой, длительной подготовки. Чаще всего это задание, для выполнения которого не обязательно использование ПК. Участник, готовый отвечать, получает возможность подойти к одному из членов жюри (или помощнику) и предложить свой вариант решения задачи. В случае если дан верный ответ, участнику делают отметку о результате в «Путевом листе» (Приложение 3) и он переходит в следующую аудиторию, где получает новое задание. Если же ответ дан неверно, участник турнира переходит последним в образовавшейся к этому времени «очереди» желающих показать результат работы. Таким образом, на каждое задание участник имеет право на три попытки ответа. Если ни один из ответов не будет верным, задание считается «сгоревшим» и участник продолжает игру далее с невыполненным заданием. Участник имеет право попросить членов жюри сделать отметку об отказе отвечать на задание. В этом случае он экономит время и может продолжить игру далее — возможно впереди его ожидают задания, решение которых будет для него более простым. После прохождения очередного этапа участник перемещается на следующий этап турнира (в следующую аудиторию). Когда им пройдены первые 5 этапов, он возвращается в первую аудиторию, в которой получает уже шестое задание. Турнир проводится в течение заранее оговоренного в положении времени. Соревнование заканчивается одновременно для всех участников вне зависимости от того, на каком этапе они находятся. В течение достаточно непродолжительного времени жюри подводит итоги по «Путевым листам» участников.
Организация и проведение марафона целесообразно и с целью охвата достаточно большого количества участников. Поскольку марафон проводится в быстром темпе, с использованием передвижения по этапам, перед проведением марафона участников необходимо ознакомить с правилами проведения турнира и техникой безопасности.
Конец XX — начало XXI века — время информационного бума. Самая разная информация (научные факты, достижения, открытия, слухи и др.) становятся доступны взрослым и детям благодаря возможностям современной науки и техники. Сегодняшние школьники читают много книг, пользуются возможностями электронных носителей и Интернета. Вследствие этого у ребенка формируется естественная потребность в применении полученных знаний. Конкурс «Эрудит» дает обучающимся прекрасную возможность посредством игровой деятельности показать, насколько широки их познания в той или иной области. Конкурс может стать одним из наиболее интересных и массовых мероприятий. Идея его создания возникла в Костанае уже более 25 лет назад. Автором игры «Эрудит» в городе стал преподаватель математики Олейников Георгий Николаевич. Первоначально игра проходила в рамках одной школы города. Это была средняя школа № 6 г. Костаная. Постепенно к игре присоединялись команды-участницы школ города. В настоящее время в очной и заочной (дистанционной) игре принимают участие более 40 школ города и области. На первоначальном этапе игра проводилась как межпредметный, интеллектуальный турнир. С течением времени менялось содержание игры: игра проводится и как межпредметный турнир и как турнир по отдельным предметам. Участники (команды, представители школ) могут выбирать категорию турнира. Но как бы не менялось содержание игры, материально-техническое обеспечение ее, форма проведения основные правила проведения очной игры остаются неизменными.
«Эрудит» — это интеллектуальный командный марафон. Участие в игре принимает команды из 6 человек. Заранее команды знают тему (темы, разделы), по которым будут представлены вопросы в ходе игры. Команды в игровом зале располагаются за отдельными столами в соответствии с результатами жеребьевки. Команды-участницы по очереди выбирают категорию задания и после того, как получено задание (озвученное и показанное на экране) включается таймер с показом, оставшегося на выполнение задания временем. Команда, выбиравшая категорию вопроса (задания), получает право первоочередного ответа. В случае если решение найдено этой командой раньше, чем заканчивается определенное на его выполнение время, команда сообщает об этом ведущему турнир. Таймер в такой ситуации останавливается. Команды, успевшие найти ответ на задание, заполняют лист ответов (Приложение 4) и передают его в жюри. Жюри проводят оперативную проверку полученных листов ответов с отметкой о выполнении/невыполнении задания и возвращают листы командам.
Учитывая, что турнир «Эрудит» проводится по информатике/программированию возможно (даже — желательно) проводить игру в условиях, когда каждый игровой стол оснащен ПК, который команды в случае необходимости, используют для решения задач. Желательно, чтобы компьютеры были по локальной сети соединены с головным компьютером, на котором работает жюри. В этом случае члены жюри получают возможность наблюдать за ходом работы команд и получать оперативно решения по сети.
Турнир проводится в разных возрастных группах с использованием заданий, различных по уровню. Это могут быть возрастные группы 4−5 классов, 6−7 классов, 8−9 классов и 10−11 классов. Для отборочного тура подготавливаются 50 — 100 вопросов по системе открытых (или закрытых) тестовых заданий.
Второй тур для победителей отборочного можно проводить в форме известной игры «Брейн-ринг».
2.5 Языки программирования на соревнованиях
В зависимости от правил соревнований или тестирующей системы могут использоваться те или иные языки программирования. Наиболее часто используются такие языки программирования для решения олимпиадных задач, как:
Delphi
Turbo Pascal
Borland C++
Microsoft Visual C/C++
Assembler
Java 2 SDK 1.5
В мире предпочтение отдается языку С++, но в Казахстане по-прежнему классическим языком программирования остается Delphi, а именно, большинство олимпиадных задач в Казахстане на соревнованиях по программированию решается именно на этом языке.
Pascal ABC — система программирования на языке Паскаль, используемая для эффективной подготовки учащихся средних школ к олимпиадам по программированию. [6]
Язык Pascal был создан в начале 70-х годов прошлого столетия выдающимся специалистом в области компьютерной науки Никлаусом Виртом как язык для изучения программирования. С методической точки зрения Pascal действительно хорошо подходит на роль учебного языка. Программы на Pascal легко читаются, а один из важнейших принципов современного программирования — удобочитаемость — более важна, чем краткость кода.
Язык Паскаль считается одним из лучших языков именно для начального обучения программированию. Однако, среда Borland Pascal, ориентированная на MS DOS, устарела, а среда Borland Delphi с ее богатыми возможностями сложна для начинающего программиста. Так, попытка начинать обучение с написания событийной программы в Borland Delphi, вызывает у обучаемого массу сложностей и приводит к ряду неправильно сформированных навыков.
Система Pascal ABC используется для обучения школьников программированию и подготовки к олимпиадам. Большое количество заданий по каждому разделу позволяет каждому учащему предоставить индивидуальное задание. Использование электронного задачника позволяет увеличить количество учащихся, которые могут успешно принять участие в олимпиадах по завершении изучения курса.
Система обучения, основанная на языке Delphi Pascal, позволяет осуществить плавный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Многие концепции в Pascal ABC сознательно упрощены, что позволяет использовать их на более ранних этапах обучения. Простейшие событийные программы также можно писать без объектов, пользуясь лишь процедурными переменными. Даже в консольных программах можно создавать таймеры и звуки, которые реализованы не в виде объектов.
В системе Pascal ABC школьник может выполнять так называемые проверяемые задания, обеспечивающие постановку задачи со случайными исходными данными, контроль операций ввода-вывода, проверку правильности решения, а также ведение протокола решения задач.
Проверяемые задания реализованы в виде электронного задачника по программированию Programming Taskbook, содержащего 1000 задач по программированию разного уровня сложности (от простейших задач до задач на файлы, указатели и рекурсию) а также в виде исполнителей Робот и Чертежник, предназначенных для быстрого обучения основам программирования школьников средних классов.
По использованию языков программирования на всероссийской олимпиаде 2011 года имеется такая информация:
Всего участников было 225. 218 участников использовали только один язык программирования. 7 участников использовало Паскаль и C++ одновременно (подсчет проведен по тому языку, который они использовали для решения большего числа задач).
Вот результат:
C++: 120 (53%)
Паскаль: 104 (46%)
Visual Basic: 1 (меньше 0.5%)
Если брать данные только по победителям олимпиады (16 человек): C++: 13 (81%)
Паскаль: 3 (19%)
Данные только по призерам олимпиады, которые не стали победителями (85 человек) такие:
C++: 52 (61%)
Паскаль: 33 (39%)
В Казахстане в марте прошел первый тур дистанционной Республиканской олимпиады по математике и информатике. Как сообщает Анна Шатерникова учащиеся 10−11-х классов показали достаточно высокий уровень подготовки. Олимпиада, организованная Международным IT-Университетом для казахстанских школьников, это один из первых шагов по внедрению в Казахстане интерактивной системы обучения e-Learning. Дистанционный формат проведения мероприятия позволил охватить все регионы страны — данные технологии не требуют больших затрат и вложений, для участия школьникам было достаточно иметь лишь выход в интернет и зарегистрироваться на сайте олимпиады.
До этого дистанционные олимпиады, в которых могли принять участие школьники, в Казахстане не проводились. Первый опыт проведения дистанционной олимпиады показал, что среди казахстанских школьников интерес к подобной форме электронного обучения очень высок — опробовали свои силы в решении олимпиадных задач свыше 2500 человек. Участники выполняли задания в режиме онлайн, у каждого из них был свой индивидуальный ID-номер, который позволял им иметь доступ к задачам. Итоговый результат, свои ошибки и итоги всего тура школьники могли видеть сразу же по окончании исходного времени. Как отметили организаторы, наиболее высокие показатели продемонстрировали школьники из регионов. В ходе второго тура ребята, соревнующиеся в области информатики, могли на выбор решать задачи на трех языках программирования — C++, Java, Pascal. Победители олимпиады получили гранты на обучение в Международном университете информационных технологий.
«Запуская этот проект, мы рассчитывали оценить уровень знаний школьников и создать базу своих потенциальных абитуриентов, однако разработанный формат тестирования вполне может стать своего рода учебно-методическим модулем для других вузов при проведении подобного предварительного тестирования поступающих. Недавно в своем послании народу глава государства поставил задачу, чтобы к 2015 году 50% организаций образования использовали электронное обучение, а к 2020 году их численность должна возрасти до 90%. И это — требование времени, поскольку современные формы обучения необходимы для выполнения тех задач, которые сегодня решает экономика страны. На сегодняшний день электронное обучение становится наиболее востребованным способом получения новых знаний», — отметил ректор IT-университета Дамир Шыныбеков.
В соответствии с планами организаторов, подобные дистанционные олимпиады будут проводиться ежегодно, а форма их проведения будет совершенствоваться. Такой подход позволит выявить талантливых ребят еще со школьной скамьи и станет своего рода отправной точкой для формирования интерактивной системы обучения в республике.
Однако, для того, чтобы успешно участвовать в таких соревнованиях, школьники должны:
— быть обучены языкам программирования;
— уметь решать задачи по программированию разного уровня сложности;
— иметь доступ в интернет.
Проводя подготовку школьников, необходимо учитывать предпочтения по языкам программирования, на которых решают задачи на соревнованиях мирового уровня, необходимо уже сегодня приступать к осваиванию языка С++. Именно этот язык со временем станет наиболее популярным и в нашей стране. Конечно эффективным обучение программированию на С++ станет возможным тогда, когда преподаватели овладеют этим языком на высоком и качественном уровне. И не отдельные преподаватели, а большинство.
C++ — компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
При создании C++ Бьёрн Страуструп стремился сохранить совместимость с языком C. Множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико — отчасти благодаря тому, что синтаксис C++ был основан на синтаксисе C.
В математических классах школ Республики Казахстан по учебному плану, в соответствии с Государственным общеобязательным стандартом образования (ГОСО) программирование изучается с 8-го или 9-го класса, при этом во многих школах уже используется язык С++. Постепенно происходит отказ от изучения языка Паскаль — не подходит ввиду отсутствия подходящих реализаций данного языка, а также ввиду его несовременности, небогатых средствах, как самого языка, так и стандартной библиотеки. По тем же причинам не подходит и язык Бейсик, который тоже меньше изучают в специализированных классах.
Кириенко Д.П. в своей статье «Язык программирования PYTHON — современный язык для обучения» в последние годы все более популярным становится язык программирования Python [9], который во всем мире широко используется как для обучения, так и в промышленном программировании. В феврале 2011 года Python занял четвертое место (после Java, C и C++) в рейтинге популярности языков программирования TIOBE Programming Community Index. Интерес к языку Python растет и в нашей стране, но в школах Казахстана по-прежнему преимущественно используется Бейсик и Паскаль.
Можно отметить следующие достоинства языка Python:
1. Понятность языка выше, чем у Паскаля и Бейсика. Простые программы записываются в несколько строк, не нужны инструкции, не имеющие непосредственного отношения к алгоритму (например, int main ()).
2. Простой и лаконичный синтаксис. Как правило, программа на языке Питон записывается короче, чем на C++, Паскале, Бейсике, но при этом без ущерба для понятности кода (как это свойственно языку C++).
3. Свободная и кроссплатформенная реализация.
4. Интерпретируемая архитектура языка упрощает написание, запуск и отладку программ.
5. Современность языка, наличие в нем высокоуровневых структур данных (списки, множества, ассоциативные массивы, длинная арифметика).
6. Наличие средств объектно-ориентированного и функционального программирования.
7. Наличие богатой библиотеки, позволяющей легко разрабатывать графические приложения, web-приложения и т. д.
Таким образом, язык Python лучше традиционных для школы языков Бейсик, Паскаль и С++ подходит как для начального обучения программированию, так и для построения профильных курсов.
Важен также выбор среды разработки, которых для языка Python существует достаточно много. Сравнив около двух десятков различных сред разработки, рекомендуем использовать в школе Wing IDE 101 — бесплатную учебную версию кроссплатформенной среды Wing IDE. Для удобства учащихся, автор выполнил перевод основной части интерфейса этой среды на русский язык. Возможно также использование и стандартной среды IDLE, входящей в стандартный дистрибутив языка, хотя она менее удобна.
Существуют, конечно, и недостатки, мешающие распространению языка Python:
1. Небольшое количество русскоязычной учебной и методической литературы.
2. Небольшое быстродействие программ на языке Python.
Для школ, не использующих собственную тестирующую систему, можно порекомендовать сайт [12], содержащий большое число задач самого разного уровня и автоматическую тестирующую систему, поддерживающую язык Python и доступную всем пользователям. Из литературы можно порекомендовать.
Часто приходится слышать возражение от учителей информатики — «Python нельзя использовать на олимпиадах». Это неверно. Множество языков программирования, допустимых на олимпиадах, определяется организатором конкретной олимпиады и в последние годы число олимпиад, на которых допускается использование языка Python, растет. Например, на всех олимпиадах по информатике, проводимых в г. Москве, разрешается использовать Python, это относится также к Всероссийской командной олимпиаде по программированию и Открытой олимпиаде по программированию. А так, как казахстанские школьники достаточно активно участвуют в Открытой олимпиаде и других соревнованиях, проходящих в России и других странах, рассматриваемый язык программирования необходимо тоже изучать. Есть статистические данные, что число участников олимпиад и других соревнований, использующих язык программирования Python, растет с каждым годом.
Python является хорошей заменой для Бейсика, Паскаля и C++ в школе.
Выводы. Рассматривая вопросы методики организации и проведения различных соревнований по информатике и программированию, нужно помнить об основных правилах подготовки мероприятий. Во-первых, это должен быть хорошо составленный организатором (-ами) план с описанием всех возможных ситуации проводимого мероприятия («Положение о проведении турнира»). В ежедневной практике в ходе учебного процесса необходимо изучать различные языки программирования.
3. Проведение турнира в учреждении образования (школе)
Учитывая то, что изучение информатики (на кружковой, факультативной основе) начинается порой уже в детских садах, начальной школе, можно сделать вывод: школьники 5 — 6 классов уже имеют некоторый запас знаний по этому предмету и пока не потеряли интерес к его изучению. Конечно, есть часть обучающихся, для которых компьютер — просто большая электронная игрушка. Но есть в этом возрасте и школьники уже точно знающие — программирование их будущая специальность.
Одна из задач, стоящих перед преподавателями информатики в это время: сделать все возможное, чтобы интерес у учащихся не пропал, и появилось желание не только играть на компьютере, но и изучать его технические характеристики, знакомиться с различными языками программирования.
Для учащихся 5 — 6 классов преподаватели информатики могут в рамках предметной недели или на постоянной основе проводить турниры по решению элементарных задач, открытым или закрытым тестам в форме:
· Командной олимпиады;
· Викторины;
· Марафона.
При проведении этих мероприятий необходимо строго следить за выполнением большинства правил поведения, присущих мероприятиям такого типа. Единственное, чем такие мероприятия будут отличаться от турниров для старшеклассников — набором задания. Все же для школьников 5 — 6 классов нужно использовать задания по информатике, а не по программированию. Для каждой возрастной группы могут быть подготовлены задания:
4−5 классы — 60 заданий;
6−8 классы -70 заданий;
9−11 классы — 100 заданий.
В первой части заданий даны три варианта ответов под буквами А), Б), В). Участник должен выбрать верный, по его мнению, ответ и занести в соответствующий бланк. Вторая часть заданий предполагает самостоятельную формулировку ответа, которая также заносится в бланк. На выполнение всего объема заданий дается 60 минут. Каждый верный ответ первой части оценивается в 1 балл. Во второй части заданий для 9−11 классов предусмотрены дополнительные баллы за трудность. Победителям присуждаются 1, 2, 3 места.
Если проводится разовое мероприятие, итоги подводятся сразу и обязательно награждаются победители. В случае постоянно действующей игры, подводятся промежуточные итоги, определяются лидеры турнира, а награждение проводится на последней игре.
Преподавателям информатики необходимо взять на заметку результаты мониторинга методистов математики, физики Костанайского городского управления образования, проведенного в конце 90-ых годов. Школьники, «засветившиеся» на аналогичных турнирах по этим предметам, чаще всего оказывались в последующем (т.е. в старших классах) победителями и призерами олимпиад городских, областных и республиканских.
3.1 Правила проведения олимпиад по информатике
Прежде, чем продолжить разговор о турнирах для школьников, прокомментируем наиболее важные правила проведения олимпиад по информатике. Многие из этих правил справедливы также и для большинства других видов турнирных соревнований по информатике, программированию.
1. Олимпиада проводится в два тура. Продолжительность каждого тура 5 часов. На каждом из туров для решения задач участнику предоставляется персональный компьютер типа IBM PC со следующим программным обеспечением: Turbo Pascal, Borland C++ (может быть и другое ПО, в зависимости от условий проведения олимпиады).
Из этого пункта становится ясно, что, во-первых, оба тура олимпиады, так называемые, практические. Во-вторых, для решения задач предлагается использовать лишь один из двух предусмотренных правилами языков программирования. Такое положение полностью соответствует международной практике, хотя на российских олимпиадах соблюдается не всегда строго. Basic часто исключают из числа официальных языков программирования олимпиады или конкурса, так как желание программировать только на нем высказывают очень небольшое число участников олимпиад высокого уровня, при профессиональной разработке программ он практически не используется, кроме того, решение задач с использованием этого языка иногда затруднено по сравнению с Pascal и C. Заранее объявляя об ограничениях на использование программного обеспечения, жюри и оргкомитет олимпиады способствуют практике изучения тех языков программирования в казахстанских школах, которые позволят ребятам добиваться не только успехов в различных соревнованиях, но и некоторым из них стать высокими профессионалами в области информатики и программирования. По мнению многих преподавателей информатики, программистов — практиков, именно язык программирования Pascal, как никакой другой, позволяет за короткий срок отлаживать довольно сложные программы, что особенно важно в условиях практического тура любой олимпиады, но и не менее значимо при изучении информатики в школе. Использование языка C (C++) на олимпиаде стоит приветствовать лишь тогда, когда участник владеет им почти в совершенстве, практически не допуская ошибок при записи решения задачи на C, часть из которых невозможно обнаружить на этапе компиляции программы. Кроме того, при программировании на C могут возникнуть сложности с настройкой компилятора, а в режиме олимпиады даже минута, потраченная не на собственно решение задач, может сказаться на результатах участника. Хотя, справедливости ради стоит сказать, что на международной олимпиаде процент участников, использующих язык программирования C (C++) достаточно высок, причем многие из них выступают более чем успешно, что опять же свидетельствует о высокой квалификации таких школьников, а размер кода программ на C (не следует путать с размером исполняемого файла) часто меньше кода на языке Pascal. В заключение заметим, что предоставляемое на олимпиадах программное обеспечение (операционная система, тип и версия компиляторов, среда программирования) со временем естественно может изменяться.
2. На каждом из туров участникам будет предложено решить несколько задач. Вопросы по условиям задач можно задавать только в течение первого часа тура. Вопросы следует задавать только в письменном виде и формулировать их так, чтобы на них можно было ответить «да» или «нет».
Такая практика сложилась исторически и применяется на международных олимпиадах. Строгое соблюдение данного пункта правил иногда вызывает у ряда участников некоторые сложности. Так, школьникам зачастую тяжело именно в начале тура пытаться понять нюансы в формулировках сразу всех задач. Кроме того, часто вопросы по условию возникают лишь тогда, когда участник приступил к решению той или иной задачи. Поэтому немаловажным является умение с первого раза внимательно прочитать условие любой задачи, выделяя не ясные для себя места в тексте. Умение грамотно сформулировать вопрос, допускающий один из двух вариантов ответа, также зачастую у школьников отсутствует. Заметим, что при ответе на большинство задаваемых вопросов члены жюри используют фразу «без комментариев». Это означает, что-либо ответ на вопрос все же содержится в формулировке задачи и его следует искать самостоятельно, либо вопрос фактически касается уже способов ее решения и жюри не комментирует различные соображения участников по этому поводу.
3. Во время тура не допускается использование личных дискет, калькуляторов, электронных записных книжек, пейджеров, мобильных телефонов, а также учебной литературы и личных записей, сделанных до начала тура.
Подобные ограничения ставят всех участников олимпиады во время тура в равные условия и способствуют выявлению действительно наиболее талантливых ребят. Хотя на ряде соревнований использование специальной литературы допускается, что соответствует практике профессиональной работы ученого, инженера или программиста, в ходе турниров среди школьников такие ограничения вводятся.
4. Не забывайте периодически сохранять свои решения. В случае возникновения сбоев в работе компьютера и программного обеспечения необходимо срочно обратиться к дежурному преподавателю, который должен письменно зафиксировать сбой и сообщить о нем в жюри. По решению жюри вам может быть добавлено время, потраченное на восстановление работоспособности компьютера.
Комментарии тут, как говорится, излишни. Справедливости ради следует заметить, что подобные ситуации на олимпиадах высокого уровня крайне редки и возникают, в основном, в результате ошибочных действий самих участников или же вызваны ошибками в их же программах, например, связанными с некорректным обращением к оперативной памяти.
5. В решениях категорически запрещается:
— использовать расширенную память;
— использовать ассемблерные вставки;
— создавать файлы и каталоги во время работы программы;
— читать данные откуда-либо, кроме как из входного файла и записывать их куда-либо, кроме выходного файла;
— читать и записывать вектора прерываний;
— производить любые другие действия, нарушающие работу проверяющей системы во время тестирования.
Собственно говоря, последнее из приведенных ограничений во многом объясняет и наличие всех остальных. Кроме того, в случае правильного решения задач, увеличивать скорость работы соответствующих программ путем использования ассемблера нет необходимости, то же самое касается и создания вспомогательных файлов.
6. Для решения разных задач могут использоваться разные языки программирования. По каждой задаче на проверку должны быть сданы два файла — исходный текст решения и соответствующий ему исполняемый файл (файл с расширением exe). Если программа написана на языке C или C++, то она должна быть скомпилирована в модели памяти large. Ваша программа не должна использовать созданные вами внешние модули. После окончания тура и сдачи работы вносить какие-либо изменения в текст решения не допускается. Файлы с решениями могут быть скопированы на личную дискету участника дежурным преподавателем после окончания тура.
Из данного правила следует, что проверка решения задачи производится в основном путем тестирования исполняемого файла, созданного участником во время тура. Однако жюри оставляет за собой право перекомпилировать решения участников, в исключительных случаях это делается по просьбе школьников с разрешения жюри во время тестирования. Текст же решения с целью оценки используемых в нем алгоритмов жюри не анализируется, проверка осуществляется путем запуска программы на различных тестах. Так было далеко не всегда, однако в последнее десятилетие это стало нормой проведения всех практических туров олимпиад по информатике и программированию различного уровня. Достаточно строгим является правило, согласно которому текст программы после окончания тура исправлениям не подлежит, даже если ошибки в программе незначительны (иногда требуется исправить всего один символ) или задача практически решена, но нарушен формат выходных данных. В противном случае довольно сложно определить, какие же именно исправления можно считать допустимыми. В последние годы такое правило неуклонно соблюдается и практически не вызывает возражений со стороны как участников, так и их руководителей. Ограничение же на модель памяти при использовании языка программирования C является искусственным и введено лишь потому, что данная модель памяти наиболее близка к модели памяти языка Turbo Pascal, что опять же ставит участников в равные условия при решении задач. На международных олимпиадах такое ограничение отсутствует. Копирование решения участником на собственную дискету в ряде случаев позволяет ему вместе с руководителем найти ошибки и разобраться в особенностях работы программы до окончания олимпиады. Это существенно снижает количество подаваемых в жюри апелляций.
7. Проверка решений осуществляется после окончания тура и проводится в присутствии участника (а по желанию и руководителя). По результатам тестирования заполняется лист проверки с результатами по каждому тесту. Ваша программа на одном и том же тесте должна всегда выдавать одинаковые результаты. Если с результатами проверки участник не согласен, то он вносит свои замечания в лист проверки.
Проверка решения в присутствии участника говорит об открытости работы жюри на этапе тестирования. Такой подход снимает множество вопросов относительно полученных за решение той или иной задачи баллов. Поэтому его применение можно рекомендовать для олимпиад любого уровня, начиная со школьной олимпиады. На последней, а также районной олимпиаде, участники зачастую получают за решение той или иной задачи нулевые баллы просто потому, что их решение просто не удалось запустить или файл с решением оказался не найденным. А ошибки в названиях файлов с решениями, входными и выходными данными, например на школьной олимпиаде, не должны оказаться для ребят фатальными. Но определить, что причины неработоспособности программы именно в этом, зачастую можно только лишь с помощью ее автора. Требование же стабильности работы программы имеет следующий смысл. Различные результаты работы программы на одном и том же тесте в большинстве случаев объясняются либо ошибками в ее работе (например, если значения каких-либо переменных в программе явным образом не проинициализированы, то работа исполняемого файла зависит от того, чем было заполнено содержимое используемой программой при запуске оперативной памяти). Либо ошибка в использовании датчика случайных (а на самом деле псевдослучайных) чисел. Причем правилами олимпиады использование случайных чисел как таковых не возбраняется. Просто программа должна применять датчик так, чтобы на одних и тех же входных данных, генерировалась последовательность из одних и тех же случайных чисел. Например, в языке Turbo Pascal этого легко добиться, если не использовать в программе процедуру randomize. Кроме того, генератор псевдослучайных чисел можно запрограммировать и самостоятельно. При нарушении указанного правила жюри оставляет за собой право запустить программу несколько раз и засчитать худший из показанных ею результатов.
8. Решения участников проверяются на компьютерах с одинаковой тактовой частотой, возможно не совпадающей с тактовой частотой компьютеров, предоставленных в их распоряжение на соревнованиях. При тестировании будет доступно не менее 350 килобайт динамической памяти. Для сравнения быстродействия тестирующего компьютера с используемым при выполнении заданий участникам во время тура предоставляется специальная программа, которая на тестирующем компьютере работает ровно 5 — 10 секунд.
Конечно, такое правило является вынужденным и объясняется лишь тем, что оргкомитету очень трудно предоставить участникам олимпиады порядка 50 одинаковых компьютеров. Хотя на международной олимпиаде такая задача решается. При отладке решения следует учитывать, что эталонная по времени работы программа позволяет лишь приблизительно оценить ожидаемое время работы программы участника на тестирующем компьютере. Но обычно время тестирования любой задачи как минимум в два раза превышает действительно необходимое время для работы программы с оптимальным решением этой задачи на любом из тестов. Напомним, что максимально допустимое время работы программы на одном тесте входит в текст условия задачи.
3.2 Турниры школьников среднего и старшего возраста
Любые внеурочные мероприятия должны способствовать развитию интеллектуальных способностей, конкретизируя знания в определенных образовательных областях, развивать быстроту реакции и сообразительность.
Организаторы турниров достигают этой цели, решая следующие задачи:
— создают условия для формирования у каждого школьника опыта индивидуальных достижений, опыта успеха в реализации своих способностей;
— работают над формированием образно-аналитического мышления;
— способствуют повышению интеллектуально-творческой активности учащихся;
— поощряют побуждение ребенка к расширению познавательных интересов, эмоциональному, эстетическому, интеллектуальному совершенствованию.
Начиная с седьмого класса необходимо для участников составлять задания так, чтобы это были задания и по информатике, и по программированию. Примерный перечень заданий показан в приложении 4. В этом случае можно использовать различные типы мероприятий.
На первом, самом массовом этапе это может быть марафон. Количество участников на этом этапе не ограничено, участвовать могут все желающие. Марафон — отборочный этап турнира.
Из победителей первого, отборочного этапа, формируются команды, которые примут участие в командной олимпиаде. Это могут быть команды, сформированные случайным образом. Методик, позволяющих выполнить формирование команд таким образом, описано в литературе достаточно много. Предлагаем воспользоваться, например, методиками американского тренера Роберта Лукаса.
Методики, предлагаемые эти автором сами по себе очень увлекательны, почти все в игровой форме, стимулирующие мозг и побуждающие участников к активному общению. Например, при входе в аудиторию каждый участник выбирает из стоящей у входа вазы фишку (игрушку, карандаш, ручку, цветной стикер и т. д.), цветовая гамма которых такова, что по завершении входа в аудиторию Вы предлагаете участникам найти «свою» команду по цвету фишек. Можно предложить еще такой способ формирования команд. На стене (доске) прикрепить стикеры-пазлы с написанными на каждом по одной букве. Буквы подобраны заранее таким образом, чтобы из них можно было сложить термины информатики (программирования). Термины должны содержать одинаковое количество букв. Заранее, чтобы несколько упростить выполнение задачи школьникам, Вы можете им сообщить, из скольких букв состоят подобранные Вами термины.
После того, как формирование команд завершено, можно приступать непосредственно к проведению командной олимпиады, правила которой уже были описаны выше.
Необходимо помнить, что и марафон, и командную олимпиаду желательно проводить в быстром темпе и не более 60 минут. Оптимальный вариант 45 — 50 минут непосредственно самого мероприятия. Если игра затягивается, школьники устают, им становится не интересно.
Проводит игру ведущий (педагог, методист, старшеклассник). Ведущий представляет игроков и членов жюри, знакомит с правилами, озвучивает вопросы и счет игры.
Для каждой возрастной группы предлагается определенное количество заданий:
2−3 классы — 50 заданий;
4−5 классы — 60 заданий;
6−8 классы -70 заданий;
9−11 классы — 101 задание.
В первой части заданий даны три варианта ответов под буквами А), Б), В). Участник должен выбрать верный, по его мнению, ответ и занести в соответствующий бланк. Вторая часть заданий предполагает самостоятельную формулировку ответа, которая также заносится в бланк. На выполнение всего объема заданий дается 60 минут. Каждый верный ответ части оценивается в 1 балл. Во второй части заданий для 9−11 классов предусмотрены дополнительные баллы за трудность. Победителям присуждаются 1, 2, 3 места. Победители 1 этапа участвуют во 2 этапе конкурса.
По завершении командной олимпиады, за ходом которой внимательно следят члены жюри (педагоги, методисты, старшеклассники, родители) определяются победители и награждается грамотами, подарками.
Самый серьезный этап проведения турнира — олимпиада в личном зачете, в которой принимают участие школьники старших классов, победители предыдущих этапов турнира. Желательно проводить этот этап в соответствии с правилами проведения олимпиад, которые описаны в пункте 3.1.
Учитывая, что в турнире принимают участие школьники с разным уровнем изучения языков программирования, задачи необходимо подбирать разноплановые. Например:
Задача 1.
Вычислить значение суммы
S = 1/1! + ½! + … + 1/k!
Задача 2.
Написать программу определения количества шестизначных 'счастливых' билетов, у которых сумма первых 3 десятичных цифр равна сумме 3 последних десятичных цифр.
Задача 3.
Написать программу определения количества 2*Nзначных билетов, у которых сумма первых N десятичных цифр равна сумме N последних десятичных цифр; при этом Nпроизвольное натуральное число.
Задача 4.
Фишка может двигаться по полю длины N только вперед. Длина хода фишки не более K. Найти число различных путей, по которым фишка может пройти поле от начала до конца.
Пример. N=3, K=2
Возможные пути:
1,1,1
1,2
2,1
Ответ: 3.
Задача 5.
Покупатель имеет купюры достоинством A (1), …, A (n), а продавец — B (1),., B (m). Необходимо найти максимальную стоимость товара Р, которую покупатель не может купить, потому что нет возможности точно рассчитаться за этот товар с продавцом, хотя денег на покупку этого товара достаточно.
Задача 6.
Задан массив М [1:N] натуральных чисел, упорядоченный по неубыванию, т. е.: M[1]<=M[2]<=…<=M[N].
Найти первое натуральное число, не представимое суммой никаких элементов этого массива, при этом сумма может состоять и из одного слагаемого, но каждый элемент массива может входить в нее только один раз.
Задача 7.
У покупателя есть n монет достоинством H (1),…, H (n). У продавца есть m монет достоинством B (1),…, B (l). Может ли купить покупатель вещь стоимости S так, чтобы у продавца нашлась точная сдача (если она необходима).
Задача 8.
Задан массив М [1:N] натуральных чисел, упорядоченный по неубыванию, т. е.: M[1]<=M[2]<=…<=M[N].
Написать алгоритм выплаты заданной суммы S минимальным количеством купюр достоинством M (1), …, M (N).
Задача 9.
По матрице A (N, N) построить матрицу B (N, N). Элемент B (I, J) равен максимальному из элементов матрицы, А принадлежащем части, ограниченной справа диагоналями, проходящими через A (I, J).
Задача 10.
Вводится матрица a (m, n) из 0 и 1. Найти в ней квадратную подматрицу из одних единиц максимального размера.
Задача 11.
Вводится матрица a (m, n) из 0 и 1. Найти в ней прямоугольную подматрицу из одних единиц максимального размера (т.е. с максимальным произведением высоты на длину).
Переформулировка задачи 11.
Фермер хочет построить на своей земле как можно больший по площади сарай. Но на его участке есть деревья и хозяйственные постройки, которые он не хочет никуда переносить. Для простоты представим ферму сеткой размера MxN. Каждое из деревьев и построек размещается в одном или нескольких узлах сетки. Прямоугольный сарай не должен ни с чем соприкасаться (т.е. в соседних с ним узлах сетки не может ничего быть).
Найти максимально возможную площадь сарая и где он может размещаться.
Задача 12.
Дан массив A[N, M]. Необходимо найти максимальную сумму элементов прямоугольного подмассива по всем возможным прямоугольным подмассивам.
Задача 13.
Задана матрица натуральных чисел A (n, m). За каждый проход через клетку (i, j) взымается штраф A (i, j). Необходимо минимизировать штраф и а) Пройти из какой-либо клетки 1-ой строки в n-ую строчку, при этом из текущей клетки можно перейти
1) в любую из 3-х соседних, стоящих в стpоке с номеpом на 1-цу большем;
2) в любую из 8 соседних клеток;
б) Реализовать пункт a) для перехода из клетки (1,1) в (n, m).
Задача 14.
Дан выпуклый n-угольник, n=>3, своим обходом по контуру. Разбить его на треугольники (n-3)-мя диагоналями, непересекающимися кроме как по концам, таким образом чтобы а) Cумма их длин была минимальной;
б) Максимальная из диагоналей имела наименьшую длину.
Задача 15.
Задано число, А и два вектора b[1.n] и c[1.n].
Найти множество I, являющееся подмножеством множества {1,…, n}, такое, что является максимальной из всех возможных Задача 16.
Пусть x=(a1,a2,…, am) и y=(b1,b2,…, bn) — две заданных строки символов.
Определим d (x, y) как минимальное число вставок, удалений и замен символа, которое необходимо для преобразования x в y.
Например: d (ptslddf, tsgldds)=3
Для заданных x и y найти d (x, y).
Задача 17.
Вводится три неотрицательных числа d, i, c и две строки X и Y. Найти преобразование строки X в Y минимальной стоимости. Допустимы следующие три операции:
удалить любой символ из X (стоимость операции d);
вставить любой символ в X (стоимость операции i);
заменить символ в X на произвольный (стоимость операции e).
Задача 18.
Даны две строки x и y. Строка x состоит из нулей и единиц, строка y из символов A и B. Можно ли строку x преобразовать в строку y по следующему правилу: цифра 0 преобразуется в непустую последовательность букв A, а цифра 1 — либо в непустую последовательность букв A, либо в непустую последовательность букв B?
Задача 19.
Пусть известно, что для перемножения матрицы размера n*m на матрицу размера m*k требуется n*m*k операций. Необходимо определить, какое минимальное число операций потребуется для перемножения n матриц А1,…Аn, заданных своими размерами n (i)*m (i). При этом можно перемножать любые две рядом стоящие матрицы, в результате чего получается матрица нужного размера.
Замечание:
n (i) — число строк в матрице Ai
m (i) — число столбцов в матрице Ai
n (i)=m (i)+1.
Задача 20.
а) Из последовательности, состоящей из N чисел, вычеркнуть минимальное количество элементов так, чтобы оставшиеся образовали строго возрастающую последовательность.
б) Из заданной числовой последовательности A[1.N] вычеркнуть минимальное число элементов так, чтобы в оставшейся подпоследовательности каждый последующий элемент был больше предыдущего кроме, быть может, одной пары соседних элементов (одного «разрыва» возрастающей подпоследовательности).
Например: A=(1,2,3,2,4,3,4,6);
Искомая подпоследовательность (1,2,3,2,3,4,6)
б) Из заданной числовой последовательности A[1.N] вычеркнуть минимальное число элементов так, чтобы в оставшейся подпоследовательности каждый последующий элемент был больше предыдущего кроме, быть может, m пар соседних элементов (возрастающая подпоследовательность с m «разрывами»).
Задача 21.
В заданной последовательности целых чисел найти максимально длинную подпоследовательность чисел такую, что каждый последующий элемент подпоследовательности делился нацело на предыдущий.
Задача 22.
Возвести число, А в натуральную степень n за как можно меньшее количество умножений.
Задача 23.
Заданы z и y — две последовательности. Можно ли получить последовательность z вычеркиванием элементов из y.
Задача 24.
Найти максимальную по длине последовательность z, полученную вычеркиванием элементов как из x, так и из y.
Задача 25.
Пусть x и y — две бинарных последовательности (т.е. элементы последовательностей — нули и единицы); x и y можно рассматривать как запись в двоичной форме некоторых двух натуральных чисел.
Найти максимальное число z, двоичную запись которого можно получить вычеркиванием цифр как из x, так и из y. Ответ выдать в виде бинарной последовательности.
Компетентное жюри следит за ходом отдельных этапов турнира, разрешает возникающие спорные вопросы, подводит итоги и награждает победителей. В жюри могут входить педагоги и методисты, психолог, представители интересов игроков (дети, родители), школьники, спонсоры.
В подготовке вопросов, заданий для 1 и 2 этапов игры могут участвовать не только педагоги и методисты, но и сами школьники. Например, старшеклассники могут предлагать вопросы и задачи для школьников младших классов.
Вообще, для проведения турниров целесообразно составлять базу вопросов, заданий, задач. Это могут быть и прочитанные в учебниках, задачниках, интернет задания, и придуманные организаторами и участниками турнира задачи.
Желательно базу заданий формировать таким образом, чтобы задачи были сгруппированы оп темам и типам. Например:
Операторы цикла
№ 1. Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их возрастания, а также количество N этих чисел.
№ 2. Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (не включая сами эти числа), в порядке их убывания, а также количество N этих чисел.
№ 3. Дано вещественное число A и целое число N (> 0). Вывести A в степени N: AN = A· A·…·A (числа A перемножаются N раз).
№ 4. Дано вещественное число A и целое число N (> 0). Вывести все целые степени числа A от 1 до N.
№ 5. Дано вещественное число A и целое число N (> 0). Вывести 1 + A + A2 + A3 + … + AN. Begin85. Дано вещественное число A и целое число N (> 0). Вывести 1 — A + A2 — A3 + … + (-1)NAN.
№ 6. Дано целое число N (> 1). Вывести наименьшее целое K, при котором выполняется неравенство 3K > N, и само значение 3K.
№ 7. Дано целое число N (> 1). Вывести наибольшее целое K, при котором выполняется неравенство 3K < N, и само значение 3K.
№ 8. Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + ½ + … + 1/N будет больше A, и саму эту сумму.
№ 9. Дано вещественное число A (> 1). Вывести наибольшее из целых чисел N, для которых сумма 1 + ½ + … + 1/N будет меньше A, и саму эту сумму.
№ 10. Дано целое число N (> 0). Вывести произведение 1· 2·…·N. Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью вещественной переменной и выводить его как вещественное число.
№ 11. Дано целое число N (> 0). Если N — нечетное, то вывести произведение 1· 3·…·N; если N — четное, то вывести произведение 2· 4·…·N. Чтобы избежать целочисленного переполнения, вычислять это opnhgbedemhe с помощью вещественной переменной и выводить его как вещественное число.
№ 12. Дано целое число N (> 0). Вывести сумму 2 + 1/(2!) + 1/(3!) + … + 1/(N!) (выражение N! — «N факториал» — обозначает произведение всех целых чисел от 1 до N: N! = 1· 2·…·N). Полученное число является приближенным значением константы e = exp (1) (= 2.71 828 183…).
№ 13. Дано вещественное число X и целое число N (> 0). Вывести 1 + X + X2/2! + … + XN/N! (N! = 1· 2·…·N). Полученное число является приближенным значением функции exp в точке X.
№ 14. Дано вещественное число X и целое число N (> 0). Вывести X — X3/3! + X5/5! — … + (-1)NX2N+1/(2N+1)! (N! = 1· 2·…·N). Полученное число является приближенным значением функции sin в точке X.
№ 15. Дано вещественное число X и целое число N (> 0). Вывести 1 — X2/2! + X4/4! — … + (-1)NX2N/(2N)! (N! = 1· 2·…·N). Полученное число является приближенным значением функции cos в точке X.
№ 16. Дано вещественное число X (|X| < 1) и целое число N (> 0). Вывести X — X2/2 + X3/3 — … + (-1)N-1XN/N. Полученное число является приближенным значением функции ln в точке 1+X.
№ 17. Дано вещественное число X (|X| < 1) и целое число N (> 0). Вывести X — X3/3 + X5/5 — … + (-1)NX2N+1/(2N+1). Полученное число является приближенным значением функции arctg в точке X.
№ 18. Дано целое число N (> 2) и две вещественные точки на числовой оси: A, B (A < B). Отрезок [A, B] разбит на равные отрезки длины H с концами в N точках вида A, A + H, A + 2H, A + 3H, …, B. Вывести значение H и набор из N точек, образующий разбиение отрезка [A, B].
№ 19. Дано целое число N (> 2) и две вещественные точки на числовой оси: A, B (A < B). Функция F (X) задана формулой F (X) = 1 — sin (X). Вывести значения функции F в N равноотстоящих точках, образующих разбиение отрезка [A, B]: F (A), F (A + H), F (A + 2H), …, F (B).
№ 20. Дано число D (> 0). Последовательность чисел AN определяется следующим образом: A1 = 2, AN = 2 + 1/AN-1, N = 2, 3, … Найти первый из номеров K, для которых выполняется условие |AK — AK-1| < D, и вывести этот номер, а также числа AK-1 и AK.
Двумерные массивы (матрицы)
№ 21. Дано число k (0 < k < 11) и матрица размера 4×10. Найти сумму и произведение элементов k-го столбца данной матрицы.
№ 22. Дана матрица размера 5×9. Найти суммы элементов всех ее четных1|нечетных2 строк3|столбцов4.
№ 23. Дана матрица размера 5×10. Найти минимальное1|максимальное2 значение в каждой строке3|столбце4.
№ 24. Дана матрица размера 5×10. В каждой строке1|столбце2 найти количество элементов, больших3|меньших4 среднего арифметического всех элементов этой строки1|столбца2.
№ 25. Дана матрица размера 5×10. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке1|столбце2.
№ 26. Дана матрица размера 5×10. Найти минимальное1|максимальное2 значение среди сумм элементов всех ее строк3|столбцов4 и номер строки3|столбца4 с этим минимальным1|максимальным2 значением.
№ 27. Дана матрица размера 5×10. Найти минимальный1|максимальный2 среди максимальных1|минимальных2 элементов каждой строки3|столбца4.
№ 28. Дана целочисленная матрица размера 5×10. Вывести номер ее oepbni1|последней2 строки3|столбца4, содержащего равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких строк3|столбцов4 нет, то вывести 0.
№ 29. Дана матрица размера 5×10. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего только положительные элементы. Если таких строк3|столбцов4 нет, то вывести 0.
№ 30. Дана целочисленная матрица размера M x N. Различные строки (столбцы) матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках (столбцах). Найти количество строк1|столбцов2, похожих на первую3|последнюю4 строку1|столбец2.
№ 31. Дана целочисленная матрица размера M x N. Найти количество ее строк1|столбцов2, все элементы которых различны.
№ 32. Дана целочисленная матрица размера M x N. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего максимальное количество одинаковых элементов.
№ 33. Дана квадратная матрица порядка M. Найти сумму элементов ее главной1|побочной2 диагонали.
Деревья
№ 34. Дано упорядоченное дерево глубины N (> 0), каждая внутренняя вершина которого имеет K (< 9) непосредственных потомков, которые нумеруются от 1 до K. Корень дерева имеет номер 0. Записать в текстовый файл с именем Name все возможные пути, ведущие от корня к листьям (каждый путь записывается в отдельной строке файла). Перебирать пути, начиная с «самого левого» и заканчивая «самым правым», при этом первыми заменять конечные элементы пути.
№ 35. Дано упорядоченное дерево глубины N (> 0), каждая внутренняя вершина которого имеет K (< 9) непосредственных потомков, которые нумеруются от 1 до K. Корень дерева имеет номер 0. Записать в текстовый файл с именем Name все пути, ведущие от корня к листьям и удовлетворяющие следующему условию: никакие соседние элементы пути не нумеруются одной и той же цифрой. Каждый путь записывается в отдельной строке файла. Порядок перебора путей — тот же, что в задании № 34.
№ 36. Дано упорядоченное дерево глубины N (N > 0 — четное), каждая внутренняя вершина которого имеет два непосредственных потомка: A с весом 1 и B с весом -1. Корень дерева C имеет вес 0. Записать в текстовый файл с именем Name все пути от корня к листьям, удовлетворяющие следующему условию: суммарный вес элементов пути равен 0. Каждый путь записывается в отдельной строке файла. Порядок перебора путей — тот же, что в задании № 34.
№ 37. Дано упорядоченное дерево глубины N (N > 0) того же типа, что и в задании Proc83. Записать в текстовый файл с именем Name все пути от корня к листьям, удовлетворяющие следующему условию: суммарный вес элементов для любого начального отрезка пути неотрицателен1|неположителен2. Каждый путь записывается в отдельной строке файла. Порядок перебора путей — тот же, что в задании № 34.
№ 38. Дано упорядоченное дерево глубины N (N > 0 — четное) того же типа, что и в задании Proc83. Записать в текстовый файл с именем Name все пути от корня к листьям, удовлетворяющие следующим условиям: суммарный вес элементов для любого начального отрезка пути неотрицателен1|неположителен2, а суммарный вес всех элементов пути равен 0. Каждый путь записывается в отдельной строке файла. Порядок перебора путей — тот же, что в задании № 34.
3.3 Подготовка школьников к олимпиаде
Не секрет ни для кого, что только успех помогает человеку поверить в свои силы и стремиться преодолевать новые вершины. Для успешного участия в олимпиаде по программированию школьник должен:
Владеть языком программирования (Pascal или Си/Си++)
Уметь:
1. придумывать и реализовывать алгоритмы решения задач;
2. оценивать время их работы;
3. тестировать;
4. отлаживать свои программы.
Знать следующие алгоритмы:
9 класс Алгоритмы целочисленной арифметики
1. Поиск делителей числа. Простые числа 2. Разложение числа на простые множители 3. Поиск наибольшего общего делителя (НОД) и наименьшего общего кратного (НОК) 4. Представление чисел. Выделение цифр числа 5. Перевод чисел из одной системы счисления в другую 6. Делимость чисел 7. Действия с многозначными (большими) числами Рекуррентные уравнения и динамическое программирование
1. Понятие задачи и подзадачи
2. Понятие рекуррентного соотношения Задачи комбинаторики
1. Перестановки
2. Сочетания
3. Размещения
4. Подмножества
5. Реализация перебора вариантов. Сокращение перебора
10−11 класс Структуры данных
1. Очереди
2. Стеки
3. Списки Теория графов
1. Основные понятия теории графов
2. Смежность и инцидентность
3. Представление графов
4. Маршруты
5. Маршруты в графах
6. Поиск в ширину
7. Поиск в глубину
8. Исчерпывающий поиск с возвратом
9. Алгоритм построения кратчайших путей
10. Эйлеровы графы
11. Основная теорема об эйлеровом графе
12. Алгоритм построения эйлерова цикла Сортировка
1. Понятие сортировки
2. Сортировка простым обменом
3. Квадратичные алгоритмы
4. Алгоритмы порядка n log n
5. Линейный поиск
6. Бинарный поиск Геометрия
1. Прямая и отрезок прямой
2. Треугольник
3. Площадь произвольного треугольника
4. Замечательные линии и точки треугольника
5. Многоугольник
6. Выпуклый многоугольник
7. Площадь простого плоского многоугольника Рекурсия
1. Примеры рекурсивных программ.
2. Рекурсивная обработка деревьев Проводя подготовку своих воспитанников к турниру, не забывайте дать им несколько советов:
1. Если вы участвуете в турнире впервые, заранее посмотрите примеры предлагаемых на турнирных задач, например, в архивах олимпиад, представленных сайтах.
2. Все решения проверяются автоматически, и если выходной файл содержит постороннюю информацию или если его формат не соответствует описанному в условии, он будет признан неправильным.
3. Ваша программа не должна ничего выводить на экран (если это особо не оговорено в условии задачи), а также ждать какого-либо ввода пользователя.
4. Распространенной ошибкой является ситуация, когда после окончания работы программа ждет нажатия какой-либо клавиши. При автоматической проверке никто эту клавишу нажимать не будет, и программа будет считаться превысившей предел времени (то есть зависшей или неэффективной).
5. Прежде всего, вы должны уметь работать с текстовыми файлами (считывать и записывать информацию).
6. Лучше всего попробовать работать с файлами до того, как вы придете на олимпиаду, это не сложно — скорее всего, вы с легкостью разберетесь, как это делается, посмотрев приведенный ниже пример И в то время, когда преподаватель проводит подготовку школьников к турниру, нужно не забывать: ошибки могут быть у каждого. Поэтому лучше их предупредить, чем ученик допустит эти ошибки во время турнира. Сделать можно это просто: разбирать некоторые задания пошагово, проходя те этапы решения задачи, на которых обычно ошибается большинство.
Рассмотрим задачу, которая, с одной стороны не требуют глубоких познаний в языке программирования, а с другой может служить полезным примером.
Задача. Даны целые числа A и B, по модулю не превышающие 32 000. Найти их сумму.
Казалось бы, что ничего сложного, однако эта задача не зря дается практически ежегодно на отборочных турах различных командных олимпиад по программированию.
Дело в ограничении на целые типы в системах программирования Borland Pascal и Borland C++, которые довольно часто используются школьниками.
Решение задачи (с разбором ошибок).
Во входном файле a. in записаны два натуральных числа, каждое из которых не превышает 32 000. Числа во входном файле разделяются пробелами и (или) символами перевода строки. В выходной файл a. out вывести сумму этих двух чисел.
Кажется, любой знакомый с программированием школьник с легкостью может написать ее решение:
Задача А: Сумма двух чисел Имя входного файла: a. in
Имя выходного файла: a. out
Ограничение по времени: 1 сек Ограничение по памяти: 64Мбайт Воспользуемся стандартными файловыми переменными: Input и Output.
Они автоматически закрываются после работы программы.
Переменная Input по умолчанию связана с клавиатурой, a Output — с экраном дисплея Так как во входном файле записаны только числа, то для чтения воспользуемся командой read — она сама пропускает пробелы и переходы на новую строку Используя процедуру ASSIGN, переназначим идентификаторы ввода-вывода INPUT и OUTPUT и укажем имя входного и выходного файла:
ASSIGN (INPUT, 'a.in'); RESET (INPUT);
ASSIGN (OUTPUT, 'a.out'); REWRITE (OUTPUT);
1. На диске С создадим папку С: OLIMPIAD
var a, b, c:integer;
begin
assign (input,'a.in'); {Устанавливаем связь с файлом a. in}
reset (Input); {Открываем файл для чтения}
read (Input, a, b); {Считываем данные из файла}
c:=a+b;
assign (Output,'a.out'); {Устанавливаем связь с файлом a. out}
rewrite (Output); {Открываем файл для записи}
writeln (Output, c); {Записываем данные в файл}
end.
2. Сохраним в ней исходник С: OLIMPIAD a. pas (Рисунок 2)
Рисунок 2. Сохранение файла с исходным кодом
3. Откроем блокнот.
4. Занесём исходные данные через пробел (Рисунок 3)
Рисунок 3. Внесение исходных данных
5. Сохраним файл с исходными данными в папке OLIMPIAD под именем a. in
6. В папке OLIMPIAD два файла: (Рисунок 4)
Рисунок 4. Вид папки № 1 OLIMPIAD
7. Запускаем программу на выполнение (Рисунок 5)
Рисунок 5. Запуск программы на выполнение
8. В папке OLIMPIAD третий файл (Рисунок 6):
Рисунок 6. Вид папки № 2 OLIMPIAD
9. Посмотрим результат (Рисунок 7)
Рисунок 7. Вид окна с результатом Кажется, задача решена Посылаем работу на проверку, и получаем неожиданный результат.
Несколько тестов прошло. На некоторых тестах происходит ошибка во время исполнения Так в чем же ошибки? Еще раз внимательно прочитаем условие и остановимся на ограничениях
1. Числа натуральные, не превышающие 32 000.
2. Мы объявили переменные типа integer, диапазон значений переменных этого типа — от -32 768 до 32 767, так что кажется, что тут все правильно.
3. Однако условию удовлетворяет тест, в котором оба числа равны 32 000.
4. Конечно, оба числа входят в тип integer, чего нельзя сказать об их сумме!
5. Меняя в нашей программе тип integer на тип longint получаем уже действительно полное решение задачи
6. Если сделать тип переменной c — longint, а a и b оставить типа integer, то программа работать все равно не будет — подумайте почему.
var a, b, с:longint;
begin
assign (input,'а.in');
reset (input);
assign (output,'а.out');
rewrite (output);
read (a, b);
c:= a+b;
writeln (c);
end.
3.4 О методике решения олимпиадных задач Популярность крупных соревнований по информатике и программированию стремительно растет. Их спонсорами выступают такие крупные корпорации, как AT&T, Microsoft, IBM, Google. Естественно, появились исследования о том, как эффективно участвовать в соревнованиях, готовиться к ним, многочисленные советы и рассказы очевидцев Потребность в методике для подготовки к олимпиадам по программированию возникла давно. Появились различные подходы для обучения решению олимпиадных задач и комплексные системы для подготовки к олимпиадам с использованием информационных ресурсов Интернета. Стали появляться сайты с интерактивными архивами задач. В них не просто доступен текст задачи, как в библиотеках, но и имеется возможность послать решение на проверку. Ученик регистрируется на сайте, выбирает олимпиаду и решает ее в течение определенного времени. После этого он отправляет на сайт решения задач (в виде исходников), которые автоматически проверяются.
На таких сайтах ведутся рейтинги участников по числу решенных задач, проводятся онлайн-соревнования, обычно носящие любительский или тренировочный характер. После олимпиады ученик может просмотреть всю статистику по своему решению.
По такому типу в марте 2011 года проходила и первая дистанционная олимпиада (см. выше, пункт 2.5) в Казахстане.
Выводы. Организация и проведения турниров по информатике, программированию на всех уровнях должны подчиняться единым требованиям. Только в такой ситуации школьник, придя на участие в следующем туре (районная, городская, областная, республиканская, международная олимпиады) сможет на высоком уровне показать приобретенные им знания, умения и навыки. А поэтому каждый преподаватель информатики, занимающийся подготовкой своих воспитанников к участию в турнирах, должен знать эти правила и научить им ребят.
Заключение
При выполнении работы по теме «Методика организации и проведения турнира по программированию в школе» была поставлена цель — дать определение, систематизировать, описать различные формы внеурочной работы по программированию.
Объектом исследования явился процесс организации и проведения нестандартных форм внеурочной деятельности по программированию.
Предмет исследования — методики, позволяющие повысить качество усвоения программного материала обучающимися по информатике и программированию.
В основу разработки темы работы была положена рабочая гипотеза: использование во внеурочной работе эффективных методик организации и проведения мероприятий, позволяет обеспечить выполнение требований Государственных стандартов образования на высоком уровне, дает возможность обучаемым быть не только потребителями готового к усвоению знания, но и активно участвовать в процессе поиска ответов на предлагаемые им вопросы, задания.
В ходе выполнения работы было выявлено следующее: работу по формированию интеллектуальных умений и навыков необходимо организовывать не только на уроках (учебных занятиях), но и во внеурочное время. С этой целью необходимо проводить различные игры, конкурсы, марафоны, олимпиады, турниры. Классификация и определения этих мероприятий, изученные по словарям и Википедии, приведены в первом разделе работы.
Рассматривая вопросы методики организации и проведения различных соревнований по информатике и программированию, нужно помнить об основных правилах подготовки мероприятий. Во-первых, это должен быть хорошо составленный организатором (-ами) план с описанием всех возможных ситуации проводимого мероприятия («Положение о проведении турнира»). В ежедневной практике в ходе учебного процесса необходимо изучать различные языки программирования.
Организация и проведения турниров по информатике, программированию на всех уровнях должны подчиняться единым требованиям. Только в такой ситуации школьник, придя на участие в следующем туре (районная, городская, областная, республиканская, международная олимпиады) сможет на высоком уровне показать приобретенные им знания, умения и навыки. А поэтому каждый преподаватель информатики, занимающийся подготовкой своих воспитанников к участию в турнирах, должен знать эти правила и научить им ребят.
Именно такая, целенаправленная работа со школьниками, использование во внеурочной работе эффективных методик организации и проведения мероприятий, позволяет обеспечить выполнение требований Государственных стандартов образования на высоком уровне, дает возможность обучаемым быть не только потребителями готового к усвоению знания, но и активно участвовать в процессе поиска ответов на предлагаемые им вопросы, задания.
Как положительный результат планомерной работы по выявлению талантливых школьников и обучению их программированию — практически 100% участников, победителей и призеров олимпиад поступают в вузы и сузы с первой попытки.
Приложение 1
Положение о проведении турнира
1. Общие положения
1. В Олимпиаде по программированию задач принимают участие учащиеся с ____ по ____ класс.
2. В качестве языка программирования участник использует один из предложенных языков программирования:
· Delphi
· Turbo Pascal
· Borland C++
· Microsoft Visual C/C++
· Assembler
· Java 2 SDK 1.5
3. Олимпиада проводится в два тура. Первый тур проводится в январе — марте 20__ года, второй тур — «__» ______ 20__ г.
2. Порядок проведения I тура Олимпиады
1. Для обеспечения необходимого уровня участников Олимпиады производится предварительный отбор и регистрация участников на основе проведения первого тура.
2. Все желающие принять участие в первом туре Олимпиады до «__» ______ 20__ г. подают в Оргкомитет Олимпиады заявку на участие в Олимпиаде, в которой должны быть указаны сведения об участнике (ФИО, класс, язык программирования).
3. Все школьники, подавшие заявку на участие в первом туре Олимпиады"__" ______ 20__ г. принимают участие в первом туре .
4. Задание первого тура должно быть реализовано, и полученные результаты должны быть проверены жюри Олимпиады в день проведения Олимпиады.
5. На основании оценки работ первого тура, оргкомитет жюри отбирает участников, показавших наилучшие результаты для участия во втором туре Олимпиады.
6. Результаты первого тура сообщаются в устной и письменной форме в день подведения итогов всем участникам первого тура.
3. Порядок проведения II тура Олимпиады
1. Второй тур Олимпиады планируется провести в «__» ______ 20__ г.
2. Всем участникам II тура Олимпиады выдается единое задание, даются необходимые устные пояснение к постановке задачи, а также ответы на вопросы, возникшие у участников Олимпиады. После завершения обсуждения постановки задачи, участники переходят к выполнению задания, и с этого момента начинается отсчет времени выполнения задания. Срок выполнения задания — не более четырех астрономических часов.
3. Каждый участник II тура Олимпиады САМОСТОЯТЕЛЬНО выполняет полученное задание. Коллективные решения не принимаются. В результате выполнения задания должна быть разработана компьютерная программа, полностью или частично реализующая постановку задачи.
4. Каждому участнику II тура Олимпиады предоставляется одинаковое время для написания и отладки программы.
5. После завершения выполнения работы участник передает полученную программу (исходный текст) в жюри Олимпиады, при этом производится отметка о времени выполнения задания. После чего не допускается внесение в программу каких-либо дополнений и изменений.
6. Во время проведения II тура Олимпиады участники не имеют права:
— общаться между собой, все возникающие вопросы должны разрешаться только с представителями оргкомитета Олимпиады.
— передавать и/или использовать фрагменты программ другим (их) участникам (ов).
— Участники, нарушившие данные требования удаляются с Олимпиады, а их работы исключаются из конкурсного рассмотрения.
7. Во время выполнения конкурсного задания Участники имеют право:
— пользоваться любыми справочными и учебными пособиями, технической документацией на программу;
— обращаться с вопросами по постановке задачи к членам оргкомитета Олимпиады.
5. Требования к выполнению и оформлению конкурсных работ
1. Результатом выполнения конкурсного задания, как первого, так и второго туров должна быть работающая программа, написанная на одном из предложенных языков программирования.
2. По завершению написания и отладки программы Участник Олимпиады должен передать в Жюри Олимпиады в виде файла текст программы на языке программирования.
6. Требования, предъявляемые к программам при их оценке
1. Тестирование программ проводится Жюри Олимпиады. При тестировании используется несколько тестов, разработанных Жюри, содержание тестов заранее не разглашается. При получении верного результата за каждый удачно проведенный тест начисляется один балл.
2. Все программы, представленные для оценки, тестируются на единых тестовых данных, подготовленных Жюри Олимпиады вне зависимости от используемого языка программирования.
3. Программы должны сохранять работоспособность при любых комбинациях исходных данных, т. е. программа должна быть защищена от некорректного ввода исходных данных.
4. В случае, получения несколькими участниками одинакового количества баллов для определения лучшего результата учитывается время, затраченное на разработку программы.
5. Программы, не выдержавшие ни одного теста, получают нулевую оценку и в распределении призовых мест не участвуют. Призовые места распределяются только среди работ набравших ненулевое количество баллов.
7. Награждение победителей Олимпиады
1. На основании тестирования работ второго тура, жюри определяет победителя и призеров Олимпиады.
2. Жюри сообщает о результатах и призерах Олимпиады в день проведения Олимпиады. Решение Жюри окончательное и обжалованию не подлежит.
3. Порядок распределения и использования призового фонда определяется Оргкомитетом олимпиады.
4. Призовой фонд Олимпиады 2009 года предоставлен спонсорами _______:
8. Место и сроки проведения Олимпиады
Олимпиада проводится в _________
Первый тур «__» ______ 20__ г. в ____ часов
Второй тур «__» ______ 20__ г. в ____ часов
9. Состав жюри
В состав жюри входят
ФИО, должность — председатель жюри
ФИО, должность — секретарь жюри
ФИО, должность — члены жюри
10. Организационный комитет. Контактная информация
В состав организационного комитета входят:
ФИО, должность
ФИО, должность
Заявку на участие можно подать в каб.___ в срок до «__» ______ 20__ г
По всем вопросам организации и проведения можно обращаться в оргкомитет в каб.____ или по адресу [email protected]
Приложение 2
Результаты турника Сторона 1
Результаты школьной командной олимпиады | ||||||||||
№ задания | ||||||||||
1 ответ | ||||||||||
2 ответ | ||||||||||
3 ответ | ||||||||||
Подпись | ||||||||||
Сторона 2
Состав команды | ||
ФИО, класс | ||
ФИО, класс | ||
ФИО, класс | ||
ФИО, класс | ||
ФИО, класс | ||
ФИО, класс | ||
Приложение 3
Путевой лист
Результаты марафона | ||||||||||
№ задания | ||||||||||
1 ответ | ||||||||||
2 ответ | ||||||||||
3 ответ | ||||||||||
Подпись | ||||||||||
Приложение 4
Лист ответов игры «Эрудит»
Сторона 1
№ задания | Ответ | Отметка жюри | |
Сторона 2
Состав команды | ||
ФИО, класс | ||
ФИО, класс | ||
ФИО, класс | ||
ФИО, класс | ||
ФИО, класс | ||
ФИО, класс | ||
1. http://ru.wikipedia.org/wiki
2. С. Л. Рубинштейн. Проблемы общей психологии. М.: Педагогика, 1976. С. 19−46
3. Д. Б. Эльконин Психология игры. М., 1978.
4. Johan Huizing Й. Хейзинг Об исторических жизненных идеалах/ Пер. с голландского Ирины Михайловой под ред. Юрия Колкера. London: Overseas Publications Interchange Ltd, 1992.
5. Вербицкий А. А. Активное обучение в высшей школе: контекстный подход: Метод. пособие.- М.: Высшая школа, 1991. 207 с.
6. Меркушев Александр, Опыт решения олимпиадных задач по программированию./ 10 сен 2006/ материалы 11-ой конференции
7. http://www.profit.kz
8. Кириенко Д. П. Язык программирования PYTHON — современный язык для обучения.// [email protected])
9. http://www.python.org — язык программирования Python
10. http://www.tiobe.com/tiobe_index — TIOBE Programming Community Index
11. http://www.wingware.com — среда разработки Wing IDE
12. http://informatics.mccme.ru — сайт подготовки к олимпиадам по программированию
13. Саммерфилд М. Программирование на Python 3. Подробное руководство. Символ-Плюс, 2009.
14. Robert W.Lucas. Creative Leaners. Activities and games that really engage people. John Wiley & Sons, Inc, 2007
15. http://algolist.manual.ru
16. http://borlpasc.narod.ru