Десять-двенадцать лет — возраст, когда программирование перестаёт быть сборкой разноцветных блоков и становится текстом с точками, скобками и сообщениями об ошибках. Это самый интересный и самый обрывистый участок пути: часть детей здесь уходит из направления совсем. В каталоге 352 организации, 106 районов Москвы и 198 станций метро.
Переход с блоков на текст: место, где часть детей отсеивается
В восемь-десять лет ребёнок собирает программу из блоков, и это полноценное программирование: последовательности, условия, циклы, переменные — все базовые понятия там есть, просто без синтаксиса. К десяти-двенадцати годам появляется следующий шаг: настоящий язык, обычно Python. И тут выясняется неприятное. В блочной среде программа не может быть написана неправильно — блоки просто не соединяются. В текстовом коде программа ломается от пропущенной скобки, лишнего пробела в отступе и опечатки в имени переменной, а вместо анимации на экране появляется красный текст на английском. Ребёнок, который два года делал яркие игры за одно занятие, впервые сталкивается с тем, что полчаса ушло на поиск запятой.
Именно здесь дети чаще всего решают, что «программирование скучное». Разница между школами видна как раз на этом переходе. В хорошем варианте текст вводят постепенно: сначала показывают тот же знакомый проект, записанный кодом, потом дают менять маленькие куски, потом писать с нуля, а чтение сообщений об ошибке разбирают как отдельный навык — не «спроси преподавателя», а «прочитай, в какой строке и что не так». В плохом варианте ребёнку сразу выдают задачник и удивляются, что он не хочет. Возрастная логика этого перехода разобрана в статье [со скольки лет учить ребёнка программированию](/blog/so-skolki-let-programmirovanie/).
Родителю здесь полезно знать одну вещь: провал мотивации на этом участке — не сигнал об отсутствии способностей. Ребёнок, начавший с текстового кода в двенадцать, за год догоняет того, кто занимается с шести, потому что понятийный аппарат у него уже сформирован. Ранний старт в этом направлении почти не даёт форы — в отличие от спорта или музыки. Так что если после блочных сред ребёнок затормозил, стоит проверить не его, а то, как устроен переход в конкретной группе.
Python, игры, веб и роботы: чем курсы различаются на практике
Названия курсов для этого возраста звучат по-разному, а содержание расходится сильнее, чем кажется. Python берут первым текстовым языком почти везде: простой синтаксис, быстрый видимый результат, дальше он же ведёт и в анализ данных, и в ботов, и в игры. Веб-разработка — HTML и CSS плюс основы JavaScript: главный плюс в том, что результат открывается в браузере и его можно показать бабушке по ссылке, а это в двенадцать лет мотивирует не меньше самого кода. Разработка игр — самая притягательная ветка и самая неоднородная: здесь важно проверить, что за «созданием игр» стоит программирование, а не сборка сцены из готовых шаблонов, где ребёнок два месяца расставляет объекты мышкой.
Робототехника к этому возрасту либо перерастает в микроконтроллеры и настоящий код, либо начинает повторяться: одинаковые модели, одинаковые программы. Если ребёнок занимается робототехникой третий год и заскучал, разумнее не бросать направление, а сменить уровень — платы вроде Arduino дают то же железо, но с текстовым программированием. И наоборот: ребёнку, которому тяжело смотреть в экран без физического результата, робототехника подходит лучше, чем чистый код. Как соотносятся эти два направления по возрастам, разобрано в материале [робототехника или программирование: что выбрать первым](/blog/kak-vybrat-shkolu-programmirovaniya-vozrast/).
Практический способ сравнить курсы — просить не список технологий, а список результатов. Хороший ответ на вопрос «что ребёнок сделает за курс» звучит конкретно: телеграм-бот, сайт-визитка, игра с двумя уровнями, программа, считающая что-то полезное. Плохой ответ — «познакомится с миром IT» и перечисление названий языков. Первый проект должен появиться в первые пару месяцев, а не в конце года: без ощутимого результата на руках интерес в этом возрасте не держится. Что вообще происходит на занятиях и чем среды отличаются между собой — в разборе [программирование для детей](/blog/programmirovanie-dlya-detej/).
Отладка и практика между занятиями: где идёт настоящее обучение
Стандартный режим — одно-два занятия в неделю по 60–90 минут. Внутри занятия структура почти всегда одна: короткая теория на одну новую идею, разбор примера вместе с преподавателем, самостоятельная работа как основная часть, поиск ошибок и показ результата в конце. Ключевой пункт — четвёртый. Отладка выглядит как «ничего не получается», а на самом деле это и есть обучение: ребёнок учится читать сообщение, локализовать проблему, проверять гипотезы. Занятие, где всё получается с первого раза, обычно означает, что задание было слишком простым или что преподаватель сделал работу за ученика.
Вторая половина результата лежит вне занятий. Два-три часа домашней практики в неделю — та граница, ниже которой навык почти не растёт: раз в неделю по полтора часа ребёнок будет вспоминать прошлое занятие вместо того, чтобы двигаться дальше. Отсюда бытовое требование: домашний компьютер для этого направления обязателен, и его характеристики стоит уточнить до записи — для Python и веба хватает обычного ноутбука, для игровых движков и 3D нужна видеокарта. Часть очных школ просит приносить свой ноутбук на занятия, это тоже вопрос на входе.
Про формат. Очные занятия для этого возраста надёжнее: в классе ребёнок не переключается на игру в соседнем окне. Онлайн начинает работать примерно с одиннадцати-двенадцати лет и только при самостоятельности ребёнка, в малой группе или индивидуально. Самый рабочий вариант — очные занятия плюс домашняя практика на платформе. И отдельный вопрос, который родители задают почти всегда: экранное время. Разница между «сидит в компьютере» и «делает в компьютере» существенная, но арифметика часов от этого не меняется — если все занятия ребёнка экранные, стоит уравновесить их движением.
Что должно насторожить в школе программирования
Первое — программа, описанная через инструменты вместо результатов: «изучаем Python, HTML, Unity» без единого слова о том, что ребёнок сделает своими руками. Второе — обещания трудоустройства, заработка и «профессии за год» для десяти-двенадцатилетнего. Ценность занятий в этом возрасте другая: алгоритмическое мышление, привычка искать ошибку и опыт доведения проекта до работающего состояния, а разговор про профессию уместен ближе к старшим классам. Третье — группы за двадцать человек на одного преподавателя: разобрать код каждого при таком составе физически невозможно, разумная граница — 10–12 человек очно и до 8 онлайн, и у каждого своё рабочее место.
Дальше — признаки, которые видны на пробном занятии. Сколько времени ребёнок работает сам, а не слушает. Что происходит, когда у кого-то не выходит: помогают разобраться или делают за него. Есть ли вообще этап поиска ошибок. Может ли ребёнок после занятия объяснить своими словами, что он сделал, — это лучший тест из всех. И уносит ли он результат: файл, ссылку, проект. Отсутствие пробного занятия в этом направлении само по себе странно: оно почти ничего не стоит организатору. Развёрнутый список вопросов к школе — в статье [школа программирования: как выбрать](/blog/shkola-programmirovaniya-kak-vybrat/).
Ещё два сюжета из практики. Дети большую часть занятия играют в чужие игры — под предлогом «изучаем механики»; это развлечение, а не курс. И продажа длинного годового пакета с ограниченной по времени скидкой: решение о годе занятий не принимается за вечер, а нормальная школа спокойно относится к оплате помесячно или блоками. Из 352 организаций каталога 110 предлагают бесплатное пробное занятие, 86 работают с образовательной лицензией, а 16 относятся к государственным центрам и домам творчества, где набор идёт с начала учебного года и заканчивается быстро.
Программирование для детей 10–12 лет: что в каталоге
В каталоге 352 организации по направлению «Программирование», где занимаются дети 10–12 лет. Занятия идут в 106 районах Москвы, рядом с 198 станциями метро. У 86 организаций заявлена образовательная лицензия — такие занятия можно оплатить материнским капиталом и вернуть 13% через налоговый вычет. 110 организаций предлагают бесплатное пробное занятие — для этого возраста это лучший способ проверить, подойдёт ли формат.
Больше всего вариантов в районах: Тверской (19), Марьино (9), Рязанский (9), Солнцево (8), Митино (8). Рядом с метро: Охотный Ряд (12), Театральная (12), Площадь Революции (11), Медведково (9), Митино (8).