Подготовка школьников к олимпиадам по информатике Из опыта работы учителя информатики Шиловой И.С. МОУ лицей г. Фрязино 2011 Можно ли подготовить школьников к олимпиадам по информатике в рамках школьной программы? Думаю, что это нереально. Всем давно известно, что школьный курс информатики - это одно, а олимпиады по информатике - это совсем другое, олимпиады по информатике – это олимпиады по программированию! Да, в примерной программе по информатике, в 9 классе, довольно большое количество часов уделено изучению программирования. В учебнике Угриновича примеры даны применительно к Visual Basic. Как известно, уже на уровне регионального этапа не рекомендуется использовать этот язык. Но, даже если применить дифференцированный подход к обучению школьников, этих часов недостаточно для подготовки к олимпиадам отдельных школьников с "нуля". У нас в лицее эта проблема решается комплексно! •В профильных математических 8-х классах выделяется дополнительно к программе один час в неделю на предмет информатика •В старшей школе профильных классах Программирование выделено как отдельный предмет •С 2007 года у нас действует учреждение дополнительного образования Школа «Юный программист» Компьютерная школа "Юный программист" при МОУ Лицей г. Фрязино объявляет очередной набор учащихся. Обучение на платной основе, прием по результатам собеседования, занятия проводятся после уроков. В 2011-2012 учебном году (шестой год работы школы) занятия организуются по системе спецкурсов. Каждый курс рассчитан на 12 или 24 учебные недели, 1 занятие в неделю (два академических часа). Учащийся может посещать несколько спецкурсов. Олимпиадное программирование 8-9 класс 12 человек, прием на конкурсной основе (Шилова И.С.) Олимпиадное программирование 10-11 класс 5 человек, прием на конкурсной основе (Попелышев И. И.) Компьютерная обработка видеоинформации 6 класс 15 человек, второй год обучения, собеседование (Маричева Г.И.) Искусство программирования 6-7 класс 15 человек, собеседование (Маричева Г.И.) Web-дизайн для начинающих, создание интернет страниц 6-8 класс 15 человек, собеседование (Свирина И.Н.) Компьютерная грамотность, овладение компьютерной графикой 5-7 класс 15 человек, собеседование (Свирина И.Н.) Олимпиадная математика 6-8 класс 15 человек, собеседование (Нетук С.В.) Компьютерная Школа “Юный программист"- это проект, рассчитанный на обучение детей в возрасте от 12 до 17 лет. Школа создана в 2006 году, на данный момент она является первым в городе центром дополнительного образования в области обучения детей и подростков современным информационным технологиям. Мы учим не только осваивать новейшее программное обеспечение, но уделяем особое внимание и развитию творческих способностей у ребят. Наш принцип - все дети талантливы от рождения, надо только вовремя помочь им раскрыть свои потенциал. Компьютерная школа не заменяет, а дополняет школьный курс информатики и позволяет детям получить базовые понятия и необходимые навыки в работе с компьютером. Преподаватели Школы Шилова И.С. - преподаватель программированя (высшая категория) Маричева Г.И.преподаватель программирования (высшая категория) Попелышев Иван – преподаватель программирования (тренер) Каким должен быть идеальный ученик – олимпиадник? (мечты иногда сбываются) 1)Знать математику. Очень часто встречаются математические задачи. 2) Иметь способности и хорошо развитое алгоритмическое мышление 3) Осознавать, что ему это нужно. На самом деле олимпиадные задачи – это хороший "массаж для мозгов", умение планировать свои действия на несколько шагов вперед пригодиться и в учебе и в жизни. 4) Сильно хотеть победить. Но не до умопомрачения ( можно и перегореть) 5) Уметь общаться. В ходе обсуждения рождается множество новых идей. 6) Доверять учителю! 7) (Очень важно!) Быть хорошим человеком, доброжелательным и незаносчивым. Если эти качества отсутствуют, то… надо принимать ученика таким, как есть, развивать в нем лучшие качества 8) ПОСТОЯННЫЕ ТРЕНИРОВКИ. Каждая решенная задача должна доставлять ему удовольствие! Где и как найти такого ученика? На уроке ИНФОРМАТИКИ! У меня есть любимые «тестовые» задачи в каждой теме. Если ученик решает их самостоятельно без моей подсказки, я обращаю на него «особое» внимание, всегда даю дополнительное индивидуальное задание. Если вижу, что у ребенка интерес не угас, приглашаю его в Школу программистов, встречаюсь с родителями, привлекаю к on-line олимпиадам, рекомендую поездку в Летнюю компьютерную школу. Некоторые «тестовые» задачи Поменять местами две переменные Х и Y не используя вспомагательные переменные Определить номер подъезда и этажа по номеру квартиры девятиэтажного дома, считая, что на каждом этаже ровно 4 квартиры, а нумерация квартир начинается с первого подъезда Распечатать первую цифру после запятой вещественного числа Х. «Старояпонский календарь» В старояпонском календаре был принят 60летний цикл, состоящий из 12-летних подциклов. Подциклы обозначались названиями цветов: зеленый, красный, желтый, белый, черный. Внутри каждого подцикла годы носили название животных: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, курица, собака, свинья. Например 1984 год – год начала очередного цикла – го Зеленой Крысы. Составить программу, которая по заданному году печатает его название по старояпонскому календарю Как готовиться ко все более усложняющимся олимпиадам? Информатика - еще молодая наука. Если в олимпиадах по математике и физике уже давно сложилась система и задания на протяжении десятков лет сохранялись на одном уровне, то в информатике царит легкий хаос. С каждым годом становятся все сложнее найти ребенка, способного пожертвовать своими личными увлечения ради далекой цели – стать чемпионом. Возможно это объясняется повышением уровня сложности задач, возможно тем, что все больший интерес у школьников вызывают мультимедийные технологии, но как бы то ни было можно сделать вывод, что формируется некоторая программистская элита, в которой остаются только самые лучшие (в области решения олимпиадных задач). Порядок изучаемых тем (1 –й этап) Элементы языка программирования (за основу Паскаль) Техника программирования 1. Основы языка программирования Переменные и простейшие типы данных, размеры типов. Линейные программы. Условные операторы. Циклы. Процедуры и функции. Сложные типы данных (массивы, строки, записи, файлы). 2. Массивы Одномерные массивы. Двумерные массивы (матрицы). Многомерные массивы. 3. Строки. Элементы лексического и синтаксического разбора Операции над строками. Лексемы, подсчет лексем различных типов. Выделение чисел из строки. 4. Работа с файлами Чтение и запись в текстовый файл. Преобразование полученных из файла данных в удобную структуру. 5. Рекурсия Математические функции, задаваемые рекурсивно. Примеры рекурсивных подпрограмм. Проблема остановки рекурсии. Замена рекурсии итерацией. Порядок изучаемых тем (2 –й этап) Алгоритмы, методы и принципы решения задач 1. Понятие сложности алгоритма. 2. Алгоритмы поиска и сортировки Поиск элемента в неупорядоченном массиве. Двоичный поиск по ключу в упорядоченном массиве (дихотомия). Поиск k-го по величине элемента массива. Простые методы сортировки ("пузырек", "выборка", "вставка"). Быстрые методы. 3. Решение задач методом перебора вариантов Применение рекурсии для перебора. Генерация сочетаний, размещений, перестановок . Полный перебор. Отсечение вариантов. 4. Элементы вычислительной геометрии .Длина отрезка. Уравнение прямой. Скалярное и векторное произведение. Точка пересечения отрезков. Принадлежность точки фигуре на плоскости (например: треугольнику). 5 Принцип динамического программирования Понятие, применимость. Сравнение с перебором. 7. Теория графов. Алгоритмы на графах Понятие графа. Определения теории графов. Структуры данных для представления графа в программе. Алгоритмы обхода графа (поиски в ширину и глубину). Лабиринт (метод волны). Эйлеров цикл. Сетевые ресурсы Знакомство с правилами проведения олимпиад по программированию и «борьбу» с типичными ошибками при отладке программ провожу практически при сдаче задач в автоматизированную тестирующую систему: http://www.olympiads.ru/ http://informatics.mccme.ru/moodle/ http://olymp.ifmo.ru/ http://informatics.ru/ http://acm.timus.ru/ http://imcs.dvgu.ru/cats/ Олимпиады по информатике, в которых мы принимаем участие 1. 2. 3. 4. Всероссийская олимпиада (муниципальный, региональный, заключительный этапы) Московская олимпиада по информатике Московская олимпиада по программированию Открытая олимпиада школьников по программированию 5. Олимпиада школьников Ломоносов по информатике 6. Олимпиада школьников «Шаг в будущее» 7. Открытая олимпиада школьников по информатике и программированию 8. Открытая олимпиада школьников «Информационные технологии» 9. Всероссийский конкурс «КИТ» Сетевая командная олимпиада Итоги Всероссийской олимпиады по информатике сезона 2010/2011 Городская олимпиада по информатике Победители: Онищенко Михаил (11а) Ехин Андрей (9б) Призеры: Рыбаков Александр (11а) Лататье Сергей (11а) Хромов Игорь (9б) Даринская Виктория (11а) Московская областная олимпиада по информатике Онищенко Михаил (11а) - призер Ехин Андрей (9б) – призер Призеры олимпиад 2010/2011 Московская олимпиада по программированию Рыбаков Александр (диплом 2 степени) 11а Хромов Игорь (диплом 2-й степени) 9б Тарасов Герман (грамота) 9а Ехин Андрей (грамота) 9б Открытая олимпиада школьников "Информационные технологии" Победитель: Лататье Сергей (Диплом 1 степени) Призер: Даринская Виктория (диплом 3-й степени) Всероссийский Конкурс КИТ Победитель: Рыбаков Александр (11а) Призер: Сысоев Никита (7е) – 3-е место в регионе Итоги Всероссийской олимпиады по информатике сезона 2009/2010 Городская Победители: Бомбин Александр (11а) Онищенко Михаил (11а) Хромов Игорь (8б) Савельев Евгений(6д) Призеры: Рыбаков Александр 10а Лататье Сергей (10а) Анисютин Игорь (11а) Лихачева Ольга (11а) Отчерцов Павел (11а) Чернышов Никита (11а) Областная Бомбин Александр (11а) – призер Онищенко Михаил (10а) – призер Рыбаков Александр (10а) - призер Всероссийская Призер: Бомбин Александр (11а) Призеры олимпиад 2009/2010 Олимпиада школьников «Шаг в будущее» Победитель : Чернышов Никита (11а) Олимпиада школьников Ломоносов по информатике Лихачева Ольга (11а) - диплом 2-й степени Бомбин Александр (11а) – диплом 2-й степени Тишевницкая Полина (11а) – диплом 2-й степени Степушкина Наташа (11а) – диплом 2-й степени Открытая олимпиада школьников по программированию Бомбин Александр (11а) – диплом 2-й степени Анисютин Игорь (11а) – диплом 3-й степени Олимпиада по программированию для школьников старших классов МГТУ им. Н.Э. Баумана Победители: Бомбин Александр (11а) Рыбаков Александр (10а) Московская олимпиада по информатике Рыбаков Александр – призер (10а Олимпиада школьников по информатике и программированию Лихачева Ольга (11а) – диплом 2-й степени Бомбин Александр (11а) – диплом 3-й степени Результаты ЕГЭ по информатике Год Средний балл (Московская область) Средний балл учеников Шиловой И.С. Количество сдающих (лицей/ученики Шиловой И.С.) 2009 60,3 69 33/14 2010 64,33 76,5 33/22 2011 62,64 84,75 31/12 СЛАГАЕМЫЕ УСПЕХА Найти способных учеников Увлечь их программированием Удержать от «соблазнов» on-line жизни Сформировать из них команду Стать им другом Тесно взаимодействовать с родителями, администрацией и классными руководителями и учителями - предметниками Быть готовым к тому, что на каком-то этапе ктото из них вас перерастет литература Абрамов С.А. Задачи по программированию, 1988 Дагене В.А. 100 задач по программированию, 1993 Пильщиков В.Н. Сборник упражнений по языку Паскаль Окулов С., Основы программирования Окулов С. Программирование в алгоритмах Шень А. Программирование:теоремы и задачи Андреева Е.В. Программирование – это так просто, программирование – это так сложно Меньшиков Ф. Олимпиадные задачи по программированию Долинский М.С. Алгоритмизация и программирование на TURBO PASCAL (от простых до олимпиадных задач) Беров В.И. Особенности национальных задач по информатике Поддубная Л.М. Мне нравится Паскаль Мои координаты: [email protected] ICQ 194334896 Тел: 89104447114 Vkontacte.ru - Шилова Ирина Состою в группе МОУ лицей г.Фрязино