Дарья Абрамова, «Кодабра» — о том, как увлечь ребенка программированием с помощью Scratch и MineCraft и как помочь ему создать первую компьютерную игру

Мнения
10 октября 2019

Дарья Абрамова, «Кодабра» — о том, как увлечь ребенка программированием с помощью Scratch и MineCraft и как помочь ему создать первую компьютерную игру

Далее

Кристина
Рудич

Контрибьютор

Кристина
Рудич

Контрибьютор

По данным U.S.News, профессия разработчика ПО вышла на первое место в топ-100 самых лучших работ в США, обойдя по привлекательности даже более высокооплачиваемые профессии врачей и юристов. Начать программировать ребенок может со школьной скамьи, и все, что ему понадобится — только компьютер. Тот же миллиардер Илон Маск получил свой первый компьютер, когда ему исполнилось 10 лет, а уже в 12, научившись программировать, он продал за $500 свою первую видеоигру. Основатель детской школы программирования «Кодабра» Дарья Абрамова рассказала «Хайтеку» о том, когда начинать учить ребенка программированию и зачем это нужно.

«Кодабра» — сеть школ программирования и цифрового творчества для детей и подростков от 6 до 17 лет. Школа основана в 2014 году. За пять лет работы обучение в ней прошли более 35 тыс. учеников. Площадки «Кодабры» расположены в Москве, Санкт-Петербурге, Екатеринбурге, Уфе, Калининграде и Казани. Школа объединяет 35 центров обучения. «Кодабра» — лауреат премии в сфере компьютерного образования Google RISE Awards, член международной ассоциации школ детского программирования IAYCE, призер конкурса инноваций в образовании (КИвО) Высшей школы экономики. Ежегодно с 2016 года «Кодабра» проводит фестиваль цифровых технологий Digital Fest for Kids and Teens, который собирает тысячи посетителей.

Дарья Абрамова — основатель и директор школы программирования и цифрового творчества «Кодабра». Выросла в закрытом военном городке Ногинск-9. После девятого класса поступила в московский колледж ИТ. Окончила технологический университет МИРЭА. Карьеру Дарья начала в компании Softline, за несколько лет выросла до менеджера по продажам облачных решений. Вместе с партнером Дмитрием Лоханским в 2014 году Дарья стала обучать детей программированию на волонтерских началах, создав социальный проект — школу программирования «Кодабра». Сегодня Дарья также является директором цифрового фестиваля для детей и подростков Digital Fest for Teens and Kids, выступает научным редактором книг по обучению детей программированию издательства МИФ. В 2018 году Дарья Абрамова получила премию «Импульс добра» в номинации «За вклад в развитие социального предпринимательства».

Программирование для самых маленьких

— Какой возраст ребенка идеален для того, чтобы начать преподавать основы программирования?

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

Фото: Кодабра

— Есть ли смысл сразу начинать с какого-то языка? Может, есть какие-то «кубики», из которых ребенок может построить свой первый «домик» — программу?

— Да, конечно, есть визуальные и блоковые языки, специально созданные для того, чтобы вовлекать детей в программирование и цифровое творчество. Они выглядят как LEGO — цветные блоки, которые соединяются друг с другом. И те, что по логике не совпадают, не стыкуются. Это сделано для того, чтобы дети не вводили код, не мучились с клавиатурой и быстро получали результат. Среди таких программ наиболее известна Scratch, она разработана в Массачусетском технологическом университете при поддержке Google. Язык создан специально для того, чтобы ребенок за 10–15 минут сделал свою игру. Там есть библиотека, фоны и цветные команды, позволяющие на экране собирать простейшую программу. Ребята в шесть лет могут создавать на Scratch свои компьютерные игры. Вся логика программирования там сохраняется (безусловно, она упрощена), а язык переведен на более чем 100 языков мира, в том числе на русский.

Если ребенку десять лет и более, то он может на Scratch создать несколько программ. Ему даже будет интересно, но быстро надоест. Дети часто говорят: «Что за детский сад?» — и хотят перейти уже на что-то более сложное. Одним из наиболее удобных для ребят является Unity — многофункциональный движок для разработки игр. Там тоже, безусловно, есть код (C#), просто его там меньше, часть задач берет на себя сама платформа. Это как раз подходит для тех, кто менее выдержан и хочет узнать больше про игровую разработку. Рекомендуется для 10–12 лет начинать с JavaScript и Python, это хорошие языки. Другой вариант для детей постарше — программирование в MineCraft. Это их любимая игра, в которой они все знают, умеют управлять, им все понятно и хочется там обрести какой-то суперскилл: возводить постройку по одной команде.

— С какого возраста ребенок начинает понимать основы алгоритмизации?

— Нет одинакового возраста, нужно просто давать ребенку пробовать. Понравится ему — пойдет создавать проекты. Не понравится — лучше не настаивать. В среднем знакомство с компьютером в «Кодабре» у детей происходит в шесть лет. Через MineCraft мы учим компьютерной грамотности, работать с компьютером, мышкой, клавиатурой и перемещать файлы в папках. Но это не происходит в каком-то скучном формате, они сталкиваются с задачами прямо в игре, начиная понимать устройство компьютера. В целом, как я вижу, в шесть лет им хочется попробовать создать свой первый проект. Бывает, что он попробовал, но хочет лучше пойти на теннис. Это нормально. Наша задача — вдохновить его, показать возможность создавать за компьютером. Через какое-то время он в любом случае вернется к этому, но у него уже осядут полученные знания, ему будет гораздо проще сделать следующий шаг.

Программирование для школьников

— Мой ребенок может сутками играть в компьютерные игры. В Windows он, пожалуй, уже лучше меня ориентируется, не говоря о зоопарке из гаджетов. Какой должна быть мотивация, чтобы заинтересовать его машинным языком?

— Ни в коем случае не та мотивация, которая была у нас в школе: «Давайте напишем “Hello world”». Это никого не впечатляет и не отвечает подростковым запросам. Поскольку ребята сидят в гаджетах, к ним и нужно приходить с их современными запросами, например, создать решебник математики или собственную мобильную игру. Да, она, может, и не будет круче тех, в которые он играет, но это не значит, что игра не станет популярной среди его друзей. Это будет определенный суперскилл, которым будет обладать только он. Сейчас в «Кодабру» приходит много ребят с запросом: «Хочу написать своего бота для покупки шмоток из интернет-магазинов». Например, бренд Supreme очень быстро раскупают, и с помощью бота можно успеть положить себе пару вещей в корзину до того момента, когда уже ничего не останется. Кто-то приходит с запросом: «Я хочу сделать свое приложение». Приходил парень, который делал обучающую игру по математике для младшего брата. Естественно, все зависит от интересов, но когда мы говорим про цифровые инструменты, там очень легко найти то, что будет интересно конкретному ребенку. Не по шаблону, а именно этому подростку, девочке или мальчику — нет гендерного различия или разницы между гуманитариями и технарями. Можно взять любую сферу, которая тебе интересна, будь то твоя будущая профессия или текущее увлечение, и сразу будешь круче остальных. Найти то, что даст мотивацию ребенку легко, дальше главное подпитывать его интерес различными фактами, собственной помощью, ресурсами. Может он привлечет друзей или харизматичного преподавателя, который будет общаться с ним на равных. И он начнет программировать свое приложение.

— Мне бы хотелось, чтобы ребенок попробовал себя в написании программ. С помощью чего мне его заинтересовать?

— Нужно заметить, чем он увлекается: играет, смотрит видеоролики, читает сайты на определенную тему. А дальше узнать: «Если бы ты умел создавать игры, какую бы создал?». Он скажет, что никогда не думал об этом. Если он начнет придумывать, какую бы игру создал, то: «Ок, вперед, давай попробуем, есть те же курсы “Кодабры”, книги, ролики на YouTube, давай попробуем создать игру». Пусть она будет поначалу простая, но ребенку будет уже понятно, готов он к созданию игры своей мечты или нет. Сейчас очень много выпускается книг по программированию у издательств «Альпина» и МИФ. Проще всего начать с курсов, потому что там такие же подростки, и они быстро находят общий язык и втягивают друг друга, к тому же — молодые преподаватели. Там сложно облениться, среда и ИТ-компания, в которой они учатся, создают такую тусовку, свободную и драйвовую атмосферу.

10 шагов для тех, кто хочет создать игру-лабиринт вместе с ребенком:

Открываем программу Scratch, если она установлена на компьютере, или открываем онлайн-редактор по ссылке.Выбираем главного персонажа. Его можно выбрать из библиотеки спрайтов, нарисовать или загрузить картинку с компьютера.Если нужно, уменьшаем размер персонажа, чтобы он не занимал весь экран.Дальше нам необходимо написать скрипт движения персонажа. Наш персонаж будет перемещаться вслед за указателем мышки. Для программирования будем использовать специальные блоки — команды. Все блоки разделены на разные категории, у каждой есть свое название и цвет. Скрипт достаточно простой. При старте игры в цикле повторяем команды поворота к указателю мышки и перемещения на несколько шагов вперед. Для запуска игры нужно нажать зеленый флажок.Можно настроить спрайт так, чтобы он не вращался. Для этого в свойствах спрайта нажимаем на блок «Направление» и выбираем там иконку с перечеркнутой стрелочкой. Теперь спрайт будет двигаться, но не будет вращаться.Далее нам нужно нарисовать лабиринт. Будем рисовать на фоне, который в Scratch называется «Сцена». Лабиринт сделаем черного цвета, в дальнейшем нам это понадобится. Чтобы попасть в редактор для рисования, щелкаем по области «Сцена» в нижнем правом углу Scratch и выбираем вкладку фоны.Рисуем лабиринт с помощью прямых линий. Сложность лабиринта может быть любой. Главное — следить, чтобы лабиринт был проходимым для нашего героя.Теперь нужно доработать скрипт героя, чтобы запретить касание стенок лабиринта. При касании стенок будем телепортировать героя на стартовую позицию. Нужные координаты можно узнать, переместив спрайт персонажа на стартовую точку. Добавим в игру возможность выиграть или проиграть. Для этого установим лимит времени, например, 30 секунд. На финише разместим какой-то бонус (новый спрайт). Если успеем добраться до него за 30 секунд, то мы победили, иначе — проиграли. Напишем второй скрипт для главного героя, который будет отвечать за выигрыш или проигрыш.Тестируем игру. Если нужно, изменяем размеры героя, сложность лабиринта, длительность игры.

— Как вы думаете, почему в российской школе этому уделяется столь запоздалое и поверхностное внимание?

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

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

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

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

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

Фото: Кодабра

— Школьное преподавание ИТ и программирования находится не просто на нулевом, а на отрицательном уровне. Но у нас по-прежнему появляются победители профильных олимпиад, наши молодые специалисты ценятся за рубежом. Кто же их этому учит?

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

Но у нас много сильных программистов и мало крутых, глобальных проектов, которые мы видим на мировом рынке. Нас не учат проектному мышлению, предпринимательству, не учат смотреть на создаваемую программу как на решение какой-то проблемы. Мы не создаем проекты, а работаем на кого-то, потому что умеем только решать задачи, но не думать на глобальном уровне. Но сейчас, помимо того, что дети самостоятельно увлекаются, есть курсы программирования, на которых ребята могут собственные увлечения математикой, наоборот, проявить. У нас много ребят, которые приходили с интересом к MineCraft, начинали программировать на JavaScript, потом переходили в игровую разработку и уходили как раз в математику — поступали в математические классы и лицеи. Они понимали, что математика позволяет им делать крутые игры. И я вижу, что тренд растет в регионах, в том числе, где «Кодабра» открывает свою франшизу. Детей, увлекающихся математикой, становится еще больше. Родители приходят к нам, как к экспертам, чтобы узнать о школе и подобрать верный подход к обучению ребенка, потому что он хочет дальше идти в фундаментальную науку, нейроинтерфейсы и нейронные сети. Старт ребята получают в «Кодабре» или другой школе, потому что это просто сделать, и потом на личном интересе дотягивают спецкурсами, книгами и долгими часами чтения.

Программирование и будущее

— И все же программировать может быть весело?

— Смотря кто, как и где. Когда маленькие дети программируют на блоковом языке, всегда весело. Поняв принцип, они добавляют разные команды, героев, дают им какие-либо задачи. В итоге у них один герой бегает за другим, поедает третьего, накидываются очки, происходит какая-то смешная неразбериха. Рыба может плавать вниз головой, человек драться со слоном. Естественно, это очень весело. Если говорить про ребят постарше и профессиональные языки программирования (Python, JavaScript, C#), то программирование становится не столько веселым, сколько вдумчивым — пропустишь в коде точку с запятой, и ничего не запустится. Вместо того, чтобы поиграть в игру, которую ты делаешь, сидишь и ищешь в коде ошибку, и не факт, что быстро найдешь. Но если задумка удастся, то ты счастлив и не жалеешь потраченного времени. В целом, профессиональный программист не скажет, что это весело. Скорее, очень интересно решать сложные задачи, и нужно тренировать мозг, чтобы понять, как эту задачу разобрать и отстроить. При этом с помощью кода можно сделать что угодно и чувствовать себя властителем мира, потому что любое желание может быть реализовано.

Фото: Кодабра

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

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

Источник

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *