Все новости
Как ребенку начать изучать программирование?
Как ребенку начать изучать программирование?
Как ребенку начать изучать программирование?
Как ребенку начать изучать программирование?
Как ребенку начать изучать программирование?

Как ребенку начать изучать программирование? Вместе с педагогами мы сделали инструкцию

© Gorodenkof/Shutterstock/FOTODOM
Стоит ли отдавать ребенка на курсы программирования в первом классе? А в девятом — не поздно? Как понять, есть ли у него способности? Чему конкретно учить, чтобы ему было интересно и полезно? На наши вопросы ответили преподаватели курсов для детей и подросток, который в 14 лет стал разработчиком в IT-компании. А еще мы собрали для вас школы и курсы, где детей учат бесплатно

Многие родители хотели бы, чтобы дети изучали программирование и впоследствии могли работать в IT. Действительно в России не хватает программистов, крупные компании не могут закрыть тысячи вакансий. В ближайшие годы, по их прогнозам, эта нехватка останется, а значит, в IT по-прежнему будут хорошие зарплаты и карьерные возможности. К тому же сегодня минимальное умение программировать — преимущество, как хороший английский. Знание, скажем, языка, позволяющего работать с данными, помогает во многих профессиях, далеких от IT: в журналистике, естественных науках. Но как сориентироваться — когда, где и чему учить ребенка? Разбираемся с педагогами и подростком, который уже два года работает в IT-компании и готовит обучающий курс для детей.

С какого возраста начинать? 

Сейчас много школ программирования для детей 1–3-х классов. Настоящему кодингу там не учат, детей знакомят с тем, как создаются программы. Для этого чаще всего используется обучающий язык Scratch — это и программа, где можно, как пазл, из блоков складывать игры, мультфильмы, простые задачи, и комьюнити, где все выкладывают свои проекты, их можно просматривать, как-то менять для себя. В магазинах продаются, например, машинки-конструкторы, которые нужно собирать и писать для них команду на Scratch. В программе обычной школы всему этому не учат. Но стоит ли нагружать ребенка так рано? 

"В большинстве школ знакомство с программированием начинается в седьмом классе в минимальных объемах — это поздно, —  считает Александр Паволоцкий, академический руководитель школьных программ "Яндекса", руководитель IT-профиля и учитель программирования в школе №1514. — В мировой практике с детьми начинают заниматься в начальной школе или до школы. В Белоруссии дошкольников учат программированию без компьютера — смысл в том, чтобы объяснить детям на пальцах, как устроена техника. Ребенку технологии кажутся очень простыми. У него есть телефон, планшет, он смотрит видео, играет в игры, кажется, все умеет. Он не задумывается, как и что работает. Это формирует поверхностное отношение к миру. Учить ребенка программировать нужно, чтобы донести мысль: железкой можно управлять, больше — с помощью знаний он может сам контролировать что-то в мире. Эту мысль воспитать в нем нужно как можно раньше. Это нужно попробовать всем детям. Не все дети захотят заниматься программированием в средней школе. Но каждый должен попробовать написать программу, которая заставит котика на экране ходить или робота ездить, — понять, что с помощью простых команд вы управляете машиной".

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

"Я считаю, что детям, которые учатся в математических, инженерных классах и склонны к техническим наукам, лучше начинать в восьмом классе. По моему опыту, чем младше класс, тем меньше детей, у которых все сразу получается. Я начинала занятия по программированию с одаренными шестиклассниками. Хотя сейчас мы замечаем, что дети развиваются раньше, возможно, еще дело в том, что информатику преподают в начальной школе. В прошлом году у меня был кружок из учащихся пятого класса. Многие дети смогли заниматься по той же программе, по которой раньше занимались шестиклассники. Но опоздать при наличии способностей невозможно: у нас есть примеры, когда, серьезно начав заниматься только в девятом классе, учащийся из неспециализированной школы Григорий Резников в 11-м завоевал золото международной олимпиады", — говорит Елена Андреева, член экспертного совета образовательного центра "Сириус", завкафедрой информатики специализированного учебно-научного центра МГУ. Она председатель жюри Открытой олимпиады по программированию и Московской олимпиады по информатике, член жюри заключительного этапа ВсОШ по информатике. 

При этом есть исключительные примеры, когда ребенок начал учиться программированию очень рано и добился больших успехов. "Ученик 11-го класса Егор Лифарь в этом году завоевал золотую медаль на 33-й Международной олимпиаде по информатике, и это его пятая медаль международных олимпиад, — продолжает Елена Андреева. — С ним брат начал заниматься программированием в первом классе".

Как понять, что ребенка нужно развивать в программировании?

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

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

Выяснить, насколько сильные способности у ребенка к программированию, помогут олимпиады по математике и информатике. "На школьном этапе по информатике для 5–6-х и 7–8-х классов в Москве мы стараемся давать такие задачи, чтобы все были в равных условиях: и дети из математических школ, и из обычных, — продолжает Елена Андреева. — Смысл в том, чтобы выявить способности, в том числе алгоритмическое мышление, у неподготовленного ребенка. Теперь подобную идею мы пытаемся распространить на составление вариантов для других регионов России". 

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

Участвовать в олимпиадах — важно?

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

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

"Успешное участие в олимпиадах — это билет в лучшие вузы РФ и даже мира, но с другой стороны — это синдром выжившего. На каждого победителя олимпиады сотни, а то и тысячи проигравших. Это сильно демотивирует, а по факту при приеме на работу гораздо важнее навыки и пул проектов, которые выполнил кандидат", — считает Александр Ефремов, руководитель методического отдела школы будущих профессий Skysmart Pro. 

"Собеседование в крупнейшие IT-компании проводят по олимпиадным задачам по информатике. Чтобы попасть туда — нужны знания алгоритмов, многие из которых изучаются как раз в процессе подготовки к олимпиадам. Немало бывших олимпиадников потом быстро обучаются технологиям, которые нужны для реального IT-сектора, и находят себя там. Но есть примеры, когда на олимпиадах человеку задачи решать нравится, а делать большие проекты, в том числе на работе, — не нравится", — говорит Елена Андреева.

Что изучать кроме программирования?

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

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

Можно учиться онлайн? 

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

"Даже если на онлайн-курсе есть индивидуальный контакт с преподавателем и ребенок мотивирован заниматься — это хуже, чем очные занятия с преподавателем. Совсем плохой вариант — когда ребенок полностью самостоятельно осваивает курс, как на степике или на курсере и на массовых онлайн-курсах", — говорит Александр Паволоцкий.

В целом можно учиться онлайн, если нет возможности отдать ребенка на очные курсы. "Но важно не оставлять ученика один на один с таким курсом. Важно, чтобы был наставник, который будет помогать. Онлайн-курс должен сопровождаться тем, что кто-то рядом при необходимости может подсказать или направить: учитель, родитель, брат, более опытный одноклассник. Учиться решению задач по программированию совсем самостоятельно могут только самые "звездочки", это единичные случаи. Когда мы занимались с 5–7-классниками по материалам, разработанным нами  в "Сириусе", была заметна  разница между дистанционным прохождением материала и смешанной формой работы, когда ребят можно направить, подсказать, помочь решить их проблемы. Ведь иногда учащийся не знает, где и как искать ошибку, что делать с неработающей программой", — говорит Елена Андреева.

Как сделать обучение интереснее?

Жора Бугаков — сотрудник онлайн-школы Skyeng. Ему 16 лет. В 14 лет его пригласили работать в компанию. Сейчас он в рабочей группе школы будущих профессий Skysmart Pro. Его история — тоже иллюстрация того, как надо поступить, если вы хотите, чтобы ребенок всерьез заинтересовался IT. 

"Учиться легче сразу на проектах, на абстрактной теории программировать не научишься. В нашей школе я предлагаю строить процесс так, чтобы ребята сначала придумали, что хотят сделать, нашли проблему, которая мешает им жить, и тогда уже приступили к решению. Например, сделать так, чтобы в чат класса отправлялось расписание уроков. Это то, что я с одноклассниками сделал, сидя на дистанте в 2020 году. Уроки проходили на Microsoft Teams, а расписание лежало в электронном журнале на мос. ру. Ссылки на встречи не подтягивались. Мы с ребятами написали сами прогу, которая копировала ссылки из Teams и отправляла нам в ТГ-чат", — говорит он.

Отец начал заниматься с ним в дошкольном возрасте. "Мне было шесть-семь лет, когда папа принес домой программную плату c кучей светодиодиков и всяких механических штук, мне стало интересно, как это работает, — вспоминает Жора Бугаков. — В итоге я запрограммировал незамысловатый моторчик, и получилась игрушка для кота: робот катался по полу и светился, кот за ним с радостью гонялся. Я понял, что создал вещь, которая автоматизирует действия людей, что при желании машине можно объяснить, что ты от нее хочешь, и решил дальше разбираться во всем этом. Мой отец из IT и способствовал моему увлечению. Я стал копатьcя в программах, попробовал язык программирования C++. В восемь лет засел за Scratch. Не помню, что было раньше — мои знания в английском или навыки программирования, — но постепенно и то, и другое совершенствовалось. Мой английский первоклассника был, конечно, не супер, но его хватало, чтобы нагуглить, что нужно, и писать код. Плюс я много смотрел английский YouTube и TED Talk с субтитрами, так что быстро стал программировать сам и читать код других". 

Где учиться программированию?

Бесплатно:

  • Онлайн-курс "Введение в программирование на языке Python" в образовательном центре "Сириус". На этом курсе дают базовые знания программирования, помогают написать первую программу, знакомят со структурами данных и особенностями работы с ними. Для начала учебы умение программировать не требуется — достаточно знаний математики за седьмой класс. Авторы курса — преподаватели ведущих школ и вузов, действующие педагоги очных программ "Сириуса". Набор идет до 31 октября.   
  • Курс "Алгоритмы и анализ данных" в "Сириусе" набирает участников по конкурсу. В приоритете победители и участники олимпиад. Им придется выполнить дополнительные задания и пройти дистанционный отборочный курс. Подробнее здесь
  • В 2022 году откроется набор на бесплатные двухгодичные курсы по программированию для учеников 8–10-х классов. Это программа Минцифры России в рамках федерального проекта "Кадры для цифровой экономики".
  • Каждый год "Лицей Академии Яндекса" набирает по конкурсу талантливых школьников 8–10-х классов на бесплатные двухлетние очные курсы по программированию. На первом курсе ученики изучают основы Python — языка программирования, востребованного как в IT-компаниях, так и в научной среде. Второй курс посвящен промышленному программированию. Подростки пробуют свои силы в разработке веб-приложений, чат-ботов, пользовательских интерфейсов. В этом году набор длился до 10 сентября. Он повторится следующей осенью. Узнать больше о программе, условиях поступления можно здесь.

За деньги:

  • Онлайн-платформы "Алгоритмика", "Учи.ру", "Фоксфорд", Skysmart Pro и другие предлагают курсы для начальной школы в пределах 1 тыс.  рублей в месяц. Для старших классов дороже. Например, курс программирования на Python в "Фоксфорде" — 5, 2 тыс. рублей в месяц, длится полгода.

С льготами:

  • Некоторые IT-профессии можно освоить с льготами от государства. "Цифровые профессии" — это проект федеральной программы "Кадры для цифровой экономики", который позволяет гражданам России получить дополнительное профессиональное образование в IT с финансовой поддержкой в размере 50% стоимости обучения. Доступно подросткам с 16 лет. Можно выучиться на разработчика, тестировщика, аналитика данных, руководителя проекта. Подробности здесь.

Анастасия Акулова