Цифра зовет
Мария Портнягина — о буме курсов программирования для детей
Прошедший недавно международный форум «Открытые инновации» обсуждал поражающие воображение перспективы дивного нового цифрового мира. То, что это не только фантазии футурологов, подтверждает новый тренд: в стране бум на курсы программирования для детей. Родители, вдохновленные карьерами юных и успешных компьютерных гениев во всем мире, видят в программировании новый социальный лифт. Куда он вывезет, выяснял «Огонек»
Кто называет программирование новой грамотой, кто — грамотой XXI века, в любом случае апологеты цифрового мира настаивают: без базовых навыков в программировании перспективы на рынке труда выглядят туманными. Действующая система образования, увы, не справляется с вызовами времени. Отсюда и нехватка айтишников в стране. И, ко всему прочему, взятый государством курс на цифровизацию.
Спрос рождает предложение, и вот сначала в Москве и Санкт-Петербурге несколько лет назад появились первые курсы программирования — специально для детей. Сегодня детские школы программирования размножились от Калининграда до Владивостока.
Мыслить по-новому
Лидер по обучению детей программированию — США. За ними следуют страны Западной Европы. Россия догоняет.
Началось все более полувека назад. Во второй половине 1960-х годов специалисты Массачусетского технологического института разработали ЛОГО — первый в мире язык программирования, предназначенный для обучения детей. В 1970-х он активно внедрялся в американских школах. Тогда была популярна идея, что, дескать, программирование способствует развитию у детей важнейших когнитивных навыков (включая умение планировать и организовывать свою деятельность), а также математических способностей и абстрактного мышления. Исследования, правда, показали, что влияние программирования на развитие умственных способностей детей — незначительно. Но эксперимент продолжился, и, опираясь уже на более обширные данные, ученые выявили некоторые положительные эффекты.
Установлено, что благодаря занятиям программированием дети начинают проявлять интерес к изучению математики, у них увеличивается словарный запас, развивается творческое мышление. Вопреки распространенному мнению, что программисты замкнуты и необщительны, серия исследований показала: обучение программированию способствует социальному и эмоциональному развитию детей. Дети, обучающиеся программированию, тесно общались со сверстниками, активно участвовали в групповых мероприятиях и делились с ровесниками полученными знаниями.
К популярной теме подключились и наши исследователи. Так, российские специалисты из НИИ системных исследований РАН (НИИСИ), изучавшие процесс обучения программированию 6-летних детей, выяснили: для положительного эффекта одних упражнений на компьютере мало, нужны также задания на бумаге и занятия в группе.
«Понятие грамотности сегодня расширилось,— отмечает завотделом учебной информатики НИИСИ РАН, разработчик обучающих систем программирования КуМир и ПиктоМир Анатолий Кушниренко.— Различают компьютерную грамотность, причем сюда относится не только умение нажимать на нужные кнопки, но представление о программном обеспечении, понимание, как работает компьютер, как оптимально использовать компьютер при решении конкретных задач. И есть более широкое понятие — алгоритмическая грамотность».
Она подразумевает, что достижение какого-либо результата требует составления плана — программы будущей деятельности (отсюда, кстати, и слово «программирование»). Эта культура, по словам Кушниренко, должна формироваться с детства. И, например, опрометчиво взятый кредит — свидетельство как раз несформированности в человеке такой культуры.
Хорошее дело
Опрос
Родители видят в программировании перспективу для своих детей и относят информатику к наиболее важным предметам в школе
Кем вы хотите видеть вашего сына/дочь/внука/внучку? (допускалось больше одного ответа, указаны наиболее популярные, в % от числа опрошенных)
1. Врачом 20
2. Предпринимателем, бизнесменом 15
3. Программистом, специалистом в области высоких технологий 15
4. Юристом, экономистом, финансистом 15
5. Военным, офицером 15
Как вы считаете, преподаванию каких школьных предметов сейчас следовало бы уделить наибольшее внимание? (допускалось больше одного ответа, указаны наиболее популярные, в % от числа опрошенных)
1. Истории 49
2. Русскому языку 43
3. Математике 37
4. Иностранным языкам 28
5. Компьютерной грамотности, информатике 24
Источник: «Левада-центр», август 2018 года
Возраст для старта
Оптимальным возрастом, чтобы начать учиться программированию, считают 8–9 лет, когда ребенок уже умеет читать и писать. Еще лучше, если он хотя бы на базовом уровне владеет английским языком, все же именно английский — рабочий язык в среде программистов. При всем этом школы программирования для детей находят способы снизить возрастную планку.
— Мы начинаем обучение с 3 лет,— говорит основатель международной Школы программирования для детей Coddy Оксана Селендеева.— Сначала программы у нас были рассчитаны на детей от 6 лет. Но, побывав в школе программирования в Испании, мы увидели, как дошкольники успешно учатся кодить. И тогда мы тоже разработали курс для самых маленьких. Дети программируют на планшете, потому что он понятен и интуитивен.
Чему именно обучают? Малыши создают простейшие игры и мультфильмы.
Существуют специальные обучающие программы для дошкольников: Tynker, ПиктоМир, Box Island, с помощью которых родители и самостоятельно могут заниматься с ребенком.
Учить программированию ребят младшего школьного возраста можно на Scratch — это система, созданная для обучения детей опять же в Массачусетском технологическом институте в 2000-е годы: она есть в открытом доступе в интернете и переведена более чем на 70 языков, включая русский.
Детей в возрасте 7–8 лет учат составлять программы в игровой среде Minecraft, делать 3D-игры и анимацию в Scratch. Ребят чуть постарше обучают созданию игр и приложений на Android, flash-игр на полупрофессиональном игровом движке. Программисты 10–11 лет создают свои первые браузерные игры на языке JavaScript. Ребята в возрасте 12–14 лет продолжают осваивать язык Java, разрабатывают игры и приложения под Android, а также создают сайты.
Прибыль от ума
Деньги
Программистов в России не хватает, и шестизначные суммы среди них ежемесячно могут зарабатывать не только начальники
Оплата труда руководителей в области ИТ (рублей в месяц)
Максимальное предложение на рынке / Среднерыночная зарплата
Директор по ИТ 600 000 / 270 000
Руководитель отдела разработки ПО 500 000 / 225 000
Директор по информационной безопасности 500 000 / 220 000
Системный архитектор 350 000 / 175 000
Руководитель ИТ-отдела 350 000 / 165 000
Руководитель отдела тестирования 300 000 / 165 000
Оплата труда программистов и разработчиков (рублей в месяц)
Максимальное предложение на рынке / Среднерыночная зарплата
Программист Java 470 000 / 160 000
Программист Ruby 300 000 / 140 000
Программист JavaScript 280 000 / 125 000
Разработчик iOS 250 000 / 140 000
Разработчик Android 250 000 / 140 000
Программист PHP 250 000 / 140 000
Программист C++ 250 000 / 130 000
Программист Python 220 000 / 122 000
Программист баз данных 200 000 / 130 000
Программист «1С» 200 000 / 125 000
Источник: Superjob, сентябрь 2018 года
Исходный код
Больше половины российских родителей, согласно опросам, отдают своих детей в различные кружки — от макраме до фехтования. Так, и программирование формально не новинка. Школьные кружки, в которые учителя информатики собирают увлеченных учеников, — давняя практика. Действуют похожие кружки для школьников и при крупных вузах (МГУ, МГТУ им. Баумана), но они больше ориентированы на старшеклассников, будущих абитуриентов. Проекты по обучению школьников программированию ведут крупные отечественные и зарубежные ИТ-компании — и это мировой опыт. А вот как новая коммерческая образовательная ниша курсы программирования для детей стали появляться в России около 3–4 лет назад.
— Первоначально это были локальные инициативы на волонтерских началах: например, папа-программист проводил занятия для своего ребенка, детей друзей,— рассказывает основатель и CEO сети школ программирования и цифрового творчества «Кодабра» Дарья Абрамова.— Коммерческие проекты стали возникать позже и активнее всего в последнюю пару лет. Обучение проходит по разным направлениям: создание компьютерных игр, мобильных приложений, сайтов, 3D-моделирование...
Учатся на таких курсах в основном мальчики. Девочки отдают предпочтение веб-дизайну и созданию видеороликов.
— Цели обучения могут быть разными: начиная от знакомства с программированием «для общего развития» заканчивая получением навыков для будущей профессии. Поэтому курсы по программированию можно условно разделить на две группы,— объясняет основатель курсов программирования для школьников «Цифра» Михаил Дошевский.
Первая группа — это «игры в программирование»: дети там не программируют так, как программируют профессиональные программисты, не пишут код, не используют профессиональные инструменты. Занятия на таких курсах напоминают игру, обычно нужно перемещать мышкой блоки на экране и составлять из них последовательность для управления игровыми персонажами. Такие курсы предназначены для детей от 5 до 10–11 лет. При правильном подходе такие курсы могут развивать логическое мышление и понимание основ алгоритмов.
Вторая группа — это «настоящее программирование». Такие курсы рассчитаны на детей старшего возраста. Там детей учат писать настоящие программы, мобильные приложения, сайты — все то, что делают профессиональные программисты. Сюда же относятся курсы, которые готовят ребят к участию в соревнованиях и олимпиадах по программированию.
Алгоритм выбора
Специалисты московского Института современных медиа опросили более 7 тысяч родителей и 3 тысячи детей в возрасте 8–14 лет, чтобы узнать, что сегодня интересует так называемое поколение Z. В списке увлечений: компьютерные игры, блоггинг, мессенджеры, соцсети, мультипликация.
— Программирование — увлекательное занятие, позволяющее своими руками создавать целые миры, а еще перенаправить внимание ребенка с потребления игрового и видеоконтента в более продуктивное русло,— считает гендиректор компьютерной академии «ШАГ» в РФ Павел Специан.— Современная школа должна охватывать наиболее актуальные ИТ-направления: разработку программного обеспечения, компьютерную графику и дизайн, а также сетевые технологии и системное администрирование. Наиболее продвинутые школы включают в свои программы развитие у детей навыков ИТ-предпринимательства, командной работы, работы с заказчиком.
Хорошую школу отличает предварительное тестирование, по результатам которого подбирается курс, отвечающий интересам ребенка.
— Родителям стоит узнать, по какому принципу организаторы подбирают курсы для учащихся, потому что помимо возраста еще надо смотреть на темперамент, характер, увлечения,— отмечает Оксана Селендеева.— Допустим, ребенок — фанат математики, а по темпераменту — интроверт. Тогда программирование игр, скорее всего, ему не подойдет: он будет скучать на занятиях. А вот курсы по созданию сайтов, программированию на JavaScript или Python могут его заинтересовать.
Недетский успех
«Огонек» представляет юных программистов, которые уже добились высоких результатов. Интересно, что все они родом из стран Азии, где программирование служит социальным лифтом, который дает шанс преуспеть в жизни, устроиться в крупную ИТ-компанию и даже переехать на Запад
Разобраться в себе помогает модульная система обучения, распространенная на детских курсах программирования. Это означает, что ребенка можно перевести с одного направления, которое «не пошло», на другое, не начиная «с нуля». Обычно модуль длится 2–3 месяца, в неделю это занятие продолжительностью 1,5 или 3 часа (от 800 до 1400 рублей за час, но может доходить и до 3 тысяч рублей).
— Мы организуем выездные проектные занятия и городские лагери на площадках университетов и компаний, хакатоны, митапы, офлайн и онлайн-курсы,— рассказывает директор школы программирования GoTo Алена Ильина.— К обучению мы приглашаем ребят, которые уже имеют хотя бы небольшой опыт в программировании, обычно от 13 лет. В школе есть программы по машинному обучению, биоинформатике, функциональному и системному программированию, алгоритмам и их приложениям, информационной безопасности, распределенным системам, робототехнике, интернету вещей... Важно понимать, что обучение детей должно опираться не только на тренды ближайших лет, ведь индустрия меняется очень быстро. Надо развивать универсальные компетенции, которые с большей вероятностью пригодятся в будущем.
Проводники знаний
Три кита, на которых стоит почти любая школа программирования,— это техническая оснащенность, обучающая программа и, главное, преподаватели. Чем больше становится курсов и школ программирования для детей, тем острее ощущается нехватка хороших преподавателей.
— Больше всего преподавателей — студенты старших курсов профильных факультетов и вузов,— говорит Дарья Абрамова.— Им хочется развивать свои навыки, получить опыт работы. Для них это и источник дохода, и возможность находиться в своей среде, получать драйв от общения с единомышленниками, пусть и детьми. Вторая группа — это опытные айтишники. Их гораздо меньше, им нравится передавать знания, и они занимаются преподаванием в свободное от основной работы время. Средний возраст в этой группе — 30–35 лет. Совсем небольшая группа — школьные учителя информатики, которым тесно в школьных образовательных стандартах.
Крупные школы программирования для детей, как правило, сами обучают преподавателей: помимо основных профессиональных навыков от них требуется умение работать с детьми. Ведь, допустим, мотивировать ребенка заниматься совсем не то, что взрослого.
— В учебный процесс включаются элементы геймификации,— объясняет Павел Специан.— За хорошие показатели в учебе (успеваемость, посещаемость, работа на уроке, выполнение домашних заданий) у нас маленьким студентам начисляются кристаллы и коины, которые, например, можно потратить на специальном маркете: от канцелярских товаров до дрона.
Поскольку эта образовательная ниша молодая и только формируется, организаторы курсов, в принципе, склонны экспериментировать.
— У нас нет групп и расписания, приходить можно в любое время и находиться в школе хоть целый день,— рассказывает Михаил Дошевский.— Мы используем комбинацию самостоятельного и индивидуального обучения. Ученики самостоятельно изучают материалы, выполняют задания и работают над проектами. Преподаватель общается отдельно с каждым учеником, помогает понять сложные темы, проверяет задания. Нет такого, чтобы в группе были «слабые» и «сильные». Каждый ученик идет в своем темпе, как ему комфортно.
Прагматика будущего
По прогнозу Всемирного экономического форума, к 2022 году развитие искусственного интеллекта приведет к исчезновению 75 млн рабочих мест, вместе с тем появится 133 млн новых. Сейчас компьютеры выполняют 29 процентов рабочих операций, в 2025 году, как прогнозируется, будут выполнять 52 процента. Это серьезный вызов для рынка труда. Одним из ключевых трендов является высокий спрос на ИТ-специалистов.
— Рынок информационных технологий — это по-прежнему рынок соискателей: их не хватает, поэтому они диктуют условия работодателям, в том числе и зарплатные,— говорит руководитель службы исследований HeadHunter Мария Игнатова.— В последние годы ИТ-сфера чуть ли не единственная в нашей стране, где зарплаты растут. Низкая конкуренция среди кандидатов дополняется еще и тем, что постоянно появляются новые специальности. Те, кто их освоил или знает узкоспециализированные языки программирования, оказываются в привилегированном положении.
По словам эксперта, если в других областях наличие опыта работы — обязательное требование, то в ИТ ребят рекрутируют, начиная с третьего курса вуза. Компании отслеживают талантливую молодежь на олимпиадах, конкурсах. Мобильность ИТ-специалистов выше среднего по рынку. Их перекупают конкуренты, они уезжают работать за рубеж. Мотивом для переезда является не только более высокая зарплата. «Объективно Россия в технологическом отношении отстает от стран Запада, так что для некоторых переезд — это и возможность развиваться, быть на передовой технологического прогресса»,— замечает Мария Игнатова.
Сегодня каждая седьмая вакансия в России — из области информационных технологий, ее доля на рынке труда лишь растет: за пару лет — с 10 до 12 процентов (впереди только торговля — 35 процентов).
Эксперты подчеркивают: минимальные навыки программирования становятся частью базовой грамотности человека XXI века. Однако немало и тех, кто критически относится к обучению детей программированию.
По данным International Federation of Robotics, если в 2015 году в мире на 10 тысяч сотрудников в среднем приходилось 66 роботов, то в 2016-м — уже 74. По автоматизации производства лидирует сегодня Южная Корея (631 робот на 10 тысяч сотрудников), за ней следуют Сингапур (488), Германия (309), Япония (303), Дания (201), США (189).
«Мы понятия не имеем о том, на что будет похож мир и рынок труда через несколько лет, не знаем, какие конкретно навыки понадобятся людям. Мы можем заставлять детей писать на С++, а потом обнаружить, что к 2050 году искусственный интеллект может программировать ПО намного лучше людей,— рассуждает известный израильский историк и футуролог Юваль Ной Харари.— Школы должны переключиться на обучение четырем К — критическому мышлению, коммуникации, коллаборации (сотрудничеству) и креативности. То есть уделять меньше внимания техническим навыкам в пользу общих жизненных навыков. Иными словами, школьников нужно учить способности справляться с изменениями, изучать новые вещи и сохранять душевное равновесие в нестандартных ситуациях».
Доступная веб-разработка
Опыт
Помимо коммерческих в России появляются волонтерские проекты, обучающие детей программированию. Наиболее известный из них — «Кружок»: команда программистов из Москвы и Санкт-Петербурга организует в регионах занятия для подростков. О проекте рассказывает его сооснователь Александр Патлух
Идея нашего проекта в том, чтобы в регионах, куда не добираются известные школы программирования, тоже был доступ к технологическим знаниям. Проект ориентирован не на обучение программированию как навыку, основной фокус — расширение технологического кругозора: мы стремимся показать подросткам, что кодинг — интересное творческое занятие, доступное каждому.
«Кружок» организует бесплатные недельные школы, и за это время подростки успевают понять основы верстки сайтов, у них появляется новая среда для самовыражения. Мы провели такие школы уже в десяти населенных пунктах: Воткинске, Вязьме, Калуге, селе Глазок, деревне Сардаял, Новороссийске, Гусь-Хрустальном, Тарусе, Балтийске и селе Хрюг. Мы — это команда из 5 человек. Трое занимаются непосредственно кодинг-преподаванием, двое — методической поддержкой, организационными вопросами. Еще у нас есть видеоотдел, состоящий из продюсера, оператора и монтажеров, которые снимают кино про «Кружок».
Обычно занятия проходят по три часа в будние дни и по пять часов в выходные в течение недели. В будни мы изучаем с ребятами основы верстки сайтов, пишем учебный код, на выходных собираем веб-проект о месте, в которое приезжаем, показывая его глазами самих учеников. Дальше, после учебной недели, мы создаем чат и общаемся с учениками. Ребята там делятся разными новостями из мира технологий, а те, кто продолжает кодить, задают вопросы — мы отвечаем.
Когда мы искали первые места для проведения занятий, нам приходилось объяснять, зачем мы приедем, что будем делать и почему все это важно. После поездки в село Глазок, сайт о котором отметили пресса и дизайн-сообщество, «Кружок» стали приглашать в разные города, села и деревни. Обычно место выбирается по трем параметрам — это должен быть небольшой населенный пункт, где есть дефицит дополнительного технологического образования и находится инициативный местный житель, готовый собрать группу учащихся и уладить организационные вопросы.
Примечателен случай с деревней Сардаял, где во время нашей кодинг-школы родилась идея организовать культурный фестиваль. Он прошел в конце лета и привлек на окраину Республики Марий Эл более 200 гостей из разных уголков страны, в том числе известных музыкантов, художников, активистов в сфере образования.
Почему важно учить детей основам алгоритмов, осмысленному взаимодействию с компьютером? Алгоритмы помогут ребенку организовать свою жизнь в будущем, позволят использовать инженерный тип мышления при решении бытовых, учебных, а затем и профессиональных проблем. Разумеется, обучение программированию — лишь часть гармоничного развития, нужно развивать вкус и социальные навыки.