Учить будет сложно, это лучше понимать сразу. Сложно, потому что объяснять что-то ребенку тяжелее, чем взрослому. От родителя потребуется терпение, усидчивость и сдержанность.

Родителю нужно заранее определить цель: что ребенок должен уметь после обучения тому или другому этапу программирования? Это поможет сосредоточиться на главном и отсеять лишнее. Например, нужно, чтобы ребенок умел пользоваться компьютером на продвинутом уровне. Значит, он должен понимать, как работает Web, и освоить Scratch, а языки программирования вроде С++ ему не нужны.

Если цель – увлечь ребенка профессией программиста, то надо разработать учебный план. Чтобы понять, как его сделать, можно посмотреть обучающие видео на YouTube с большими просмотрами, и давать ребенку информацию схожим образом – понятно и просто. Можно зайти на сайты компаний, которые занимаются обучением взрослых и детей, и посмотреть, как построены их материалы. Пример компании – Khan Academy.

Ребенку будет нужен английский, чтобы понимать основные термины и читать тексты. Продвинутое знание языка не понадобится, но если ребенок совсем ничего не знает, придется отдать его на курсы.

Хороший план: сначала научить ребенка строить простые алгоритмы, потом научить базовым английским понятиям, после – перейти к программированию.

Обучающие игры

Есть игры, которые учат программированию, а некоторые из них обучают даже писать код. Игру нужно брать под возраст ребенка: какие-то подойдут для 6-летних детей и старше, а какие-то можно предложить и детям с 2 лет.

  1. Kodable. Эта игра для самых маленьких. Читать в ней ничего не нужно, все подсказки сделаны графически: ребенок проходит простые квесты и учится правильной последовательности действий, которая потом пригодится, чтобы составлять программы. Игра бесплатная.  
  2. Lightbot сделан для смартфона и планшета. Суть игры: выдать маленькому роботу правильные команды, чтобы он зажег лампочки в нужных местах. Для этого ребенку нужно спроектировать путь робота, а родителю – объяснить, что значат картинки. Игра учит составлять простые алгоритмы, рассчитана на детей 4-6 лет. Но есть усложненная версия для тех, кто старше 9 лет. Игра платная: от 169 до 229 рублей.
  3. Robozzle подойдет младшим школьникам и детям постарше. Ребенку надо будет выполнить задание и составить алгоритм движения стрелки по паззлу. Это интересная головоломка, которая подходит для практики и повторения, а не для изучения новых знаний. Игра бесплатная.
  4. Cargo-Bot рассчитана на дошкольников и детей постарше. В освоении проста, текста в ней мало – для первых заданий хватит, чтобы ребенок понимал и отдельные буквы. В игре нужно за минимальное число ходов перекладывать ящики с места на место. Есть простые комбинации, есть и сложные, которые даже взрослым будет нелегко решить.
  5. CodeMonkey. Игра построена наглядно и просто: ребенок будет управлять обезьянкой, которую нужно довести до банана. Каждый уровень рассказывает о возможностях программирования, а чтобы перейти на следующий, придется на деле применить полученные в прошлом уровне знания. Команды здесь надо выбирать, используя пиктограммы, а последовательность действий писать с помощью строчек – почти как настоящий код.

Инструменты и конструкторы

Начинать с языков программирования не нужно. Сначала ребенок должен понять, по каким алгоритмам создается программа, и для этого есть специальные инструменты:

  1. Scratch – среда обучения, которая подходит и для совсем маленьких, и для детей старше 10 лет. Программы здесь делают, используя блоки с описанием действий. Используя Scratch, ребенок может создать анимацию или простую игру, и результат он увидит сразу. У Scratch есть две версии: для совсем маленьких – Scratchjr, и для iOS.
  2. Alice – это бесплатная обучающая среда с открытым кодом. Здесь ребенок тоже сможет делать анимацию, видео или разработать простейшие программы. Alice помогает освоить базу объектно-ориентированного программирования.
  3. StarLogo TNG – это программное обеспечение, на котором можно создавать обучающие игры, чтобы понятным языком объяснять сложные вещи. Результат будет в формате симуляторов или моделей. StarLogo TNG больше пригодится родителю, чтобы доступно строить обучение.  
  4. Snap! – это более сложный вариант Scratch: здесь можно создавать блоки самостоятельно. Но работает и выглядит Snap! сложнее, поэтому для самых маленьких не подходит.
  5. Gamefroot – это блоковый редактор кода, и с ним можно строить алгоритмы сложнее, чем в Scratch. Подойдет, когда тот же Scratch ребенок уже хорошо освоил.
  6. Code.org – это сайт обучающих игр. Они разного уровня, но построены так, чтобы ребенок научился находить самый простой и выгодный путь достижения цели. Материал сайта разбит по возрастным группам, есть и английский, и русский контент.
  7. «ПиктоМир» - российская разработка, обучающая детей программированию. В ней нет блоков, есть пиктограммы. Ресурс кроссплатформенный, это значит, что он подходит и для очень старых версий iOS и Android.

Конструкторы помогают применять навыки на практике, еще они могут заинтересовать ребенка робототехникой. Для обучения подходят:

  1. Arduino – эти игрушки учат ребенка программировать микросхемы, и работают со Scratch.
  2. Raspberry PI – маленький компьютер с одной платой под управлением Linux: совместим с Arduino и поддерживает Python, благодаря чему ребенок поймет, как программируют взрослые.
  3. Lego. С ним тоже можно программировать свой конструктор, как с Arduino. Но детям старше 6 лет может быть не очень интересно, потому что Lego не совместим ни с Arduino, ни с Raspberry PI.

Языки программирования

Языков программирования много, ребенку не нужно осваивать все, пригодятся только основные: Java, Processing и Python. Детский язык программирования, Scratch, он уже должен знать.

Научиться Java поможет книга Якова Файна «Программирование для детей, родителей, дедушек и бабушек». Книга 2011 года, автор, Яков Файн, – программист со званием Java Champion. Книга написана для абсолютных новичков в программировании, формат у нее – практический учебник, темы поданы облегченно. Подойдет для детей от 11 лет.

Начинать с Java нужно, потому что этот язык менее подвержен ошибкам, чем тот же С++, имеет поддержку графики по умолчанию, подходит для всех платформ, популярен в веб-программировании. Опять же, Java учит дисциплине.

Processing – язык, основанный на Java и совместимый с ним. Легкий и быстрый, он создан для программирования интерфейсов, анимации и изображений. Используют его дизайнеры, художники, студенты. Processing разработан, чтобы научиться основам программирования в визуальном контексте.

Python более сложный язык, его используют, чтобы создавать приложения, игры и веб-сайты. Его код состоит из слов английского языка и символов, а программы на нем писать можно очень разные.

Практика

Чтобы ребенок лучше запоминал полученные знания, надо чтобы он чаще применял их на практике. А практика такая:

  1. Писать больше кодов. Чем больше ребенок их напишет, тем сильнее вырастет его общее мастерство, даже если поначалу он будет много ошибаться.
  2. Читать статьи, сайты и книги по программированию, изучать чужие коды. Так ребенок узнает хитрости, до которых сам доходил бы годами.
  3. Улучшать то, что есть. Когда ребенку попадается хорошая программа, будет здорово, если он задумается, какие приемы и идеи можно взять для себя. В этом нет ничего плохого: так делают даже лучшие программисты. Правда, они еще и совершенствуют чужие задумки.
  4. Учить других. Если ребенок начнет учить друга, объяснит, как работает тот или иной код – он проверит свои знания и возможно придумает что-то новое.