Scratch (Скретч)
Scratch (Скретч) – визуальный конструктор компьютерных программ, удивительно простая среда программирования. Настолько несложный для восприятия, что его успешно может освоить даже 6-летний ребенок, но у Скретч немало поклонников и среди взрослых.
Скретч появился в 2011 году в MIT Media Lab (Бостон, США), где группа программистов под руководством Митчела Резника в течение четырех лет работала над созданием общедоступной среды для обучения детей и подростков основным концепциям программирования.
Сегодня эту визуальную бесплатную среду программирования используют во всём мире для обучения искусству создавать алгоритмы, творчески мыслить, логически рассуждать. Она очень востребована и популярна среди ребят, увлекающихся программированием. Язык интерфейса Скретч переведен более чем на 50 языков мира. Миллионы детей создают свои скретч-проекты в кружках программирования, в школах и дома. Скретч используют для знакомства с основами программирования на разных уровнях обучения: от школы до университетов, причем на самых разных специальностях, таких как математика, информационные технологии, лингвистика, социология.
Поскольку изначально Скретч был ориентирован на детей, он интуитивно понятен и дружелюбен. Среда и язык ее интерфейса просты и доступны. В Скретч нет слов, которые нужно запоминать и писать без ошибок. Программы здесь собираются из готовых блоков-команд, похожих на блоки конструктора Лего. Для программирования в Скретч используется drag-and-drop-подход: блоки из палитры блоков перетаскиваются в область скриптов. Перетаскивая и соединяя графические блоки с помощью мышки, можно создавать конструкции, которые будут управлять поведением персонажей – в Скретч их называют спрайтами.
Объекты-спрайты или персонажи – это основные компоненты скретч-программы. Спрайт состоит из графического представления – набора кадров-костюмов и сценария-скрипта. Для редактирования костюмов в Скретч встроен графический редактор.
Кот Скретч – основной спрайт и символ Скретч, широко известный образ, с которым ассоциируется вся история языка. (Кстати, среди значений слова «scratch» есть и глагол «царапать»). Кот появляется в качестве персонажа по умолчанию при создании нового проекта. Именно Кота на своих первых занятиях дети учатся перемещать по сцене, с помощью скриптов Кот начинает ходить, плавать или летать. Можно заставить его говорить и выполнять разные команды, создать целый мультфильм или игру с участием Кота.
Кот и другие персонажи проекта действуют на сцене – специальном поле размером 480×360 условных пикселей с центром координат в середине сцены. Здесь происходит выполнение скретч-программы: изменяется фон, двигаются фигуры. В нижнем левом углу есть поле для выбора спрайта, посередине собраны скрипты – блоки управления или операторы, из которых составляется программа. Справа – поле, где будет «строиться» проект. Вместе с практикой построения проекта постепенно приходит овладение основными навыками программирования: умением логически мыслить, составлять алгоритмы с помощью скриптов и в правильной последовательности собирать конструкции из блоков-операторов.
Перед тем, кто освоил основные премудрости среды Скретч, разворачиваются удивительные и заманчивые перспективы. Контролируя поведение своих персонажей, можно создавать собственные интерактивные истории, анимацию. Можно разработать обучающую или развлекательную игру, игру с погоней, игру-приключение. Добавить нужную музыку, записать звук. Создать рассказ с разговорами героев, сделать мультфильм, рекламный ролик, презентацию и еще много разных прекрасных вещей – огромный простор для фантазии!
В любой момент в проект можно вносить изменения. При этом сразу можно посмотреть, как они отразятся на работе программы.
Для создания проектов в Скретч есть все необходимое: язык программирования, графический редактор, система помощи, образцы проектов, библиотека рисунков и звуков. Все, что задумано, можно сделать здесь и сейчас, без установки каких-то дополнительных программ.
Скретч – бесплатная среда, для ее использования в школе, дома или в кружке программирования не нужна лицензия. Разработка и поддержка Скретч оплачивается из грантов и пожертвований. Исходный код Скретч был открыт на условиях лицензии «копилефт»при этом код проектов, созданных с использованием Скретч, тоже должен быть открытым.
Скретч – не только среда программирования, но и социальная сеть, которая объединяет пользователей из разных стран. На портале scratch.mit.edu можно опубликовать свой проект, чтобы поделиться собственным творением с единомышленниками в онлайн-сообществе. Можно смотреть чужие проекты, скачивать и изменять их. Когда «скретчер» делает копию проекта другого автора и модифицирует этот проект, добавляя собственные идеи (например, изменяя скрипты и костюмы), то результат называется «ремиксом». Создатели Скретч декларируют, что любой опубликованный на сайте проект может быть изменен. Даже мелкие изменения – это ремикс, если есть ссылки на исходный проект и других его авторов.
На портале есть сообщество родителей, которые помогают друг другу, консультируют и поощряют обучать своих детей программированию с помощью среды Скретч. Преподаватели по всему миру используют портал, чтобы делиться опытом, материалами, задавать вопросы, находить единомышленников.
Команда Скретч и её партнёры работают над улучшением и выпуском новых версий программы. С сайта всегда можно загрузить актуальную версию. Кроме того, они изучают, как люди используют Скретч и как учатся с его помощью; собирают и обрабатывают данные по возрастам, по числу новых проектов и проектов-ремиксов.
Если верить статистике сайта, здесь собралась довольно большая компания любителей программировать на Скретч. На портале зарегистрировано более 40 млн пользователей, ежедневно они создают порядка 30 000 проектов. Возраст участников колеблется от 4 до 70 лет, но больше всего 12-13-летних «скретчеров».
Развитие детей, осваивающих Скретч, идет сразу по нескольким направлениям. Они учатся продумывать сценарии поведения персонажей в своих проектах, это отлично развивает логическое и абстрактное мышление. При работе в Скретч неизбежно потребуются некоторые математические понятия, такие как координаты, переменные, случайные числа. Хотя дети получают эти знания в игровой форме, применяя их затем в своих проектах, они смогут понять и осмыслить их, а значит легче будут усваивать математику в будущем. В процессе скретч-проектирования маленькие разработчики проходят через все стадии создания проекта: формирование идеи, создание прототипа, исправление ошибок, получение обратной связи от других людей. Проводя разработку новой игры или мультфильма, ребята учатся находить общий язык со сверстниками, искать новые пути решения поставленных задач в команде, используя и развивая свои коммуникативные навыки.
Помимо создания виртуальных проектов, Скретч используют для программирования роботов, объединяя Скретч с образовательными наборами Lego.
Третья версия среды программирования Скретч предоставляет ещё больше возможностей для использования внешнего оборудования, чем предыдущие. Ключевая особенность версии – упор на поддержке широкого круга физических программируемых объектов. Такими объектами могут служить модели, созданные с помощью робототехнических наборов Lego WeDo и Lego MINDSTORMS. Совместимость Скретч и LEGO расширяет образовательные возможности для педагогов и помогает ученикам с еще большим интересом и азартом осваивать навыки программирования.
Автор и вдохновитель Скретч Митчел Резник говорит, что Скретч нужен не только для обучения детей программированию, а еще затем, чтобы дать им средство для свободного самовыражения. Дать им возможность и инструмент для создания с помощью компьютера прекрасных детских проектов: музыки, видео, анимации.
Скретч помогает подрастающему поколению учиться творчески мыслить, находить и использовать важные стратегии для решения проблем, разработки проектов и сообщения другим людям своих идей.
Фактом своего существования и популярности Скретч каждый день доказывает, что программирование – не только для компьютерных умников, а для всех людей.
Преимущество обучения детей скретч-программированию – в том, что в результате они не только учатся «читать» с помощью новых технологий, но и сами пытаются создавать их. Скретч – одна из возможностей узнать, на что способны дети, если к ним в руки попадают современные технологии не в качестве игрушки, а как инструмент для созидания. Сегодня дети практически рождаются с компьютером в руках. Они интуитивно учатся работать с электронными гаджетами в раннем детстве и практически никогда не затрудняются в том, «какую кнопку надо нажать». Если они так просто справляются с компьютерами и учатся всему новому, логично предположить, что научить их не только играть, но и создавать программы самостоятельно может быть так же легко.
Википедия пишет, что название Скретч произошло от слова «scratching» – техники, используемой хип-хоп-диджеями, которые крутят виниловые пластинки вперед-назад руками для смешивания музыкальных тем. Так и в Скретч, программный код нужно собирать из готовых визуальных блоков, перетаскивая их вручную вперед и назад.
Но есть еще выражения «to start from scratch» – «начать с нуля»,
«to come to the scratch» – «подойти к стартовой черте». Возможно, именно этот смысл вложили создатели Скретч в название придуманного ими программного продукта. Ведь среда Скретч это и есть основа, со знакомства с которой ребенок входит в мир профессионального программирования. Если 5-6-летний ребенок уже представляет, как работать в среде операционных систем и хотя бы немного умеет читать, то он может начинать знакомство с увлекательным миром спрайтов, костюмов и скриптов. Скретч подходит и совсем новичкам без навыков программирования. Самым младшим детям сложно сразу освоить настоящий язык программирования. Поэтому Скретч предоставляет им возможность изучать основы программирования в игровой форме. И те из детей, кто прошел эти занятия, делают затем видимые успехи в освоении более сложных языков программирования.