«Баг недели»: как я научила детей любить ошибки
Автор: Иванова Людмила Владимировна
Организация: МАОУ «Лицей №6»
Населенный пункт: г.Бердск
Педагогическая находка учителя информатики и робототехники
Всё началось с того, что один из моих семиклассников, Фёдор, просидел весь урок, пытаясь пройти задание с виртуальным роботом в Яндекс.Учебнике. Робот должен был закрасить вертикальную линию из клеток, двигаясь вверх до стены. Когда я подошла, увидела слёзы на глазах: «У меня ничего не получается! Я бездарь!»
Робот действительно вёл себя странно – вместо того чтобы подниматься и закрашивать клетки, он бесконечно закрашивал самую первую клетку! Стоял на месте, как заколдованный, и каждую секунду заново закрашивал одно и то же место.
while not wall_from_up():
fill_cell()
Фёдор был уверен, что робот будет подниматься вверх и закрашивать все клетки на своём пути. Но проблема была проста: он забыл добавить команду движения внутри цикла! Робот проверял: «Стена сверху? Нет. Тогда закрашу клетку. Стена сверху? Нет. Тогда снова закрашу клетку». Он никуда не двигался, поэтому стена сверху всегда оставалась далеко, и условие никогда не менялось. Это было похоже на маляра, который решил покрасить забор, но вместо того чтобы двигаться вдоль него, наносит сто слоёв краски на одну доску.
Тогда я поняла: дети боятся ошибок больше, чем неудачи. Они прячут свои «баги», стыдятся их, теряют мотивацию. А ведь в программировании и робототехнике ошибка – это не провал, это исследование!
КАК РОДИЛСЯ «БАГ НЕДЕЛИ» На следующем уроке я торжественно объявила: «С сегодняшнего дня мы запускаем традицию "Баг недели"! Каждую пятницу мы будем выбирать самую интересную, поучительную или забавную ошибку, которую кто-то из вас совершил и сам нашёл».
На доске появился специальный стенд с разделами:
- БАГ НЕДЕЛИ (место для скриншота кода)
- ЧТО ПОШЛО НЕ ТАК? (описание проблемы)
- КАК НАШЛИ РЕШЕНИЕ? (процесс отладки)
- ЧЕМУ НАУЧИЛИСЬ? (выводы)
Правила были простые:
1. Ошибка должна быть уже исправлена (учим решать, а не только находить проблемы)
2. Нужно рассказать, как ты её обнаружил (развиваем навык отладки)
3. Баг должен быть поучительным для всех (а не просто опечаткой)
Автор «Бага недели» получает бонус, который можно использовать один раз:
● пропустить одно ДЗ
● получить подсказку на контрольной
● выбрать напарника для парного проекта первым
● дополнительные 15 минут на выполнение задания
КАК ЭТО РАБОТАЕТ Каждую пятницу последние 10 минут урока – это время «Охоты на багов». Дети выдвигают кандидатов, мы обсуждаем и голосуем. Некоторые истории стали легендарными:
- «Робот-философ» – Саша программировал робота в Яндекс.Учебнике закрашивать клетки. Написал: while True: fill_cell() без команды движения. Робот закрасил одну клетку и завис. Весь класс смеялся: «Он перфекционист! Красит одну клетку идеально!» Теперь все помнят, что в бесконечном цикле нужно изменять условия.
-«Привет 10 раз... или нет?» – Катя учила циклы в Python и написала программу:
for i in range(11):
print(i,"Привет") print("Конец”) Она ожидала 10 приветствий, а получила 11! Оказалось, она не знала, что нумерация начинается с 0. Класс вместе считал на пальцах и понял: компьютер считает иначе. Эта ошибка стала «классикой жанра». -«Секретный пароль» – Ярослав делал программу проверки пароля:
password = "12345"
user_input = input("Введите пароль: ") if password = user_input:
print("Доступ разрешён") Программа выдавала ошибку, а Ярослав не понимал – ведь всё логично! Когда разобрались, что = это присваивание, а == это сравнение, он воскликнул: «Так вот почему взломать пароли сложно – даже знаки равенства разные нужны!» Весь класс запомнил разницу.
-«Невидимая ошибка v2.0» – Лиза написала программу для вычисления площади:
a=5
b=3
s=a*b
print(s) Всё правильно, но выдаёт ошибку IndentationError. Оказалось, она случайно поставила лишний пробел перед print(). Python подумал, что это новый блок кода. Теперь все знают, что пробелы в Python – это не просто красота, а часть языка.
-«Добрый калькулятор» – Артём делал калькулятор на Python:
a = input("Первое число: ") b = input("Второе число: ") print(a + b) Вводит 2 и 3, ожидает 5, а получает 23! Класс гадал минуты две. Потом кто-то крикнул: «Он их склеил, как слова!» Так все узнали про типы данных и функцию int().
НЕОЖИДАННЫЕ РЕЗУЛЬТАТЫ Через месяц я заметила удивительные изменения:
● Дети перестали бояться экспериментировать. Раньше говорили: «А вдруг не получится?» Теперь: «Посмотрим, что будет! Может, баг недели получится!»
● Появилась взаимопомощь. Ребята стали советоваться друг с другом: «У меня робот в стену упирается – это баг про циклы или про условия?»
● Выросла внимательность. Дети сами проверяют код построчно, ищут логические ошибки, тестируют граничные случаи.
● Улучшилась культура отладки. Семиклассники научились использовать print() для отладки, комментировать проблемные участки, разбивать задачу на шаги.
● Повысилась самооценка. Особенно у тех, кто раньше считал себя «неспособным к программированию». Оказалось, ошибаются все – даже те, у кого всегда «пять»!
Родители заметили, что дети иначе реагируют на ошибки и в обычной жизни. Одна мама рассказала: сын получил тройку по математике и сказал: «Это мой "баг недели", надо разобраться, где логика сломалась».
РАЗВИТИЕ ИДЕИ Сейчас у нас есть «Стена славы багов» – галерея самых эпичных ошибок года с QR-кодами на подробные разборы. Мы создали общий документ Google, где собираем коллекцию багов с тегами: циклы, условия, типы данных, логика.
В этом году старшеклассники попросили тоже участвовать! Они приносят баги из своих проектов на Python – игр, ботов, анализа данных. Получается преемственность: семиклассники видят, что даже «крутые программисты» ошибаются.
А недавно родилась номинация «Баг-фича» – когда ошибка привела к неожиданному, но классному результату. Например, Миша хотел нарисовать квадрат в Scratch, но ошибся в углах поворота получился красивый узор! Теперь изучаем, как из «случайности» сделать генератор орнаментов.
ГЛАВНЫЙ СЕКРЕТ Педагогический секрет прост: переверните минус в плюс. Ошибка – это не провал ученика, а точка роста. Моя задача как учителя – создать среду, где ошибаться не стыдно, а интересно. Где баг – это не приговор, а приключение.
В программировании есть поговорка: «Если твой код работает с первого раза – ты что-то делаешь не так». Я учу детей не избегать ошибок, а дружить с ними. Потому что каждый баг – это маленький детектив, где ты и сыщик, и судья, и победитель. Теперь на моих уроках чаще звучит не «Помогите, не работает!», а «Смотрите, какой интересный баг я нашёл! Робот думает, что стена – это пол!» или «Мой Python решил, что 2+2 это 22!» И это дорогого стоит.
Применимо: 5-11 классы, уроки программирования на Python, работа с Яндекс.Учебником, Scratch, другие языки программирования
Полный текст статьи см. в приложении.



