В современном мире программирование настолько глубоко вошло в нашу жизнь, что мы просто не замечаем, как она изменилась благодаря ему. Миллионы привычных вещей не существовали бы без программирования. Телевизор, ноутбук, телефон – работают благодаря заложенным в них программам. И если ранее для каждого нового действия приходилось создавать новую программу с нуля, то сейчас существует такое огромное количество программ, что в них невозможно ориентироваться. Дизайн, мобильная связь, кино и музыкальная индустрия, мультипликация и игры – абсолютно все области связаны с программированием и на определенных этапах работы используют специальные программные средства.
Scratch – визуально-ориентированная среда программирования, изначально созданная для знакомства с программированием в школе. Исходя из этого, существует необходимость методической разработки начального курса алгоритмизации и программирования на основе современных объектных и визуальных методов.
Интерфейс программы представляет собой окно, поделенное на 4 зоны. Первая зона – сцена или место где будут происходить запрограммированные действия. Вторая зона – область спрайтов, здесь отображаются все объекты программирования и сцены. Третья зона – палитра блоков, четвертая – область скриптов – место, где создается код программы.
В основе Scratch заложен графический язык программирования. Объектом программирования является анимированный персонаж. Изначально это рыжий кот, в дальнейшем это может быть любой нарисованный вами или выбранный из галереи персонаж. Процесс создания программы представляет собой сбор мозаики, ведь каждый блок имеет выемки, как у кусочка пазла. Для написания программного кода необходимо последовательно перенести нужные блоки в область скриптов, где они сами автоматически объединятся в код программы. Палитра блоков включает в себя 10 разделов, каждому из которых присвоен свой цвет:
события – коричневый;
движение – синий;
внешность – фиолетовый;
управлении – песочный;
звук – лиловый;
сенсоры – голубой;
перо – зеленый;
операторы – салатовый;
данные – оранжевый;
другие блоки – темно-синий.
Внутри разделов есть как готовые блоки, так и возможность создания собственных блоков. Так же блоки можно разделить на:
заголовочные блоки;
блоки-ссылки;
блоки принадлежащие стеку;
блоки-циклы.
Блоки, объединенные в вертикальную последовательность команд, образуют стек. Стек определяет алгоритм действий персонажа.
Заголовочные блоки размещаются над стеком и к ним нельзя присоединить какой-либо другой блок сверху. Данные блоки необходимы для обработки событий, поступающих от пользователя и связи между разными стеками.
Блоки-ссылки используются, как внутренние значения блоков. Они необходимы для задания дополнительных характеристик, выполняемых действий. В Scratch предусмотрен числовой и логический тип данных, а так же текст и список.
Пример:
Первый блок данного примера – заголовочный блок. При нажатии на зеленый флажок начинают выполняться заданные действия: персонаж говорит «Привет» в течение 3 секунд, а затем спрашивает «Как тебя зовут?» и ждет ответа пользователя. Последний блок включает в себя два блока ссылок: голубой блок – овал – возвращает ранее введенный пользователем ответ, зеленый блок – объединяет ответ пользователя и фразу «Я рад знакомству!». На выходе получаем ответ персонажа с именем пользователя.
Блоки-циклы представляют собой скобку, включающую в себя другие блоки. Действия в данной скобке будут выполняться до тех пор, пока заданное условие не будет выполнено.
Пример:
В данном примере после заголовочного блока идет блок, отвечающий за включение выбранного нами звука. Затем блок-цикл, повторяющий внутренние команды 10 раз. Внутри цикла происходит переход персонажа в точку с заданными координатами, затем ожидание и смена костюма.
Главным достоинством среды является ее многогранность. В процессе создания программы, пользователь может программировать, рисовать и писать музыку. Результатом программирования в среде Scratch являются игровые и обучающие программы, фильмы, презентации и тд.
Программирование в Scratch является отличной базой для дальнейшего изучения программирования, а так же оно развивает алгоритмическое и техническое мышление.