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


В начале хочу поделиться с Вами отрывком из книги «Геймификация в бизнесе» Гейба Зикерманна и Джоселин Линдер:
Для съёмок телешоу «Авиаторы» Реми, 12-летнего мальчика, привели к профессиональному авиационному симулятору практически с улицы. Дав мальчику минимальные инструкции, его попросили провести посадку «Боинга-737» в аэропорту Лос-Анджелеса (на компьютере, разумеется), опираясь только на наблюдаемые условия полета, без подсказок автопилота. Это было задание, с которым в реальном мире способны справиться только опытные пилоты. Без какой-либо подготовки Реми за считанные минуты благополучно посадил воздушное судно и подвел его к телетрапу в одном из самых загруженных аэропортов мира.

«Они [подростки] очень быстро понимают, что к чему, потому что в них есть компьютеры и видео-игры и такие ситуации для них — привычное дело», говорит владелец симулятора.

Современные дети выросли на играх, на реальности, которая существенно изменила их сознание и наш мир. Практическое медиаисследование выявило, что 70% родителей позволяют своим детям, даже младенцам, пользоваться этими устройствами (планшетами и смартфонами). Более того, исследование также показало, что в 2010 году 38% детей возрастом меньше восьми лет пользовались смартфоном или планшетным компьютером, в том числе 10% составляли дети до года. Одобряете выбор родителей или нет, но вам не остаётся ничего другого, кроме как смириться с фактами: так воспитывают сотрудников и потребителей будущего

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

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

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

Давайте вместе попробуем создать игру в Scratch и сделать первые шаги в программировании.

Инструкция по созданию игры «Вертолёт» на Scratch


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

Суть игры: вертолет летает по небу, где в хаотичном порядке летают облака. При столкновении с облаком вертолет говорит «Ouch» и ему прибавляется 1 штрафное очко. Как только он столкнется с облаками 10 раз, игра закончится и пользователю предложат попробовать сыграть ещё раз. Есть и другой элемент, полезный — ягодки. Они также будут появляться в различных частях экрана и касание с ними будет убирать одно штрафное очко. Если наберёте минус 5 штрафных очков, то победите и фон сменится на поздравительный!

Подготовительный шаг


Ознакомьтесь, пожалуйста, с интерфейсом Scratch.
Интерфейс Scratch от Эду-Крафт

Шаг первый: фон


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

Основной фон

Второй фон мы возьмём из галереи. Над картинкой первого фона выбираем первую кнопку Выбрать фон из библиотеки . Тема — «Музыка и танцы», картинка — «Party».

Выбираем элемент Вставить текст — буква «Т» сразу над заливкой, щелкаем в любом месте и пишем «You Win!». Scratch воспринимает только английский язык, поэтому не пытайтесь именно здесь писать русскими буквами. После окончания ввода нажмите один раз левой кнопкой мыши рядом с текстом и вокруг него появится рамочка при помощи которой его можно будет растягивать и перемещать.

Шаг второй: спрайты


Кнопка для создания спрайтов в Scratch

Все спрайты выбираются из галереи. Под сценой вы найдете текст «Новый объект» и кнопку с картинкой для добавления нового спрайта из библиотеки.
Раздел Транспорт > «Helicopter» (вертолёт) > выделить и нажать внизу ОК.
Раздел Предметы > «Button2» (кнопка) > выделить и нажать внизу ОК.
Раздел Предметы > «Holly» (ягодка) > выделить и нажать внизу ОК.
Раздел Предметы > «Cloud»Облако > выделить и нажать внизу ОК.

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

Шаг третий: корректировка спрайтов


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

Удаление костюмов в Scratch

Для того, чтобы написать текст «Restart», воспользуйтесь алгоритмом указанным для написания текста на фоне.

Шаг четвертый: код для спрайта вертолета


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

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

Чтобы сделать оранжевый элемент «Счет», заходим в категорию ДанныеСоздать переменную, печатаем на клавиатуре слово «Счёт» и нажимаем ОК — автоматически появятся блоки оранжевого цвета для работы с переменной.



Шаг пятый: код для облака


Под сценой выделяем спрайт облака.



Шаг шестой: код для кнопки


Под сценой выделяем спрайт кнопки.



Шаг седьмой: код для ягодки


Под сценой выделяем спрайт ягодок.



Шаг восьмой: код для фона


Выделяем фон слева внизу.



Шаг девятый: сохранение игры


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

Поле названия проекта в Scratch

Шаг десятый: запуск игры


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

Комментарии (15)


  1. johny24
    01.03.2016 11:39

    Огромнейшее, человеческое спасибо за Вашу статью!!! Сколько же я искал что то подобное для своего младшего брата, то что он пользуется огромным количеством современных гаджетов это да, от смартфона и компьютера с Майнкрафтом, до квадрокоптера с видеокамерой. Но это все не то, мне хотелось показать ему именно сторону разработчика, понятным языком (хотя таковым не являюсь, но всегда было жутко интересно, как же там внутри устроенно, и кое в чем разбираюсь). писали с ним простейшие функции на javascript, делали однорукого бандита на jquery, и иногда у него проскакивал блеск в глазах, видя, как получается настоящая "магия", которую мы сделали только что вместе, ну а теперь с таким сервисом… Еще раз спасибо!


    1. EkaterinaEduCraft
      01.03.2016 12:02

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


      1. johny24
        01.03.2016 12:06

        На выходных хотим попробовать, если появятся, конечно напишем, спасибо!


  1. handicraftsman
    01.03.2016 15:51

    Я считаю, что начинать обучаться программированию надо не с графической игрушки, а с простого языка + простой графической библиотеки. Скажем, Vala или Lua (ну или Python) в связке с GTK.


    1. sm00ther
      01.03.2016 18:26

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


      1. EkaterinaEduCraft
        01.03.2016 21:50

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


        1. handicraftsman
          03.03.2016 15:37

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


  1. potan
    01.03.2016 17:12
    +1

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


    1. EkaterinaEduCraft
      01.03.2016 21:59

      Да Colobot очень интересный проект, мы изучали данное приложение и можем заключить, что играть в него лучше с возраста 12 — 14 лет (в зависимости от подготовки). Однако Scratch скорее язык программирования со средой разработки, а не игра. И возможно, в ближайшем времени мы увидим новые инструменты/игры, помогающие превратить ребенка в создателя/творца своих проектов.


  1. vlad_sh
    01.03.2016 22:10

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


    1. EkaterinaEduCraft
      01.03.2016 22:13

      vlad_sh, спасибо за данный комментарий. Действительно это очень полезный инструмент для быстрого и легкого создания прототипа.


  1. scratch_book
    02.03.2016 14:45

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


    1. EkaterinaEduCraft
      02.03.2016 16:30

      Денис (@scratch_book), спасибо за конструктивный отзыв. Добавим данные корректировки.


  1. shperk
    02.03.2016 15:48

    Статья странная. Я бы на месте автора рассказал прежде всего не об программировании блоками (это умеет делать и Blockly, использующий тот же язык, и на сайте code.org есть куча подобных задачек для детей).
    У scratch самое интересное — это его сообщество. Ребенок, придя на сайт Scratch, попадает в правильное сообщество созидателей. Там можно и поиграть, но, играя, еще и одновременно "переворачивать листок" и подсматривать, как это сделано. И — переделать, доделать чужую работу (по сути, это такой github для детей).
    Впрочем, и за эту статью спасибо. Вижу, что для многих читателей сам факт существования Scratch оказался открытием. Так что, наверное, у вас есть своя благодарная аудитория.
    Теперь пару комментариев от занудливого учителя информатики, который уже много лет использует Scratch с детьми.
    Коллега совершенно верно поправил выше весьма идиотское применение блока "повторяй пока". Подобное применение абсолютно методически безграмотно и может выработать у ребенка неправильный паттерн использования конструкций.
    К сожалению, вы решили не описывать в этом проекте свойства спрайтов, в результате чего при нажатии стрелки вверх вертолет будет лететь винтом вбок, что абсолютно не вяжется с естественным положением вещей. Если на этом этапе не хочется говорить о свойствах объектов (в частности, о "поворачиваемости"), то стоило бы использовать другой объект — птичку или ракету.
    С другой стороны неоправданным представляется использование клонов в программе начального уровня. Без них вполне можно было бы обойтись, просто продублировав спрайты. было бы полезнее.
    Как это часто бывает, когда за создание учебных заданий для детей берутся не педагоги, а простые обыватели, эти задания выглядят очень случайными. Впрочем, скратч таков, что его не испортишь даже самым дилетантским подходом. Так что ждем новых материалов, и не бойтесь ошибаться.


    1. AVGEdu-craft
      03.03.2016 12:33

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

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