
С чего на самом деле начинается программирование
Обычно разговор про программирование для ребёнка начинается с вопроса, какой купить курс и с какого возраста сажать за ноутбук. Вопрос понятный, но он перескакивает через ступень. Ребёнок семи лет, посаженный за среду программирования, чаще всего залипает не в логике, а в интерфейсе: где тут кнопка, почему блок не цепляется, как вернуть удалённое. Программирования в этом ноль, зато усталости много.
Между тем главное умение, которое стоит за любым кодом, к компьютеру отношения не имеет. Оно звучит так: разложить дело на точные шаги, выстроить их в правильном порядке и суметь найти место, где порядок сломался. Это тренируется за кухонным столом, на полу в коридоре и в тетради в клетку — без единого экрана.
Самый близкий к делу тренажёр из тех, что уже наверняка есть у вас дома, — тетрадь в клетку. Одна команда, одна линия, следующая команда. Если тетради под рукой нет или ребёнку скучно писать самому, ровно то же устроено в игре «Графический диктант»: команды идут одна за другой, каждая двигает линию на нужное число клеток, и пропущенный шаг сразу виден по кривому рисунку. Это и есть первая программа в жизни ребёнка — просто исполнитель у неё карандаш, а не процессор.
Что такое алгоритм, если объяснять ребёнку
Слово «алгоритм» пугает взрослых больше, чем детей. Ребёнку шести-восьми лет достаточно одного определения: алгоритм — это точный список команд, по которому кто-то другой сделает дело, ничего не додумывая за тебя.
Ключевое здесь — «ничего не додумывая». Дети привыкли, что взрослый понимает их с полуслова: сказал «ну там, ну это» — и мама уже наливает молоко. Алгоритм устроен наоборот: исполнитель тупой и честный. Он делает ровно то, что сказано, и ровно в том порядке, в каком сказано.
Проще всего показать это на бутерброде. Кладёте на стол хлеб, масло, нож и объявляете: «Я робот, я умею только то, что ты скажешь. Командуй». Дальше начинается самое ценное. Ребёнок говорит «намажь масло» — робот честно возит куском масла по столу, потому что про нож команды не было. Ребёнок говорит «возьми нож» — робот берёт его за лезвие, потому что не сказано, за какой конец.
Через пять минут визга и хохота ребёнок сам приходит к открытию, ради которого всё затевалось: команду надо делить на более мелкие. Не «сделай бутерброд», а «возьми нож за ручку — опусти лезвие в масло — сними немного — проведи по хлебу слева направо». Это и есть переход от желания к алгоритму, и ничего более программистского в ближайшие два года ребёнку не понадобится.
Важная деталь для взрослого: робот не издевается и не вредничает. Он выполняет буквально — с серьёзным лицом и без комментариев вроде «ну ты и глупость сказал». Как только в игре появляется насмешка, ребёнок перестаёт командовать и начинает бояться ошибиться, а вся польза держится ровно на свободе ошибаться.
Игра в робота: команды вперёд и налево
Второй вариант той же игры — не на кухне, а в коридоре. Взрослый становится роботом, который умеет четыре команды: «шаг вперёд», «поворот направо», «поворот налево», «взять». Задача ребёнка — довести робота от двери до стула и заставить его поднять лежащую там игрушку.
Первые попытки почти всегда одинаковые. Ребёнок командует «иди к стулу» — робот стоит, потому что такой команды у него нет. Ребёнок командует «налево» — робот поворачивается на месте, а ребёнок ждал, что тот пойдёт. Отсюда рождается второе открытие: поворот и движение — это разные команды, а «налево» у робота своё, не такое, как у смотрящего на него человека.
Про лево и право стоит сказать отдельно, потому что здесь спотыкаются даже второклассники. Когда робот стоит к ребёнку лицом, его левая рука оказывается справа от ребёнка. Ребёнок командует «направо», а имеет в виду направо от себя, и робот уезжает не туда. Лечится это тем, что ребёнок один раз проходит маршрут сам, вслух называя команды, — тело запоминает быстрее, чем голова.
Когда механика освоена, вводят правило, которое превращает игру в настоящее программирование: сначала вся программа, потом запуск. Ребёнок диктует весь список команд от начала до конца, взрослый записывает их на бумажке стрелочками, и только потом робот начинает двигаться. Теперь исправлять по ходу нельзя — можно только досмотреть до конца, найти место сбоя и переписать программу.
Дальше игру усложняют по одному шагу за раз. Появляются препятствия, которые нельзя задеть. Появляется команда «повтори три раза» вместо трёх одинаковых стрелок — это цикл, и дети принимают его на ура, потому что писать меньше. Появляется условие: «если перед тобой стул — поворачивай». На этом уровне у ребёнка в руках уже почти весь набор понятий, из которых состоит любой язык программирования.
Маршрут по клеткам: программа на бумаге
Коридор хорош, но требует места и взрослого в роли робота. Бумажная версия компактнее: лист в клетку, фишка на старте, нарисованная цель, стрелки как команды.
Ребёнок сначала пишет маршрут стрелками, и только потом двигает фишку по написанному. Разница между «двигаю и смотрю» и «сначала написал, потом проверил» огромна: во втором случае ребёнок удерживает план в голове и предвидит результат, а не идёт наощупь.
Этот же навык — увидеть путь целиком до того, как сделан первый шаг, — отрабатывается в «Лабиринте»: там выигрывает не тот, кто быстрее водит пальцем, а тот, кто сначала глазами проходит дорогу до конца. А удерживать в памяти цепочку команд помогает «Запомни последовательность», где порядок важнее содержания: те же элементы в другом порядке — уже неверный ответ.
Хорошая добавка к бумажным маршрутам — рисунки по клеточкам с координатами. Ребёнок отсчитывает клетки в двух направлениях и закрашивает нужную, и любая невнимательность вылезает дыркой в картинке. Для многих детей именно это становится первым опытом, когда ошибка обнаруживается сама, без взрослого над плечом.
Ошибка в программе — это нормально
Дальше идёт часть, ради которой, честно говоря, всё и затевается. Не циклы и не стрелки, а спокойное отношение к тому, что программа не заработала с первого раза.
У детей, особенно у тех, кто привык быть «умненьким», ошибка означает провал: не получилось — значит, я плохо соображаю. Программирование удобно тем, что ломает эту связку почти насильно. Здесь не работает ничего и никогда с первого раза, и это не признак глупости, а обычный рабочий этап. Взрослый, который умеет это показать, даёт ребёнку больше, чем любой курс.
Поэтому первое правило: когда робот врезался в стену, взрослый не говорит «ты неправильно посчитал». Взрослый говорит «отлично, у нас баг, давай его ловить». Слово «баг» дети обожают, и оно делает важную вещь — переносит проблему с ребёнка на программу. Плохой не он, сломалась бумажка со стрелками, а бумажку можно починить.
Второе правило — способ искать. Не переписывать всё заново, а найти последний шаг, где всё было правильно. Ставим фишку на старт и проходим программу по одной команде, сверяясь с планом: здесь сходится, здесь сходится, а вот здесь робот уже не там, где мы хотели. Значит, ошибка в этой команде или в предыдущей. Так делают взрослые программисты, и семилетний ребёнок осваивает это за пару вечеров.
Третье правило — про роль взрослого. Ошибку ищет ребёнок, а не вы. Соблазн ткнуть пальцем в неверную стрелку огромен, особенно когда она видна вам с первой секунды. Но каждый раз, когда её находите вы, ребёнок учится звать на помощь вместо того, чтобы проверять. Помогать можно вопросами: где робот должен был оказаться после третьей команды? а где он оказался? Тот же приём подробно разобран в статье «Как научить ребёнка проверять себя» — там речь про тетради, но механика одна и та же.
Когда переходить к экрану и что выбирать
Признак готовности простой и не связанный с возрастом: ребёнок уверенно пишет программу из десяти-двенадцати команд заранее, а не по ходу дела, и при сбое сам идёт искать место ошибки, а не сминает лист. Обычно это случается где-то между семью и девятью годами, но разброс большой, и торопить смысла нет.
Первый экранный этап — блочные среды, где команды перетаскиваются мышкой и не надо ничего печатать. Печать, кстати, отдельный барьер: ребёнок, который ищет буквы по клавиатуре по десять секунд, забывает, что хотел написать, ещё до конца строки. Пока с клавиатурой туго, любые текстовые языки бессмысленны.
На что смотреть при выборе, независимо от названия. Ребёнок должен видеть результат сразу: нажал — человечек пошёл. Задания должны идти маленькими шагами, а не «сделай игру за одно занятие». И должна быть возможность играть без чужого аккаунта и без покупки — на первых порах вы не знаете, зацепит ли вообще.
Про деньги стоит сказать прямо. Платный курс в шесть-семь лет чаще нужен родителю, чем ребёнку: он снимает тревогу «мы отстаём». Если ребёнок горит и просит сам — почему нет. Если его ведут, потому что «сейчас все ходят», деньги уходят на то, чтобы ребёнок час в неделю сидел перед экраном под присмотром. Домашние игры в робота на этом фоне выигрывают по всем статьям, включая настроение.
И про экранное время. Программирование на экране остаётся экраном и не становится полезнее оттого, что зовётся обучением: двадцать-тридцать минут за раз младшему школьнику достаточно, а обсуждать получившееся лучше уже за столом.
Чего ждать и чего не ждать
Начнём с того, чего эти занятия не делают. Они не превращают ребёнка в программиста и не дают преимущества при поступлении куда бы то ни было. Восьмилетний, бойко собирающий блоки, не ближе к профессии, чем восьмилетний, который хорошо лепит: до настоящего кода ещё лет пять и совсем другая математика.
Что они действительно дают, видно не на экране, а в бытовых мелочах. Ребёнок начинает объяснять понятнее, потому что привык, что исполнителю нужны точные слова. Он спокойнее относится к тому, что сразу не вышло. Он реже бросает задачу целиком и чаще спрашивает «а с какого места пошло не так».
Это же умение вылезает в школе, причём не на информатике. Условие задачи, которое надо выполнить по порядку, а не решить по первым словам. Проверка своего решения. Длинный пример в несколько действий, где нельзя перескакивать. Умение работать по чужой инструкции — про него есть отдельный разбор, «Собрать по инструкции», и он ровно про ту же способность держать шаг.
И ещё одно, самое незаметное. Ребёнок, который поиграл в робота, иначе смотрит на технику. Лифт, микроволновка, светофор перестают быть волшебными и становятся устройствами, которым кто-то написал список команд. Это не делает его инженером, но снимает беспомощность перед всем, что мигает и пищит, — а её у взрослых, между прочим, куда больше.
Как закрепить в играх
Между вечерами с роботом полезно тренировать составные части умения по отдельности — тогда сами программы получаются длиннее и точнее.
Работу по командам даёт «Графический диктант»: это буквально исполнение алгоритма, где ребёнок — исполнитель, а не автор, и любая пропущенная команда видна по рисунку. Планирование маршрута до первого шага отрабатывает «Лабиринт», а память на порядок команд — «Запомни последовательность».
Отдельно стоит «Что дальше?»: там надо увидеть повторяющийся кусок и продолжить его. Это ровно тот навык, из которого потом вырастает цикл — заметить, что три команды повторяются, и записать их один раз со словом «повтори». Остальные игры на порядок и рассуждение собраны в разделе «Логика».
Что распечатать
Основа для домашних алгоритмов — графические диктанты для семи лет: длинная цепочка команд, клетки, точный результат. Если ребёнок только начинает и сбивается на третьей команде, возьмите сначала простые графические диктанты — там фигуры короче и первый успех приходит быстрее.
Для маршрутов с условием подойдёт «Лабиринт по правилу»: пройти надо не как получится, а только по клеткам нужного цвета, формы или числа. Это первое знакомство с «если — то» на бумаге, и объяснять ничего не нужно, правило написано прямо на листе.
Отсчёт клеток в двух направлениях тренируют рисунки по клеточкам, а точное выполнение чужой инструкции — цифровой шифр: одна невнимательность в таблице, и слово рассыпается. Остальные листы лежат в разделе «Логика».
Главное
Программирование для ребёнка начинается не с ноутбука, а с точных команд: игра в робота на кухне и в коридоре, маршруты стрелками по клеткам, правило «сначала вся программа, потом запуск». Отсюда сами собой появляются цикл и условие, а ребёнок к семи-восьми годам умеет главное — раскладывать дело на шаги.
Ошибка в этой истории не провал, а рабочий этап: ищем не виноватого, а последний шаг, где всё сходилось, и ищет его ребёнок, а не вы. Экран имеет смысл, когда ребёнок уже держит в голове десяток команд заранее, и начинать разумно с блочных сред без печати. Программиста из него это не сделает, но думать по шагам научит — а это пригодится задолго до информатики.









