Как научить детей программированию которые даже не умеют пользоваться компьютером

Обновлено: 03.07.2024

В этой статье мы расскажем родителям, как самостоятельно обучить ребёнка основам программирования. Кстати, описанные ресурсы могут помочь не только детям. Поэтому любителям курсов «Java за 3 дня» тоже не будет лишним прочитать материал.

Прежде чем начать обучение, нужно понять, что объяснить что-то ребёнку часто сложнее, чем взрослому. Как минимум нужно быть усидчивее, терпеливее и сдержаннее. Иначе нервный срыв будет у всех участников учебного процесса. Также почитайте разные статьи об обучении детей программированию, например, интервью с заведующим отделом учебной информатики НИИСИ РАН А.Г. Кушниренко.

Примечание Если вы не планируете научить ребёнка программированию на 1C, то есть смысл отдать его на курсы английского языка, чтобы у него было хотя бы базовое понимание англоязычных терминов и текстов.

Перед началом обучения желательно поставить цель. Подумайте, чего должен достичь ваш ребёнок после освоения того или иного аспекта программирования. Например, если вы хотите научить его пользоваться компьютером на продвинутом уровне, то вероятнее всего, не нужно углубляться в языки вроде C++. Достаточно будет просто освоить Scratch, а также рассказать и показать, как работает Web. Уже на этом уровне ребёнок будет выделяться среди своих сверстников.

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

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

Инструменты для начала обучения программированию

Scratch

Наиболее популярная среда для обучения как совсем маленьких, так и детей 10+. Программы создаются с помощью блоков с понятными для детей описаниями действий. Детям нравится смотреть на результаты своего труда, здесь они увидят или интересную игру, которую сами сделали, или какую-нибудь анимацию. Ещё существует аналог Scratch для iOS — Hopscrotch. Кроме того, есть версия для совсем малышей и называется она Scratchjr, однако разрабатывается не командой MIT.

Alice

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

StarLogo TNG

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

Более продвинутый вариант Scratch. И выглядит, и работает сложнее, но ребёнок тоже растёт, верно? В Snap реализована возможность создания своих собственных блоков.

Gamefroot

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

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

ПиктоМир

Полностью русскоязычная и российская разработка для обучения детей основам программирования. Отличается от предыдущих ресурсов тем, что программирование строится не путём использования блоков, а с помощью пиктограмм. Кроме того, ресурс, благодаря своей кроссплатформенности, позволяет использовать очень старые версии Android и iOS.

Конструкторы

Arduino

Когда речь заходит о программировании, то нельзя не сказать про Arduino. Такие игрушки подходят как детям, так и взрослым. Кроме того, программирование микросхем может заинтересовать ребенка роботехникой, что, конечно, не хуже, чем Web. А ещё Arduino работает со Scratch.

Raspberry PI

Raspberry PI — небольшой одноплатный компьютер под управлением Linux, который совместим с Arduino. Кроме того, он поддерживает язык программирования Python, что покажет ребёнку, как выглядит программирование у взрослых.

Lego, как Arduino, позволяет программировать свои конструкторы, но не все. Кроме того, Lego не может взаимодействовать ни с Arduino, ни с Raspberry, что уменьшает его шансы на популярность среди детей возраста 6+.

Примечание Чтобы заинтересовать ребенка миром IT еще сильнее, можете предложить ему почитать необычные статьи об устройстве тех или иных технологий. Например, обратите внимание на статью о том, как устроен Интернет под водой.

Заключение

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

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

Кстати, некоторые ученые считают, что дети готовятся к будущей карьере уже в том возрасте, когда они прыгают в грязных лужах и размазывают краски по стенам. Например, инженер-программист из Google Chrome обнаружил, что даже случайные брызги краски на бумаге являются замаскированным действительным кодом языка программирования Perl. Для подтверждения своей гипотезы он обработал случайные брызги краски при помощи программного обеспечения OCR (сканирование символов, которые обычно используются для преобразования аналоговых слов в цифровой текст). В результате это привело к правильному Perl-коду в 93% случаев.

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

1. Устроить танцевальную вечеринку

Чтобы познакомить детей с концепцией цикла (в основном, последовательности), включите музыку и попросите их повторить серию танцевальных движений.

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

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

2. Искусство бисероплетения

Если у вас есть черные и белые шарики или бусинки (или любые два других цвета), вы можете научить своего ребенка двоичному алфавиту. Это алфавит, который широко используется в информатике и вычислительной технике, имеет всего два знака, например «1» и «0». Этими символами в логике и технике приводят в соответствие понятия «да» и «нет», «есть сигнал» и «нет сигнала», «истина» и «ложь».

Распечатайте вот такой двоичный алфавит, присвойте 1 черному и 0 белому и начните превращать бюсины в код, нанизывая их на нитку. Например, сначала ребенок должен собрать слово «кот», потом свое имя и т.д.

3. Играем с бумажными куклами

Можно использовать бумажных кукол для представления концепций Булевы выражений (логическое значение, истинное или ложное). В этой игре можно предложить детям одевать куклу Дашу или Машу в разную одежду и аксессуары, используя логические выражения.

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

Мы в IT-Академии Алексея Сухорукова не занимаемся детским обучением, но у нас и наших преподавателей есть много интересного и познавательного на эту тему. Однако начать мы решили с западного опыта. В этой статье профессиональные разработчики и основатели стартапов рассказывают о том, как обучали своих маленьких (иногда совсем маленьких!) детей кодированию.

Мэтт Лернер (Matt Lerner), VP Product & Design @redfin, co-founder of @walkscore

Я хотел научить своих детей программированию, потому что это отличное мастерство и мощный способ мышления . Мои дети проводили много времени за игрой в Angry Birds на моем iPhone, и я решил, что пришло время им заглянуть за занавеску и узнать, как работает программирование. Итак, вот вам мои советы. Они целиком и полностью взяты из личного опыта и пригодятся вам независимо от того, кто вы - хардкор-программист или человек, который вообще не имел дела с кодом до этого.

Совет №1. Начинайте с элементарного

Когда моему сыну Сай было четыре года, мы уже начали пользоваться программами по созданию логотипов на iPad (Mad Logo) и делать анимации, используя язык программирования для детей Scratch. Но я хотел, что бы сын заглянул вовнутрь, и придумал некоторые уловки, которые бы смогли увлечь его программированием на Python. Этот язык достаточно простой, чтобы ребенок мог его понять и при этом достаточно мощный, чтобы реализовать все идеи, которые приходят мне в голову и за которые мне платят хорошую зарплату.

Совет №2. Переходите на Python.

Вы знаете, что Python уже установлен на вашем макбуке? Вам достаточно открыть окно терминала и ввести python для запуска (для выхода нужно нажать ctrl+d). Все, что вам нужно, чтобы запустить Python и начать на нем программировать, есть вот в этом руководстве.

Совет №3. Говорите с компьютером.

Для того, чтобы ребенок обратил внимание, у меня есть специальный лайфхак. Заставьте компьютер говорить! Если у вас макбук, то просто откройте окно терминала и введите команду “приветствовать”. Компьютер ответит “привет”. Разве не магия?

Совет №4. Поиграйте в игру с угадыванием числа на Python.

Чтобы запустить эту программу:

  • Загрузите исходный код
  • Откройте окно терминала
  • Введите cd Downloads
  • Введите python mathquiz.py (и проверьте, включен ли у вас звук)

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

Откройте этот файл с помощью текстового редактора и попробуйте изменить max_number на 100.

Совет №5. Все остальное вы легко найдете в интернете.

Представьте, что вы хотите научить ребенка чему-то сложному. Допустим, рекурсии. Помните, что это такое? Я помнил, но, черт возьми, меня очень интересовало - как я могу объяснить ребенку что-то действительно сложное (такое, как рекурсия)? Я использовал отличное из Khan Academy, которое доступно рассказывает о рекурсивной факториальной программе.

Вот код, который мы использовали с моим сыном. Тогда ему было уже 6 лет, и я думаю, что он был слишком юн, чтобы понять рекурсию, но ему очень нравилось смотреть, как компьютер делает действительно большие факториалы.

Я уверен, что есть шестилетние дети, уже заработавшие миллионы долларов на игре для iPhone, которую они написали сами. Но мои дети не начали писать какие-то собственные программы. На самом деле, я даже не уверен, что им интересно программирование!

Как мой восьмилетний сын учится программировать на Java (и ваши дети тоже так могут)

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

Шаг 1. Minecraft и YouTube.

Первый этап был такой же, как и у всех. Моему сыну исполнилось 7 лет и он очень интересовался Minecraft. Чуть позже он начал смотреть различные ролики на YouTube, он увидел, как люди создают новые текстуры, предметы, скины и добавляют их в игру. Ему всегда нравилось Lego, и возможность создавать новые блоки и персонажи в Minecraft очень увлекла его. Я считаю, что это самый яркий творческий инструмент для его возраста. Вместе с друзьями они встречаются, заходят в игру и получают по настоящему коллективный творческий опыт.

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

Шаг 2. Нужно научиться Java, чтобы самому делать моды в Minecraft

Мой сын очень сильно захотел сделать свои моды для игры. Я сказал ему, что единственный способ - это научиться кодировать на Java. Он принял решение, что пора, а я начал думать как.

Шаг 3. Летняя школа Minecraft Redstone

Сын уже знал Scratch, но он наскучил ему. Я согласен - думаю, что интерфейс и возможности Scratch уже устарели. В итоге прошлым летом мы отправили его в технический летний лагерь на неделю, где он прошел курс цифровой инженерии Minecraft Redstone. Там он изучал цифровую логику, создавал сложные машины (например, лифт), осваивал командные блоки (Scratch это дать не может). Это был летний лагерь от Funtech в Лондоне, и я могу смело рекомендовать его. Диапазон и разнообразие их курсов просто потрясающие.

Шаг 4. Прорыв с Youth Digital

Это правильное кодирование, а не интерфейс для перетаскивания. Вот скриншот из работы моего сына в доказательство.

При этом здесь все не сложно. Особенно хорош Джастин, который сам снимается в роликах - он так сильно вдохновляет, что любой ребенок все понимает и делает.

У них много совершенно фантастических курсов - дизайн одежды, дизайн игр, дизайн сервера и так далее.

Шаг 5. Игра CodeKingdoms

Сам я начал кодировать с 12 лет и с тех пор увлекаюсь поиском новых способов и инструментов. Сегодня я соучредитель и партнер инвесторского фонда SparkLabs Global Ventures, дочерней компании SparkLabs Korea. Один из стартапов, в который мы вложились, это проект CodeKingdoms. Это восхитительная игра с умными способами привлечения и обучения детей кодированию. Мой сын проникся ей и рассказал всем своим друзьям.

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

Еще я бы упомянул здесь вдохновляющий моего сына мультфильм Big Hero 6. Он отлично демонстрирует детям, как круто заниматься творчеством и технологиями. После его просмотра он стал мечтать о создании собственной лаборатории с роботами.

Рич Клейн (Rich Klein), Full-stack web developer, автор детских книг.

Моему сыну было семь лет и он спросил меня, чем я зарабатываю на жизнь. Естественно, он сразу захотел понять, что такое “веб-разработчик”, и с этого все и началось… Родители любят учить своих детей - это инстинкты. Мы учим их говорить, пинать мяч, рассказываем о ценностях, но что насчет программирования? Это не так весело, как новые игрушки, как конструктор Lego, но это одна из полноценных форм творчества и самовыражения.

Начинаем с нуля

Scratch - это очень забавно и интуитивно понятно. И эта платформа как раз и похожа на то самое Lego. Мой сын активно пользовался ей больше двух лет и даже сейчас иногда туда заглядывает.

Настоящее кодирование

Первый язык

Я прочитал рекомендации и выбрал Python. Сам я работаю HTML / Javascript, PHP / Laravel, Node / Express, опыта с Python у меня не было. Но я сразу понял, что это лучшее решение и заказал книгу “Python для детей”. Python - легко читаемый и элегантный язык. На нем не надо писать так много кода, как это происходит на Cи-подобных языках.

Я взял ноутбук своей матери и установил на нем Python и Sublime. Навыки в Scratch позволили ему быстро освоить переменные, условные обозначения, циклы и списки. Все началось довольно весело, но потом мой сын остановился и потерял мотивацию. Задания из второй части книги не могли конкурировать с тем же Scratch, не говоря уж о Xbox. Но я понимаю, что это был отличный опыт для нас обоих, и уверен, что в будущем мой сын еще вернется к Python, потому что у него так много применений.

JavaScript приходит на помощь

Я помню, как он был взволнован, когда понял, что может просматривать код на сайтах и менять содержимое с помощью Chrome DevTools. Добавление “poop” в заголовки веб-страниц очень веселит детей. Я решил, что ему надо осваивать HTML и JavaScript, и заказал книгу “JavaScript для детей”, где даются все основы. Он работал по книге чуть больше часа по выходным, но добился значительного прогресса.

Веб-разработка - обширная тема, и мне нужна была помощь. В определенный момент через пару месяцев его обучение потеряло первоначальный импульс и снова замедлилось. Мы подписались на CodeSchool и это сработало. Их смесь из музыки, видео-тренировок и онлайн-упражнений отлично подошли моему сыну, хотя иногда он просто слушал и искал новые джинглы. Потом он перешел к Javascript Road Trip Part 1, а сейчас мы работаем над Javascript Road Trip Part 3, и упражнения там сложны для нас обоих. Я сам многому научился вместе с ним.

Как объяснять детям концепции программирования

Тут важно переводить абстрактные компьютерные концепции на вещи из реального мира. Вот несколько примеров, которые отлично сработали для моего сына и помогли ему во всем разобраться.

Переменные. Переменные в JavaScript - это как обычные ящики, в которых хранятся вещи. Вы даете им имена точно так же, как клеите стикеры на коробки. Надо давать понятные имена, чтобы потом любые вещи можно было легко найти.

Массивы. Массив JavaScript похож на вашу книжную полку - на ней много разных вещей (книги, игрушки, рисунки, фотографии, карандаши) и она облегчает доступ к ним. Если вы попросите меня взять книгу о Гарри Поттере с левой стороны самой нижней полки, то я ее легко найду.

Функции. Они похожи на кулинарные рецепты. Если вы выпекаете печенье с шоколадной стружкой, то вам надо пройти через все этапы - собрать и смешать ингредиенты, выложить их на противень, предварительно прогреть печь и затем уже приступить к выпечке. Запуск функции также проходит через все свои этапы, пока не достигнет завершения (это как позвать вас на ужин).

Замыкание. Замыкание похоже на окаменелость динозавра. Вы можете получить информацию о динозавре из ископаемого, хотя сам динозавр исчез миллионы лет назад.

Файлы cookie. Я прихожу в пекарню и пекарь спрашивает меня, какое печенье я хочу. Потом я начинаю каждый день бывать в этой пекарне, и он уже просто спрашивает меня: “Вам как обычно?”. Этот пример был все же недостаточно четким (потому что пекарь все же совершал повторяющийся запрос), и тогда мой сын сам предложил пример с нашим парикмахером. Мы приходим, и он просто начинает стричь нас, потому что знает, чего мы хотим.

Программирование - это длинное путешествие

Оно требует времени, практики, терпения и приверженности, а для детей это не самые легкие вещи. Мы с моим сыном все еще находимся в самом начале этого пути, но потихоньку продвигаемся вперед. Я стараюсь не ограничивать его интерес к новым вещам. Например, мы недавно посетили одно небольшое событие, связанное с инди-разработкой компьютерных игр. Ему стало интересно, и теперь он смотрит видеоролики о Unity. Думаю, что следующим важным шагом для него станет разработка собственной программы или приложения. Не знаю, когда и как это произойдет, но в любом случае, его первый минимально жизнеспособный продукт будет для нас новой точкой отсчета.

P.S К январю 2017 года он потерял интерес к JavaScript (ему стало скучно). На самом деле, веб-разработка - это бесконечно длинный и сложный процесс обучения.

Вы как-будто поднимаетесь в гору, но на ее вершине оказываетесь у подножья другой горы.

Я никогда не заставляю своих детей кодировать. Я могу выступать только в роли наставника и мотиватора. Мой сын бросил код и увлекся художественной литературой. Но в определенный момент его заинтересовал искусственный интеллект и машинное обучение. И тогда мы вернулись к Python!

Грейс Франсиско (Grace Francisco), вице-президент по связям с разработчиками в Roblox

У меня две удивительные дочери 9 и 12 лет. Мне нравится иметь детей - каждый день мне приходится учиться и совершенствоваться как родитель. Мы с мужем стараемся воспитывать в них любовь к обучению, но при этом хотим, чтобы они оставались просто детьми. Как и большинство современных детей они уже на “ты” с технологиями. Но, например, когда мы сидим за ужином, мы не позволяем им лазить в смартфонах. Мы хотим, чтобы они умели общаться вне технологий, эти навыки крайне важны для успешной и счастливой жизни.

Прорыв случился благодаря одному семинару, где я помогала коллеге. Там мы показывали другим детям, как использовать Scratch для программирования. Мои дочери тоже были в этой детской мастерской. Они увидели кучу мальчиков и девочек, которые с интересом копались в компьютерах. На том занятии им было весело, и после него моя старшая сказала, что хочет тоже работать в технологиях “как мама”.

Потом их двоюродные сестры познакомили их с Minecraft, и это стало их любимым развлечением. Я создала специальную среду разработки для них на JavaScript.

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

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

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

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

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

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

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

Определиться с целью

Прежде чем искать уроки с заголовком «Программирование для детей», родителям важно узнать, чем ребёнок хочет заниматься. Чаще всего дети мечтают создавать игры, но встречаются подростки, фанатеющие от крутых сайтов, роботов или сервисов Google.

В зависимости от цели подбирается нужный язык программирования. Среди тысяч наименований востребованными сегодня остаются около 50. Одни языки заточены под определённые задачи, другие — универсальны. Например, Swift служит для создания iOS‑приложений, когда как на Python разрабатываются как игры, так и искусственный интеллект.

Чтобы собрать рекомендации, я опросил 70 преподавателей нашей школы — выпускников технических вузов и сотрудников международных компаний. Наиболее популярными, универсальными и простыми в освоении оказались Python и JavaScript. Благодаря первому обновили World of Tanks и YouTube, а второй подарил нам Netflix и Ам Няма из Cut the Rope. Не будет ошибкой, если подросток осознанно решится изучить Java, C или C++, однако они более требовательны к ученику и сложны в освоении. Я рекомендую приступать к ним после получения базовых знаний на интуитивно понятных языках.

Детям до 11 лет часто предлагают начинать кодить через Scratch. Интерактивный интерфейс и простота в освоении призваны прежде всего заинтересовать ребёнка миром программирования, а не сделать из него специалиста. На Scratch создаются только простенькие проекты — небольшие игры и анимация. Однако это хорошая стартовая площадка, чтобы затем перейти к освоению Python и JavaScript.

Учить английский

Если подросток сидит на YouTube или в Twitch и зависает в Dota 2, то, скорее всего, он уже имеет базовые представления об английском. Общение с иностранными игроками по Сети и просмотр видео от зарубежных пользователей мотивируют изучать язык сильнее пятёрки в дневнике. Не удивляйтесь: онлайн‑игры — отличное дополнение к урокам английского в школе. Родители могут воспользоваться моментом и предложить ребёнку занятия с репетитором, лингвистический сервис или хороший учебник.

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

К счастью, базовых знаний английского вполне хватит. Грамматические и пунктуационные правила в программировании собственные, поэтому главное — понимать общий смысл при прочтении. В будущем же владение английским языком поможет устроиться в международную компанию.

Найти ментора

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

Другое дело — стать полноценным специалистом.

Учитывая возраст, увлечения и школьные уроки, самостоятельное изучение алгоритмов и инструментов — непростое занятие даже для амбициозного подростка.

Легче всего составить список ресурсов для самообразования и надеяться, что подросток будет исправно заниматься. По факту же большинство сохранят ссылки в закладки и забудут про них. К сожалению, безграничное количество бесплатного контента заставило людей прокрастинировать: всё полезное и бесплатное откладывается на потом. По статистике, только 3–5% Плюсы и минусы массовых онлайн‑курсов студентов открытых онлайн‑курсов оканчивают их.

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

На помощь приходят частные школы и педагоги. Оба варианта дадут ученикам самое важное: продуманную образовательную программу и менторскую поддержку. Частные школы обходятся дороже, но предлагают проверенный учебный курс, коллаборативную работу и различные сервисы. Родители могут также найти частного преподавателя: занятия со студентом технического вуза или Junior‑программистом заметно ускорят темп обучения. Педагог станет проводником, указывающим верное направление в поисках знаний. А главное — ребёнок не потеряет мотивацию продолжать учиться.

Использовать полезные ресурсы

Чтобы начать писать код, не нужны дорогостоящие и «тяжёлые» программы. Часть разработчиков использует Sublime Text. Это удобный текстовый редактор с поддержкой множества плагинов. У него есть бесплатная версия. Позже ребёнок сможет выбрать инструмент под себя, аналогов великое множество: от Notepad++ и Visual Studio Code до стандартного «Блокнота».

Также порекомендуем книги, каналы и курсы, качество которых проверено на личном опыте.

Учебники

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

1. «Scratch 3 для юных программистов», Денис Голиков

Детям до 12 лет проще начать кодить через Scratch. Красочный и понятный учебник Голикова — отличный проводник для создания первых игр и анимаций.

2. «HTML и CSS. Разработка и дизайн веб‑сайтов», Джон Дакетт

Путь к программированию подростку проще начать с HTML и CSS. Несмотря на то что это не языки программирования, изучение разметки поможет понять строение сайтов и облегчит освоение Python и JavaScript в дальнейшем. Учебник Джона Дакетта наполнен понятными примерами и практическими иллюстрациями.

3. «Python для детей. Самоучитель по программированию», Джейсон Бриггс

Замечательный иллюстрированный учебник с практическими заданиями. По программе Бриггса работает множество школ и частных педагогов.

4. «Изучаем программирование на JavaScript», Эрик Фримен, Элизабет Робсон

Простое изложение и понятная структура обеспечили этой книге место на полках множества программистов. Пусть ребёнка не пугает внушительный объём (600 страниц!). Книга насыщена иллюстрациями, примерами и графикой, а содержание охватывает всё необходимое для старта разработки на JavaScript.

Сайты

Бесплатные интерактивные занятия в браузере. Это благотворительный проект с рубрикой «Час кода» (Code Break), в рамках которой предлагаются мини‑уроки, задания и челленджи для учеников любого возраста и уровня знаний.

2. freeCodeCamp

Более 6 000 бесплатных уроков. К сожалению, сервис работает только на английском.

3. Invent with Python

Бесплатная библиотека Аля Свейгарта. Здесь есть учебники по основам Python и Scratch, созданию игр, а также практические видеокурсы. Материалы доступны на английском языке, но часть книг переведена на русский, их можно найти через поисковик.

4. CodeCombat

Интерактивные занятия, посвящённые Python и JavaScript, а также основам информатики. Благодаря геймификации обучение проходит легко и увлекательно.

Курсы

1. YouTube‑канал Sentdex

Более 1 000 видео на тему Python‑разработки, включая создание проектов в реальном времени.

2. Программирование на Python от Института биоинформатики

Бесплатный курс на платформе Stepik по основам языка Python. Содержит 28 уроков с практическими заданиями от сильных педагогов.

3. JavaScript — основы и функции

Курс от разработчиков «Яндекса» на Coursera. Понятные и простые лекции, посвящённые языку JavaScript. Практические и тренировочные занятия помогут начинающим создать свои первые программы и библиотеки. Курс рассчитан на 5 недель с постоянным доступом к видеоматериалам.

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

Обучение детей программированию онлайн: сервисы и возможности


Перспективы и будущая карьера для молодых программистов

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

Тем не менее, это не значит, что в программировании всему можно научиться самостоятельно, отучившись на курсах и онлайн-уроках. Фриланс подходит далеко не всем. В серьезных международных компаниях вроде Яндекса или Google вас обязательно попросят не только продемонстрировать свой опыт, но и предъявить диплом, подтверждающий образование и квалификацию.


Это связано с тем, что диплом не только подтвердит полученные знания, но и станет доказательством того, что вы способны к последовательной и постоянной работе. Кроме того, среднее и высшее образование — это еще и комплекс знаний, полученный не только в узкой сфере, а в более широком диапазоне. И, что еще важнее, умение их применять на практике — в прикладных задачах.

Поэтому даже самому талантливому программисту-самородку настоятельно рекомендуется получить диплом об образовании. Сначала придется пройти путь от узких задач до решений об архитектуре и системе сложных проектов: от джуниоров до тимлидов.


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


Scratch


Scratch — это уже не только онлайн-среда для изучения программирования, а язык, на котором вполне можно создавать скрипты, анимированные истории, простую музыку и игры. Scratch доступен в виде онлайн-сервиса, также есть приложения для компьютеров и устройств на Android.

На сайте выложено множество уроков и примеров того, что можно написать на Scratch. Язык программирования пользуется популярностью в школах благодаря логичности и наглядности. Авторы проекта рекомендуют Scratch детям и подросткам от 8 до 16 лет, кроме того, есть версия языка ScratchJR для детей от 5 лет. Она доступна на Android и iOS.

Что важно, сервис полностью бесплатный, уроки и описания почти полностью переведены на русский, хотя сама среда программирования — англоязычная. Кроме того, Scratch — это популярная среда программирования, и в Интернете есть много примеров кода, написанного на этом языке.

Если вам интересны видеоуроки по Scratch и другим простым средам программирования и полезным программам, можно также посоветовать Youtube-канал Codim.Online.

Если Scratch разработан в MTI (Массачусетский технологический институт), то Snap! создали сотрудники Калифорнийского института в Беркли. Визуально среда программирования Snap! напоминает Scratch, что неудивительно — Snap! начинался как дополнение к этому языку.


Главное отличие Snap! от Scratch — возможность создавать собственные блоки, объединяя в них последовательность команд, то есть создавать подпрограммы и вложенные функции. Недаром около половины американских школ перешли со Scratch на Snap!

Изучение языков программирования

Scratch, Snap! и другие сервисы с высоким элементом геймификации, конечно, интересны. Но если программирование на самом деле интересно, и ребенок или подросток планирует связать свою жизнь с программированием, надо переходить на более высокий уровень. Есть множество платных курсов, в том числе для школьников и подростков. В качестве альтернативы имеется также масса бесплатных или недорогих ресурсов, на которых можно изучать программирование бесплатно, было бы желание.

Образовательные курсы GeekSchool


GeekSchool — проект образовательного ресурса GeekBrain, рассчитанный на детей 6-17 лет. Для изучения предлагают курсы, начиная от освоения компьютера (работа с почтой, графическими и офисными программами) и заканчивая программированием на Scratch, Python, Java, скриптов для Minecraft и работой с системами автоматизации на Arduino.

Курсы в GeekSchool платные. Например, обучение Scratch оценили в 25 000 рублей. Уровень знаний соответствует официальному бесплатному курсу на сайте Scratch, только все, что есть на официальном сайте и бесплатных Youtube-каналах, рассказывает преподаватель в формате урока-вебинара. Есть возможность оценить учебный процесс, записавшись на пробный урок.

Кодабра


Так же, как и GeekSchool, Кодабра предлагает детям в возрасте от 7 до 17 лет изучение Scratch, основ Python, Roblox, программирование скриптов для Minecraft на JavaScript и игр на Unity. Доступны различные уровни подготовки — от начального до продвинутых пользователей.

Стоимость занятий, заявленная на сайте Кодабры, начинается от 723 рублей/час. Следует отметить, что аналогичные уроки и программы можно бесплатно найти на сайте Scratch, а также в курсах Stepik и видеороликах на YouTube. Преимущество Кодабры — занятия с преподавателем в формате вебинара, в то время как на альтернативных бесплатных ресурсах предстоит самостоятельное изучение урока.

Codemika


Аналогичные платные курсы по программированию предлагает ресурс Codemika. На этом сайте за программу по Scratch для учеников 1-4 классов хотят получить по 2500 рублей в месяц. Весь курс рассчитан на 8 месяцев. Принцип обучения аналогичен Кодабре и GeekSchool — это вебинары с домашними заданиями. Подготовка находится на уровне бесплатных курсов.

Ученикам 5-6 классов предлагают создавать 2D-игры на Python, а для школьников с 7 по 11 класс, студентов и взрослых предусмотрен курс «Java-разработчик». Длительность занятий — те же 8 месяцев, но стоимость составит уже 4900 рублей в месяц. У Codemika нет пробных занятий, но есть открытые уроки, на которых можно ознакомиться с учебным процессом.

Школа программистов


Вообще, эта школа работает офлайн в Москве и Санкт-Петербурге. Но у нее есть и онлайн-площадка, на которую принимают детей, начиная со 2 класса. Обучение платное, причем, начиная с 5 класса, придется сначала сдать вступительные экзамены, по результатам которых ребенка возьмут на курс.

В школе учат фундаментальным основам программирования, дают расширенный курс математики и занимаются программированием олимпиадного уровня. В отличие от GeekSchool, Кодабра и Codemica, школа программистов занимается серьезной подготовкой, давая не просто общие навыки в полуигровой форме, а развивая математические способности и понимание алгоритмов. Вот только геймификации будет меньше, зато серьезного образовательного процесса — больше. Школа платная, стоимость варьируется от 41 300 до 44 800 рублей в год.

Все перечисленные школы — GeekSchool, Кодабра, Школа программистов и Codemika — имеют официальную образовательную лицензию. Теперь перейдем к вариантам с бесплатными уроками.

Codecademy


Codecademy удобен тем, что для написания программ не требуется устанавливать программные пакеты и редакторы. Все работает онлайн. Сервис формально ориентирован на взрослых. Но, например, основы Python, которые можно изучить на этом сайте, полностью соответствуют базовым курсам, рекомендованным для изучения с 9-12 лет (Например, автор книги «Python для детей и родителей» Брайсон Пейн считает, что программирование на этом языке можно изучать с 9 лет).

HTML Academy


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

Stepik


Stepik — это онлайн-курсы по самым разным отраслям знаний. Начинался именно как ресурс для обучения программированию и IT, но сейчас там можно найти курсы по самым разным направлениям.

Значительная часть интересных, понятных и полезных курсов на этом сайте — полностью бесплатная при условии, что вам не нужен сертификат или диплом об окончании курса. На Stepik можно изучить Python, C++, Java и Javascript, разобраться с алгоритмами и SQL, понять, что такое нейронные сети и Big Data.

Особенность Stepik заключается в том, что он предлагает текстовые материалы, видеоуроки, а также задания, с помощью которых проверяется усвоенный материал. По сути, это стандартный учебный процесс, только проводится онлайн. Для изучения программирования придется установить соответствующие приложения, например, Python.

Stepik хорош тем, что все курсы ведутся на русском языке, кроме того, существует мобильное приложение, так что уроки можно изучать не только за десктопом или ноутбуком, но и со смартфона.

Считается, что на этом сайте размещают курсы для студентов. Но, на самом деле на Stepik можно найти и курсы для школьников. Например, «Поколение Python»: курс для начинающих».

«Открытое образование»


«Открытое образование» — очень полезный и нужный проект для изучения программирования, математики и многих других наук. На этом ресурсе размещают курсы ведущие российские вузы, такие как МГУ, СПбГУ, ИТМО, «Высшая школа экономики».

Курсы построены в формате видеолекций, текстовой части, задач, тестов и творческих заданий. Особенность заключается в том, что курсы доступны не всегда, а в определенный период, привязанный к учебному году. Например, в начале сентября начинаются курсы по Javascript, алгоритмам, C++ и прочие. Если не записаться вовремя, придется ждать запуска нового курса. При этом записаться может любой человек, учебный процесс полностью бесплатен. Если вам нужен сертификат, за него надо будет заплатить. Документ можно использовать для перезачета в любом университете.

Лекции на «Открытом образовании» рассчитаны на студентов. Поэтому знакомиться с курсами лучше, если уже есть определенный уровень подготовки. Впрочем, есть базовые курсы, рассказывающие, например, о работе с HTML с нуля. Эти курсы записывают весьма квалифицированные преподаватели, поэтому они сделаны очень качественно и доступно. Уроки будут вполне по силам детям, освоившим азы программирования на Scratch и желающим развиваться дальше. Например, курс «Веб-программирование», похожий по содержанию на курсы HTML Academy.

Яндекс.Практикум


Хотя курсы «Яндекс.Практикум» в целом платные, но базовые знания, например, основы веб-разработки или языка Python, здесь можно получить бесплатно. Начальный уровень будет вполне по силам детям 9-12 лет (в зависимости от уровня их подготовки).

Сервис хорош тем, что обучающие курсы написаны в форме доступных диалогов, со вставками видеороликов и к месту подобранными тестами, помогающими лучше усвоить материал. Плюс Яндекс.Практикума — качественно сделанная программа. Минус — слишком высокая стоимость полного курса обучения. За полный курс Python, например, хотят 85 000 рублей. В «Открытом образовании» похожие знания можно получить бесплатно.

Что в перспективе?

Что вы получите после онлайн-обучения? Все зависит только от ваших желаний и стремлений. Любые курсы — это только основа, главное — регулярная практика и решение прикладных задач. Обращаем ваше внимание, что, кроме описанных в статье, есть и другие проекты, которые готовят программистов под разные задачи: разработку игр, вычислительных кодов, интерфейсов или аппаратных средств, например, микроконтроллеров. И с каждым днем их становится все больше.

А как начать работать?

Для начала стоит найти небольшие проекты и задачи или реализовать собственные идеи, например, скрипты для Minecraft. Постепенно накопится опыт, а задачи станут все сложнее, интереснее и за их решение и написание кода вам будут платить хорошие деньги. Программирование хорошо тем, что навыки кодинга — универсальные и международные. Опытный программист способен найти работу где угодно, независимо от страны. Так что профессия программиста — это интересно и очень перспективно.

Читайте также: