Язык Scratch (Скретч)

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

Scratch доступен в более чем 150 странах на более чем 60 языках. Его использование не требует лицензий. Сам Scratch является открытым исходным кодом. Он разрабатывается и курируется Scratch Foundation.

Scratch называют «YouTube интерактивных медиа». Скретч вдохновил другие языки визуального программирования, такие как ScratchJr для детей 5-7 лет, Snap!, mBlock, Stencyl и MIT App Inventor.

Обсуждение

Многие популярные языки программирования являются текстовыми. Программистам приходится набирать программный код. Для этого им необходимо изучить и запомнить синтаксис языка. Для новичков синтаксические ошибки являются распространенной проблемой. Текстовый интерфейс менее доступен и менее увлекателен для детей.

Скретч предназначен для детей 8-16 лет. Его можно преподавать в школах для учащихся по всем дисциплинам, включая математику, информатику, языковые искусства и обществознание. Это важно для современной экономики, где обучение коду является частью компьютерной грамотности.

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

Scratch — это более удобная, более осмысленная и более социальная среда, чем другие среды программирования.

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

Какие типы проектов можно создавать в Scratch?

Основными или популярными типами проектов в Scratch являются:

  • Игры: Самый распространенный тип, благодаря чему их создатели обрели большое количество поклонников. Даже такие классические игры, как Pacman и Mario, были воссозданы в Scratch.
  • Анимации: Используя смену костюмов и движений, можно легко создавать анимации.
  • Музыка: Банк MIDI-звуков позволяет программистам воспроизводить до 128 инструментов. Громкость и темп можно регулировать. Также можно импортировать песню и воспроизвести ее.
  • Искусство: Интерактивное искусство — одна из целей, для которых был разработан Scratch. В последнее время все большее распространение получает неинтерактивное искусство, хотя для его создания требуется меньше программирования.
  • Истории: Не очень распространены, поскольку многие из них можно рассматривать как анимацию. Истории могут быть приключениями или содержать множество костюмов и декораций.
  • Симуляции: Не так распространены, но были созданы высококачественные проекты, связанные с физикой, погодой, гравитацией и 3D-симуляцией. Операционные системы и двигатели — две распространенные темы.

Другие типы включают учебники, рекламу, спрайт-паки, слайд-шоу, петиции, интервью и т.д.

Каковы некоторые основные термины программирования на языке Scratch?

Из полного глоссария для Scratch мы выделяем несколько основных терминов:

  • Сцена: Область, в которой проект отображается в активном состоянии.
  • Задний план: Фон сцены.
  • Блок: Команда программирования, которую можно перетащить в область кода.
  • Область кода: Область, в которой редактируются сценарии.
  • Сценарий: Стопка блоков составляет сценарий. Определяет, как спрайт взаимодействует с другими спрайтами и фоном.
  • Спрайт: Персонаж или объект на сцене, выполняющий действия, управляемые одним или несколькими сценариями.
  • Клон: Копия спрайта.
  • Костюм: Внешний вид спрайта. Часто тонкие вариации спрайта могут быть использованы для создания анимации.
  • Пузырь: Речевой или мыслительный пузырь, обозначающий, что спрайт говорит или думает.
  • Прокрутка: Действие перемещения спрайта по сцене.
  • Передача: Сообщение, передаваемое через программу Scratch. Позволяет спрайтам общаться друг с другом.
  • Событие: Примерами событий являются нажатие клавиш или щелчки кнопок мыши. Могут использоваться для запуска сценариев.
  • Студия: Место для группировки и организации нескольких проектов.
  • Перо: Позволяет рисовать на сцене.

Какова анатомия среды разработки Scratch?

Анатомия среды разработки Scratch

Анатомия среды разработки Scratch. Источник: Sweigart 2021.

Основные области IDE: сцена, палитра блоков и область кода. Сцена — это место, где отображается выбранный в данный момент спрайт. Когда программа выполняется, результаты отображаются в Сцене. Сцену можно развернуть на весь экран.

Чуть ниже Сцены находится список спрайтов, которые можно выбрать. Когда спрайт выбран, связанные с ним сценарии появляются в области кода. Эти сценарии могут быть созданы или отредактированы путем перетаскивания блоков из палитры блоков.

Вкладка Костюмы позволяет программистам изменять внешний вид спрайта и таким образом создавать визуальные эффекты и анимацию. Вкладка Звуки позволяет прикреплять к спрайту звуки и музыку.

Какие существуют формы и категории блоков в Scratch?

блоки

Формы и категории блоков в Scratch. Источник: Адаптировано из hello.mrs.green 2020 и Wikipedia 2021.

Блоки бывают разных форм и категорий. Каждая категория имеет свой цвет.

Форма блока представляет собой определенный контекст использования. Например, блоки шляпы встречаются в начале сценария, а блоки шапки — в конце сценария. Их уникальная форма означает, что они не могут быть ошибочно использованы в других местах сценария. Блоки стека выполняют основные действия. Булевы блоки возвращают истину или ложь. Блоки репортеров сообщают фиксированные числа, строки или переменные. Блоки C (также называемые Wrap-блоками) оборачивают другие блоки и относятся к категории Control. Некоторые C-блоки имеют нижнюю крышку.

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

С помощью My Blocks программисты могут определить пользовательский сценарий и вызвать его с помощью входов из других сценариев. Использование My Blocks уменьшает общий размер проекта.

Как начать программировать в Scratch?

Создайте учетную запись на сайте Scratch и начните создавать проекты онлайн. Пожалуй, самый простой способ работы со Scratch — это создание и редактирование проектов через веб-браузер. Никакой установки не требуется.

Те, кто хочет работать в автономном режиме (без подключения к Интернету), могут скачать Scratch. Установки доступны для Windows, macOS, ChromeOS и Android (только для планшетов). Проектами Scratch, созданными с помощью этих установленных приложений, нельзя напрямую поделиться с онлайн-сообществом. Однако вы можете экспортировать проект, а затем загрузить и поделиться им в Интернете.

Официальная документация находится на Scratch Wiki.

Вы можете изучить проекты Scratch, которыми поделились другие. Участвуйте в дискуссионном форуме Scratch. На канале Scratch Ed на YouTube есть много видео с учебниками, примерами, мероприятиями и семинарами.

Две полезные книги для начинающих — Scratch 3 Programming Playground Эла Свейгарта и Scratch Programming in Easy Steps Шона МакМануса. Последняя книга не охватывает Scratch 3.0, но ее примеры доступны в Интернете.

Опытные программисты, желающие внести свой вклад в кодовую базу Scratch с открытым исходным кодом, могут найти код на GitHub.