Підготовка до олімпіади з інформатики сприяє розвитку:
· абстрактного мислення;
· логічного мислення;
· здібностей до розв’язування нестандартних задач;
· уміння сконцентруватися на виконанні завдання;
· уміння знаходити рішення в непередбачених ситуаціях;
· уміння розподіляти час на виконання завдань;
· уміння одночасно розв’язувати кілька задач;
· уміння аналізувати свої розв’язки, знаходити помилки, передбачати різноманітні ситуації для поставленої задачі.
Етапи роботи з талановитою молоддю, які використовую у своїй педагогічній діяльності:
Ø підготовка вчителя;
Ø відбір учнів;
Ø вибір напрямів діяльності для розвитку таланту;
Ø робота з розвитку таланту (багато направленість);
Ø створення спортивної атмосфери;
Ø участь учнів в різних конкурсах, турнірах, олімпіадах.
Підготовка учня до олімпіади починається з підготовки вчителя.
Проблеми, що постають перед учителем:
Ø Знання алгоритмів розв'язання олімпіадних завдань.
Ø Наявність самих завдань.
Ø Знання мов програмування.
Ø Навчання учнів правильної організації діяльності на олімпіаді.
Ø Online курси із вивченням мов програмування:
Розробка та аналіз алгоритмів. Частина 1.
Ø Пошук літератури та відео в Інтернеті
- С.В. Матвійчук, С.С.Жуковський Практикум програмування Python / C++ на e-olymp.com
- С. В. Матвійчук Навчити учнів програмувати
- С.В. Матвійчук Абетка програмування на Python
- Практикум з програмування мовою Python
- Python для дітей та батьків.
Ø Систематизація знайденого матеріалу
Можна виділити наступні групи алгоритмів:
Алгоритми над цілими числами.
Рекурсія.
Сортування.
Задачі на перебір.
Геометричні задачі.
Динамічне програмування.
Графи і дерева.
Текстові перетворення.
Форми методичної діяльності при підготовці:
Ø індивідуальна форма навчання;
Ø робота в групах на уроках;
Ø робота у різнорівневих групах на факультативах;
Ø робота в парах; Ø дистанційне навчання; Ø самостійне навчання.
Онлайн-системи тестування олімпіадних завдань
інформатики :
Ø набити універсальну заготовку для розв’язання олімпіадної задачі
(процедури введення даних та виводу результату);
Ø на наступному етапі учню необхідно уважно прочитати умову, не пропускаючи жодної фрази;
Ø якщо з точки зору формальної логіки умова задачі може трактуватися неоднозначно - слід ставити запитання експертам;
Ø часто трапляється, що після детального прочитання задачі, не знаєш, як до неї підступитися. У такому випадку рекомендується відкласти її і читати наступну;
Ø далі учню необхідно побудувати математичну модель задачі, пошукати той клас стандартних завдань і алгоритмів, який пов'язаний з даним завданням. Чітко сформулювати базовий клас задачі.
інформатики :
Ø якщо одне із значень виражається через інше необхідно записати рекурентне співвідношення;
Ø особливо важливо побудова моделі в геометричних задачах. Любитель цікавих завдань повинен знати всі способи подання прямої на площині, в просторі та зв'язок між ними;
Ø задачі дискретної математики, до яких належить більшість олімпіадних завдань з інформатики, часто зводяться до перебору різних комбінаторних конфігурацій об'єктів та вибору серед них найкращого. Тому знання алгоритмів генерації є необхідною умовою успішного розв’язання задачі.
інформатики :
Ø Учню треба запрограмувати рішення задачі у вигляді викликів процедур і функцій, які поки що слід описати у вигляді "заглушок" (уявної чи порожньої дії або імітації справжнього дії, які повинна виконувати програма). Таким чином він зможе налагодити логіку програми, яка знову ж таки повинна залишатися робочою.
Ø При необхідності треба витратити півхвилини і дописати коментарі про те, що за значення зберігаються в кожній із змінних, що повертає та чи інша функція і т.д.
Ø Потім слід по одній набивати і налагоджувати вже описані процедури і функції, домагаючись, щоб свою дію кожна з них виконувала правильно в будь-якому випадку.
інформатики :
Ø Якщо ж учень не придумав ефективного розв’язку завдання, то нехай вирішить його по-простому: наприклад, за допомогою повного перебору.
Ø Якщо і це складно, то хай спростить собі завдання, тобто відкине умови, які йому заважають або доб’ється, щоб програма проходила на самих простих тестах.
Ø Аналогічно слід вчинити з завданнями, на вирішення яких у нього не вистачило часу.
Ø Рекомендація ж прочитати умову задачі ще раз вже після рішення задачі, тільки на перший погляд здається парадоксальним. Часто виявляється, що школярі вирішували все ж трохи не те завдання, яке потрібно.
інформатики :
Ø Наступний крок програму необхідно тестувати.
Перше правило тестування - перевіряти завдання на тесті (наборі вхідних даних) з прикладу.
Ø Далі, хай не лінується придумувати свої тести, та використовує багато "маленьких" тестів.
Друге правило – нехай уважно перевіряє, що програма видала на тесті.
Ø Окрім "маленьких" тестів, необхідно завжди перевіряти рішення на так званому "максимальному" тесті. Часто такий тест призводить до помилки часу виконання
Вічна дилема: що краще - тестувати або перевіряти логіку?
інформатики :
По ходу змагань учню доводиться регулярно приймати тактичні рішення.
Ø Перевіряти рішення далі або відправити його у журі?
Ø Тестувати, налагоджувати програму або шукати помилки?
Ø Важливо правильно розставляти пріоритети. Що важливіше в останню годину змагань - надійне рішення однієї задачі або ризикована спроба вирішити ще дві?
Висновки:
Отже, під час підготовки до олімпіади з інформатики необхідно не тільки вчити учнів методів розв’язування задач та основним алгоритмам.
Учнів потрібно вчити:
- вмінню керування своєю діяльністю;
- розподіляти час на розв’язання кожної задачі;
- вмінню розбивати процес розв’язання задачі на етапи, - виділяти певні етапи та їх виконувати.
До олімпіади учнів необхідно готувати теоретично, практично та психологічно.
У процесі психологічної підготовки необхідно налаштувати учасника на бажання і вміння максимально реалізувати свої потенційні можливості (зауважте - не перемогти, а максимально реалізувати) в екстремальних умовах, які пред'являє олімпіада.