Язык 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. Источник: 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.