Что такое Scratch и чему ребёнок научится в блочной среде

Scratchобновлено 07.10.202610 мин чтенияесть тренажёр

Scratch для детей — это бесплатная визуальная среда программирования, в которой программу собирают из цветных блоков, как из конструктора, а результат сразу видно на сцене: персонажи двигаются, говорят и реагируют на клавиши. Её создали в MIT Media Lab, и по замыслу авторов она рассчитана прежде всего на школьников 8–16 лет.

Загружаем…

Что такое Scratch и кто его создал

Scratch — это среда и язык блочного программирования, который разрабатывает группа Lifelong Kindergarten в MIT Media Lab, а поддерживает некоммерческая организация Scratch Foundation. Пользоваться им можно бесплатно, без рекламы и платных уровней.

Главная идея Scratch — убрать из первых шагов всё, что пугает новичка. В нём не нужно помнить синтаксис, ставить скобки и двоеточия: блок либо защёлкивается с соседним, либо нет. Поэтому синтаксических ошибок здесь не бывает вовсе, а ребёнок думает о сути — что должен сделать персонаж и в каком порядке. Авторы среды описывают её формулой «низкий порог, высокий потолок»: первая программа собирается за минуту, а предел сложности проектов очень высокий[1].

Руководитель группы Lifelong Kindergarten Митчел Резник объясняет подход через четыре «P»: проекты, увлечённость, сверстники и игра. Ребёнок учится, когда делает что-то своё, когда ему интересно, когда может показать работу друзьям и когда процесс похож на игру[2]. Из этого выросло сообщество, которое поддерживает Scratch Foundation: проекты можно публиковать, смотреть чужие и делать «ремиксы» — копии со своими изменениями.

Как устроена программа в Scratch

Программа в Scratch состоит из 3 частей: сцены, на которой всё происходит, спрайтов — персонажей и предметов, и скриптов — цепочек блоков, которые управляют каждым спрайтом. У каждого спрайта свои скрипты, костюмы и звуки.

Сцена имеет размер 480 на 360 точек, центр находится в точке (0, 0). Когда вы открываете новый проект, на сцене уже стоит рыжий кот — первый спрайт. Слева расположена палитра блоков, разделённая по цвету на категории: синие блоки двигают, фиолетовые меняют внешний вид, жёлтые отвечают за события, оранжевые управляют порядком выполнения. Блоки перетаскивают мышкой в центральную область скриптов и соединяют в столбик сверху вниз.

когда щёлкнут по флажку
повторить 10 раз
    идти 10 шагов
    следующий костюм
    ждать 0.2 секунд

Этот скрипт из 5 блоков заставляет кота пройти по сцене, перебирая ноги: смена костюма создаёт анимацию шага. Подробно каждая часть окна разобрана в статье про интерфейс редактора Scratch, а работа с персонажами — в уроке о спрайтах и костюмах.

Чему учит Scratch для детей

Если разложить Scratch на понятия, получится то же, что изучают в любом языке программирования: последовательность команд, циклы, условия, события, параллельные процессы, операторы и данные. Карен Бреннан и Митчел Резник выделили именно эти 7 концепций вычислительного мышления, наблюдая за юными авторами проектов[3].

  • Последовательность. Блоки выполняются сверху вниз, и порядок меняет результат.
  • Циклы. «Повторить 10 раз» и «повторять всегда» избавляют от копирования одинаковых блоков.
  • События. Скрипт стартует по флажку, нажатию клавиши или сообщению от другого спрайта.
  • Условия. «Если касается стены, то…» — так рождается игровая логика.
  • Данные. Переменные хранят очки, жизни и время.

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

Scratch 3.0: где работает и сколько стоит

Scratch 3.0 — текущая версия среды, она вышла 8 января 2019 года и работает прямо в браузере компьютера или планшета, а для работы без интернета есть офлайн-редактор[4]. Платить за Scratch детям и родителям не нужно ни за редактор, ни за аккаунт.

Аккаунт нужен, чтобы проекты сохранялись в облаке и их можно было публиковать. Без регистрации редактор тоже открывается: проект сохраняют файлом на компьютер и загружают обратно. Офлайн-версия удобна, если дома нестабильный интернет или ребёнок занимается на ноутбуке в дороге. Про регистрацию, форматы файлов и частые проблемы с запуском подробно рассказано в статье о работе Scratch онлайн и офлайн.

В третьей версии появились расширения — дополнительные наборы блоков. Их подключают кнопкой в левом нижнем углу: «Перо» рисует линии за спрайтом, «Музыка» играет ноты на разных инструментах, есть блоки для перевода текста и озвучки. Для новичка достаточно стандартных категорий, а «Перо» и «Музыку» обычно открывают через пару недель занятий.

Первый проект: 5 шагов

Чтобы сделать первый проект, хватит 20–30 минут и 5 шагов: открыть редактор, выбрать фон, добавить героя, собрать скрипт и запустить его флажком. Главное — чтобы ребёнок сам двигал мышку, а взрослый только задавал вопросы.

  1. Откройте редактор. На сайте среды нажмите «Создавать» — откроется пустой проект с котом.
  2. Выберите фон. Кнопка справа внизу, под сценой, открывает библиотеку фонов: лес, космос, школа.
  3. Добавьте героя. Кнопка с кошачьей головой открывает библиотеку спрайтов; кота можно оставить.
  4. Соберите скрипт. Жёлтый блок события сверху, под ним «говорить Привет! 2 секунд» и «идти 10 шагов».
  5. Запустите и измените. Нажмите зелёный флажок, затем поменяйте числа и посмотрите, что изменится.

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

Робот в лабиринте: разминка без мышки и сцены

Тренажёр «Робот в лабиринте» под заголовком — это 4 вводных уровня, где программу для робота собирают из блоков «вперёд», «повернуть налево» и «повернуть направо», чтобы довести его до флажка. Логика та же, что в Scratch, но без лишних деталей.

Соберите команды, нажмите «▶ Запустить» и посмотрите, куда дошёл робот. Если он упёрся в стену, нажмите «Сначала» и поправьте программу. Хорошая привычка — перед запуском проговорить маршрут вслух: «два шага вперёд, поворот направо, шаг». Такое проговаривание помогает заметить ошибку до запуска. Остальные уровни — с повторениями и проверкой пути — открываются в уроках про циклы и условия, а все 12 уровней собраны на странице тренажёра с роботом.

Scratch, ScratchJr и Python: что выбрать

Выбор зависит от возраста и навыка чтения: ScratchJr создан для 5–7 лет, Scratch — для 8–16 лет по данным разработчиков, а текстовый Python обычно начинают, когда ребёнок уверенно печатает и уже собирал циклы из блоков.

СредаВозраст по замыслу авторовКак пишется программаНа чём работает
ScratchJr5–7 летБлоки-картинки, читать не обязательноПланшет
Scratch 3.08–16 летБлоки с текстом и числамиБраузер, планшет, офлайн-редактор
PythonБез ограничений, чаще с 10–12 летТекст с клавиатурыКомпьютер, онлайн-редактор

Таблица показывает ориентиры, а не правила: возраст 8–16 лет MIT Media Lab называет основным для Scratch, но не предельным. Девятилетний ребёнок, который много читает и любит головоломки, может уже через полгода блоков попробовать текст. А подростку 13 лет блоки не помешают: за вечер он соберёт игру и поймёт, что такое цикл и условие, раньше, чем выучит, где ставить двоеточие. Подробное сравнение — в статье Scratch или Python для ребёнка.

Когда блочная среда не подходит

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

  • Ребёнку 5 лет и он не читает. Подписи на блоках будут мешать; для дошкольников есть ScratchJr с картинками.
  • Подготовка к ОГЭ в 9 классе. В задании 16 программу пишут на универсальном языке, блоки там не принимаются.
  • Проект на 500 и больше блоков. В большой программе из блоков трудно ориентироваться; текстовый код компактнее.
  • Ребёнок 2–3 месяца собирает одно и то же. Если он не пробует новые блоки, пора менять задачи или переходить к тексту.

Миф: «Это игрушка, а не программирование». Не подтверждается: в блоках есть те же переменные, циклы, условия и параллельные процессы, что и в текстовых языках, просто записаны они иначе.

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

Чего делать нельзя

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

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

Если вы выбираете Scratch для детей как домашнее занятие, держите в голове простую мысль: взрослый здесь помощник, а не автор. Как поддержать ребёнка, если вы сами не программируете, рассказано в материале о помощи родителей. Короткое правило: спрашивайте «что ты хочешь, чтобы он сделал?» вместо «давай я покажу».

Источники

[1] Maloney J., Resnick M., Rusk N., Silverman B., Eastmond E. The Scratch Programming Language and Environment // ACM Transactions on Computing Education. 2010. Vol. 10, № 4. Article 16.

[2] Resnick M. Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play. Cambridge, MA: MIT Press, 2017.

[3] Brennan K., Resnick M. New frameworks for studying and assessing the development of computational thinking // Proceedings of the 2012 Annual Meeting of the American Educational Research Association. Vancouver, 2012.

[4] MIT Media Lab introduces Scratch 3.0 // MIT News. 08.01.2019.

[5] Scratch Foundation. Scratch: For Parents (раздел справки Scratch).

Вопросы и ответы

С какого возраста подходит Scratch детям?

Разработчики ориентируются на 8–16 лет, но многие начинают в 7, если уверенно читают короткие подписи. Для младших есть планшетное приложение ScratchJr, а взрослые тоже пользуются средой — ограничения сверху нет.

Нужно ли ставить программу на компьютер?

Нет, редактор открывается в браузере. Установка нужна только для работы без интернета: офлайн-версию скачивают на официальном сайте.

Можно ли заниматься на планшете?

Да, третья версия работает в браузере планшета. Удобнее с мышкой или стилусом: блоки мелкие, и пальцем их бывает трудно точно поставить.

Сколько времени занимает освоение?

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

Безопасно ли сообщество для ребёнка?

У сообщества есть правила и модерация, а справка для родителей объясняет, как устроена приватность[5]. Всё равно договоритесь, что в профиле и проектах нет личных данных.

Когда переходить к Python для детей постарше?

Когда ребёнок сам собирает игры с переменными и условиями и уверенно печатает. Обычно это 10–12 лет, но ориентируйтесь на навыки, а не на дату рождения.