Как стать автором
Обновить
1214.22
МТС
Про жизнь и развитие в IT

Азы программирования для детей и подростков: актуальные инструменты обучения и немного личного опыта

Время на прочтение6 мин
Количество просмотров8.7K

Привет, Хабр! Меня зовут Сергей Ребров, я работаю в команде машинного обучения в МТС. У меня две дочки, которых стараюсь знакомить с миром разработки, поэтому решил написать статью про обучение азам программирования детей и подростков. Есть личные кейсы, есть информация к размышлению, описываю и полезные, на мой взгляд, инструменты. Если для вас эта тема интересна - прошу под кат!

С чего и когда начинать?

Сначала ответим на вопрос «когда?» Попробовать привить любовь к IT можно уже с 3–5 лет. Понятно, что в этом возрасте не стоит пытаться учить ребёнка писать на JS или C++. Речь идёт о базовых вещах: сначала заинтересовать пазлами, конструкторами, головоломками. Если всё это «заходит», можно попробовать постепенно усложнять задачи, переходя от Lego Duplo к «взрослому» Lego, не исключая и Lego Mindstorms.

На Aliexpress продаются готовые наборы для сборки роботов любой сложности — от самых простых до таких, что и не всякий взрослый справится. Ну и если вы видите, что всё получается, стоит попробовать изучать базовые элементы разработки на примере визуальных языков. Начать никогда не поздно, особых возрастных ограничений нет. Кто-то начинает интересоваться IT в 6–7 лет, а кто-то и в 15 (говорим о детях и подростках).

У автора этой статьи — две дочери, 10 и 6 лет, обеих пробовал заинтересовать сначала конструкторами, затем Scratch и Minecraft. Ниже расскажу о том, что ещё можно предложить и что получилось лично у меня с обучением дочерей (забегая вперёд — мы ещё на начальном этапе обучения).

Что использовать для обучения

Визуальные языки программирования

Визуальные ЯП — специальные инструменты, которые помогают формировать у ребёнка правильный тип мышления, включая обучение алгоритмическому подходу. Причём многие языки можно использовать с малых лет — у них интуитивный интерфейс, в котором можно быстро разобраться ребёнку любого возраста.

Scratch

Это бесплатная платформа для обучения программированию детей школьного возраста. Дети могут создавать как простые зацикленные сценки с участием животных, так и достаточно сложные игры. Для работы предлагается визуальный конструктор — из отдельных блоков пользователь задаёт алгоритм движения разных персонажей.

Если сложно, то можно использовать Scratch Junior, где визуализация алгоритмов задаётся при помощи стрелок клавиатуры и отдельных предметов.

К слову, мне удалось заинтересовать Scratch обеих дочек, причём начали сразу с обычного Scratch, а не Scratch JR. Занимались с преподавателем онлайн, также работали и вместе. В итоге дети научились создавать интересные игры. Это не были шедевры игростроя, но дочки смогли научиться делать многое сами, причём обеим это нравилось и нравится. Младшая пока что остаётся на Scratch, постоянно совершенствуя свой уровень. Ну а старшая пошла чуть дальше.

Minecraft

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

Достоинство Minecraft в том, что он развивает воображение, а также даёт понимание причинно-следственных связей ребёнку. Многим детям интересна эта игра, а возможность что-то делать самостоятельно так и вовсе захватывает.

Старшая дочка сейчас находится на этом этапе, ей очень нравится. Пока что дело до обучения Python не дошло, но, думаю, что через месяц-другой можно будет стартовать и в этом направлении. К слову, обучение не проходит идеально, иногда всё это старшей дочке надоедает, она подзабрасывает, но потом снова начинает с того же места. Я особо не заставляю заниматься, поскольку не хочется подавлять инициативу и делать что-то из-под палки.

Эта стратегия, насколько вижу, себя оправдывает — дочка делает всё более сложные вещи в среде Minecraft, так что прогресс налицо. Ну а в плане обучения мы никуда не спешим, так что всё нормально.

Codecombat

Ещё одна платформа для детей, которая помогает изучать азы программирования. На платформе есть как игры, так и курсы. Она даёт возможность осваивать синтаксис и писать код с соблюдением общепринятых в мире IT практик. Поддерживается сразу несколько языков программирования, включая JavaScript, Python, Java, CoffeeScript и Lua.

Обучение организовано в виде уровней. На каждом уровне игрок получает новую задачу. Например, найти гриб, который поможет победить врага или сбежать из темницы. Ребёнок управляет волшебником, заклинания которого — это команды JavaScript и Python. Заклинания нужно запомнить, чтобы не попасть в сложную ситуацию.

Roblox

Ещё одна очень популярная платформа для создания собственных онлайн-игр. Для этого используется язык программирования Lua, который достаточно сильно похож на JS. Создав новый игровой мир, пользователь может делиться им с другими. На данный момент Roblox — одна из наиболее популярных игровых платформ для детей разного возраста.

Этот интерес позволяет вовлечь детей, да и подростков тоже, не только в игру, но и в процесс создания игр. В частности, создавать можно персонажей, а также большое количество 3D-объектов с текстурами, тенями и разными эффектами. Для этого дети изучают основы языка программирования, после чего пишут сценарии будущей игры, воплощая идеи в реальность.

Gamefroot

Это платформа, подобная Scratch, где тоже используются цветные блоки, которых здесь много. Программа для каждого элемента игры открывается в отдельном окне, что довольно сильно упрощает работу юным программистам. На платформе ребёнок может создать игру с нуля или потренироваться на учебном проекте.

Платформа предоставляет фон, слои, персонажей. Всё это нужно расставить по местам и анимировать при помощи кода. Существует возможность загружать готовые скрипты и выгружать свои.

Книги

Если ребёнку не чуждо чтение, то стоит дополнить инструменты, о которых говорилось выше, книгами. Вот небольшая подборка актуальной литературы.

Scratch 3 для юных программистов

Автор: Денис Голиков

Книга, которая предназначена для детей лет 10–12, а также их родителей, если они хотят помочь в процессе обучения. Автор разработал красочный и понятный учебник, который даёт возможность создавать свои первые игры и анимации.

Python для детей. Самоучитель по программированию

Автор: Джейсон Бриггс

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

Изучаем программирование на JavaScript

Авторы: Эрик Фримен, Элизабет Робсон         

Более серьёзное издание, в котором 600 страниц. Оно уже рекомендуется подросткам и взрослым людям. Авторы добавили к теоретической части большое количество иллюстраций, примеров и графических изображений. Они помогают освоить излагаемые основы этого популярного языка программирования.

HTML и CSS. Разработка и дизайн веб-сайтов

Автор: Джон Дакетт

Если ребёнку или подростку интересно создание веб-сайтов, то это издание как раз то, что может пригодиться. В нём большое количество теории, есть практические задания, а также большой объём иллюстраций.

Важные нюансы для обучения ребёнка

Кроме книг и платформ стоит использовать YouTube, возможно, привлекать к обучению частных преподавателей. Я так и делаю. Кстати, если преподаватель действительно хороший, он ускоряет процесс обучения, подавая структурированный материал в формате от простого к сложному. И в ходе обучения, конечно, важно, чтобы ребёнок не потерял интерес. Такое случается довольно часто, к сожалению. Но преподаватель помогает удерживать интерес на одном уровне.

Главное — не заставлять учить программирование и связанные с ним темы. Ребёнку должно быть интересно, и тогда обучение пойдёт гладко. Мои дочки, например, учатся не так, чтобы быстро, но прогресс заметен. Могут уже кое-что показать интересное — небольшие игры, креативные сюжетные линии и т. п. Пока не знаю, станет ли IT их главным увлечением в жизни, но уже понятно, что программирование, по крайней мере основы, им нравится.

Также ребёнку важно видеть результаты своих занятий. И платформы, которые описаны выше, позволяют это реализовать. Уже через 2–3 занятия ученик понимает, что научился делать что-то новое, и чем больше посвящает времени обучению, тем больше видит результатов. И да, если в процессе обучения сын или дочь захотят сменить платформу или направление обучения, ничего страшного. Если «гнуть свою линию» без учёта интереса ребёнка, ничего хорошего не получится.

С течением времени можно пробовать усложнять обучение, добавлять новые элементы. Например, познакомить ребёнка с Raspberry Pi и Arduino, а также невизуальными языками программирования. Мы с дочками пока до этого уровня ещё не дошли, но Raspberry Pi у меня есть, так что всё впереди.

И если у вас есть дети, а также успешный (или нет) опыт их обучения разработке, расскажите об этом, поделитесь в комментариях.

Теги:
Хабы:
Всего голосов 15: ↑13 и ↓2+11
Комментарии4

Публикации

Информация

Сайт
www.mts.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия