Программирование в среде Scratch

VII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Программирование в среде Scratch

Лисятин А.П. 1
1МАОУ ОЦ №2
Науменко Е.А. 1
1МАОУ ОЦ №2
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ВВЕДЕНИЕ

Сегодня наука и технология развиваются столь стремительно, что образование зачастую не успевает за ними. Например, для того, чтобы успешно выступать на Российских олимпиадах по информатике, надо серьёзно заниматься, начиная с начальной школы. Ведущие вузы и фирмы, работающие в области информационных технологий, – МГУ, МФТИ, МИФИ, Intel и др. – стараются привлечь школьников к научной деятельности, причём с всё более раннего возраста. Для этого проводятся конкурсы, викторины, олимпиады и другие мероприятия.

Уже в младшем школьном возрасте интересы многих ребят претерпевают существенные изменения, и большинство из них сильно удаляются от учебной деятельности вообще и научно-познавательной – в частности. Другой причиной снижения интереса учеников, имеющей отношение собственно к информатике, является очень небольшое количество часов, предусмотренное федеральными образовательными стандартами на изучение данного предмета. Более того, стандарты второго поколения вообще не включают дисциплину «Информатика», заменяя её «Информационными технологиями». Основной акцент предполагается сделать на приобретении учениками информационной грамотности, подразумевающей общие навыки обработки информации различных видов. Теоретическая же подготовка по информатике вынесена во внеучебную деятельность и, таким образом, носит факультативный характер.

Поэтому наиболее остро стоит проблема изучения возможных подходов к организации проектной внеучебной образовательной деятельности по информатике в начальной школе. Опыт таких видных педагогов как М.П. Лапчик, И.Г. Семакин, Е.К. Хеннер свидетельствует, что такая деятельность позволяет, с одной стороны, организовать среду для самореализации и самоутверждения учеников, и, с другой стороны, сформировать у них тягу к творчеству и знаниям и дать подходящие средства её реализации. Решение выше указанной проблемы может базироваться на использовании в обучении информатике языка программирования Scratch.

Scratch – это новая среда программирования, которая позволяет детям создавать собственные анимированные и интерактивные истории, игры и другие произведения. Этими произведениями можно обмениваться внутри международной среды, которая постепенно формируется в сети Интернет. Scratch базируется на традициях языка Лого и написан на языке Squeak.

Может быть не всем в России знаком язык Лого и его агент-исполнитель Черепашка? Но уж конструкторы Лего знают все. В среде Scratch используется метафора кирпичиков Лего. Из них даже самые маленькие дети могут собрать простейшие конструкции. Но, начав с малого, можно дальше развивать и расширять свое умение строить и программировать.

Разработчики этого направления во главе с Митчем Резником и Аланом Кеем считают, что наиболее важным в мощных и недорогих персональных компьютерах является то, что они создают новую среду чтения и письма. В такой новой среде люди могут обсуждать и играть с новыми мощными идеями совсем не так, как они это делали с книгами. Цель деятельности исследовательской группы во главе с АланомКеем - помочь детям научиться думать лучше и глубже, чем это может делать большинство взрослых. Для достижения этой цели они создали среду Squeak. Это новая форма «электронной бумаги», на которой по-новому можно представить новые мощные идеи. Мы можем получать новое визуальное представление о гипотезах и теориях, можем связывать и сравнивать разные идеи друг с другом. Если мы будем помнить о новых возможностях, которые открывают перед нами электронные формы общения и сообщного мышления, то сможем стремиться не просто к обучению чтению и письму, но и к более глубокому усвоению знаний. Новый стиль усвоения знаний даст ученикам возможность читать литературу, обдумывать идеи и представлять их в форме доступной для обсуждения и критики.

Теперь в среде Squeak есть письменные образцы этой новой литературы. И эти образцы публикуются в сети Интернет, для того, чтобы и взрослые и дети могли бы читать и играть с ними.

Учебная среда Scratch появилась совсем недавно, и делает в настоящее время свои первые шаги. Ее будущее выглядит очень многообещающим!

В Scratch проявляются многие идеи программирования, свойственные среде Лого и Лего-Лого. Но, теперь они воплощены на более высоком уровне. Пользователи могут собирать свои программы-процедуры из блоков так же, как они собирали конструкции из кирпичиков Лего. Из конструкций и управляющих структур могут быть собраны различные агенты, выполняющие простые инструкции и, следовательно, обладающие поведением. Эти агенты могут взаимодействовать между собой и воссоздавать сообщество в среде Scratch.

Теоретическая часть

1.1 Описание среды программирования Scratch

Интерфейс программы спроектирован и сделан в расчете на детей, поэтому он максимально хорошо понимается интуитивно. Рассмотрим, как устроена среда.

После запуска программы экран имеет вид (см. рис. 1).

Рис. 1. Интерфейс программы

Главная область (см. рис. 2), это, конечно же, сцена (располагается в правой части экрана), на ней отображаются результаты работы проекта.

Рис. 2. Сцена

Чтобы на сцене что-нибудь происходило, необходимо создать спрайты (см. рис. 3), т.е. визуальные динамические объекты; для этого используются специальные кнопки (см. рис. 4).

Рис. 3. Спрайты

Рис. 4. Кнопки создания новых спрайтов

Все, что создано, отображается на листе спрайтов, где можно выбрать один из спрайтов для настройки. При этом информация о текущем спрайте отображается в средней части экрана – поле скриптов (см. рис. 5). Это поле предназначено для описывания поведения данного спрайта.

Рис. 5. Поле скриптов

Верхнее поле содержит закладки (см. рис. 6), с помощью которых можно от просмотра скриптов перейти к просмотру возможных видов (рисунков) спрайта и связанных с данным спрайтом звуков. Краткая информация о выбранном спрайте: имя, текущий образ, координаты, направление и т.д. находятся выше (см. рис. 7).

Рисунок 6. Закладки

Рис. 7. Краткая информация о спрайте

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

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

При создании скриптов используется палитра блоков, которая занимает левую часть экрана (см. рис. 8). В ее верхней части располагаются 8 разноцветных кнопок, которые выбирают нужную группу команд: движение (см. рис. 8), внешность (см. рис. 9), звук (см. рис. 10), перо (см. рис. 11), контроль (см. рис. 12), сенсоры (см. рис. 13), числа (см. рис. 14), переменные (см. рис. 15). Команды выбранной группы отображаются в нижней части выбранного окна.



 

Рис. 8. Палитра блоков Рис. 9. Внешность Рис. 10. Звук

Рис. 11. Перо Рис. 12. Контроль Рис. 13. Сенсоры Рис. 14. Числа

Рис. 15. Переменные

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

Практически все управление системой сосредоточено в верхней части экрана. Главное меню, выполнено в виде горизонтальных кнопок.

Рис. 16. Главное меню

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

Из вышесказанного становится понятно, что Scratch разрабатывался как новая учебная среда для обучения школьников программированию. В то же время учащиеся в полной мере могут раскрыть свои творческие таланты, так как в нем можно легко создавать фильмы, игры, анимированные открытки и презентации; придумывать и реализовывать различные объекты, определять, как они выглядят в разных условиях, перемещать по экрану, устанавливать способы взаимодействия между объектами. Дети могут сочинять истории, рисовать и оживлять на экране придуманных ими персонажей, учиться работать с графикой и звуком. Важно и то, что ребенок имеет возможность поделиться результатом своего творчества с друзьями или другими пользователями.

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

1.2 Особенности программирования в среде Scratch

Scratch – среда программирования, появившаяся относительно недавно, даёт возможность учащимся младшего и среднего школьного возраста создавать игры, фильмы, анимированные истории и многое другое. Программа Scratch в объектно-ориентированной среде «собирается» из разноцветных блоков команд так же, как собираются из разноцветных кирпичиков в конструкторах Лего различные объекты. Создание программ в Scratch происходит путём совмещения графических блоков в стеках. При этом блоки сделаны так, что их можно совмещать только в синтаксически верные конструкции, что исключает ошибки. Различные типы данных имеют разные формы блоков, подчеркивая совместимость / несовместимость объектов между собой. Имеется возможность внесения изменений в программу даже тогда, когда она запущена, что позволяет экспериментировать с новыми идеями по ходу решения задачи. В результате выполнения простых команд создаётся сложная модель, в которой взаимодействуют множество объектов, наделенных различными свойствами. После того как проект создан в Scratch, есть возможность его разместить на сайте scratch.mit.edu/.

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

Сама идеология Scratch позволяет использовать при обучении современные методики и технологии обучения, такие как проблемный подход и метод проектов. После изучения основных конструкций языка и возможностей среды ставится задача по созданию и разработке соответствующего проекта. Это могут быть различные истории, тематику которых учитель предлагает с учётом возрастных особенностей учащихся, например, «Моя семья», «Мои увлечения», «Талантливые люди» (традиционная тематика проектов для пропедевтического обучения); рекламные ролики; анимированные истории по стихам и сказкам, изучаемым в школе и просто любимым учениками и т.д.

Данная технология обучения стимулирует учащихся к освоению возможностей языка программирования, изучению предмета «Информатика и ИКТ», подчеркивая их практическую личностную значимость. Анализ работы в Scratch показывает, что программа достаточно проста и легко осваивается. Однако, несмотря на свою простоту, Scratch предоставляет пользователю разнообразные средства работы с мультимедийными ресурсами, что вызывает интерес у учащихся, способствует развитию положительной мотивации к предмету в целом.

Среда Scratch разработана и поддерживается группой MIT Media Lab из Массачусетского института технологии (scratch.mit.edu). Scratch является бесплатным продуктом, что немаловажно для российских школ. Его разработка ведётся на языке Squeak, одном из наследников Smalltalk. Алан Кей, стоящий у истоков Smalltalk, а значит и у самых корней объектно-ориентированных технологий вообще, очень заинтересованно относится к развитию мышления и креативности детей. ПричёмКейсчитает, чтотакоеразвитиедолжноначинатьсякакможнораньше: «…the media that powerfully shape our ways of thinking must be made accessible as early in life as possible». Среда (и язык) программирования Scratch, по задумке его создателей, является как раз тем средством, которое способно формировать «способы мышления».

Одной из главных концепций языка Scratch, является развитие собственных задумок с первой идеи до конечного программного продукта. Для этого в Scratch имеются все необходимые средства:

- стандартные для языков процедурного типа: следование, ветвление, циклы, переменные, типы данных (целые и вещественные числа, строки, логические, списки – динамические массивы), псевдослучайные числа;

- объектно-ориентированные: объекты (их поля и методы), передача сообщений и обработка событий;

- интерактивные: обработка взаимодействия объектов между собой, с пользователем, а также событий вне компьютера (при помощи подключаемого сенсорного блока);

- параллельное выполнение: запуск методов объектов в параллельных потоках с возможностью координации и синхронизации;

- создание простого интерфейса пользователя.

Вместе с тем в Scratch пока отсутствуют такие важные компоненты языка вообще и объектно-ориентированного языка в частности, как процедуры и функции, передача параметров и возвращение значений (кроме как через глобальные переменные), рекурсия, определение классов объектов, наследование и полиморфизм, обработка исключений, текстовый ввод и файловый ввод и вывод. Однако не вызывает сомнений, что в ближайшем будущем язык пополнится этими и, вероятно, некоторыми другими компонентами. Как мы видим, Scratch действительно имеет богатые возможности. При этом для начала его изучения не требуется ничего (на первых порах), кроме умения читать, поскольку программа составляется из готовых цветных блоков. Этому уровню соответствуют практически все первоклассники.

Одной из важнейших особенностей проекта Scratch является большое постоянно действующее сообщество пользователей. Собственные разработки можно выкладывать в интернет и затем просматривать их на любом компьютере, где установлена Java (или сам Scratch). В настоящее время актуальной является версия Scratch 1.3, поддерживающая кириллицу (и несколько десятков других языков).

Уже в начальной школе дети легко могут освоить такие понятия как «параллельность» и «синхронизация». При этом важным является не «знание» терминологии, но понимание взаимной связи выполняющихся потоков.

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

Основные особенности Scratch:

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

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

Совместная работа и обмен. Сайт проекта Scratch предлагает вдохновение и аудиторию: вы можете посмотреть проекты других людей, использовать и изменить их картинки и скрипты, и добавить ваш собственный проект. Самое большое достижение – это общая среда и культура, созданная вокруг Scratch.

Scratch предлагает низкий пол (легко начать), высокий потолок (возможность создавать сложные проекты) и широкие стены (поддержка большого многообразия проектов). В работе со Scratch уделяется особое внимание простоте, иногда даже в ущерб функциональности, для большей понятности.

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

Scratch основан на лучшем от языка программирования Squeak. Он был вдохновлен предыдущей работой над Logo и Squeak Etoys, но задуман более простым и интуитивным.

Scratch – проект с открытым исходным кодом, но закрытой командой разработчиков. Исходный код доступен в свободном доступе, но приложение разрабатывается маленькой командой ученых из MIT Media Lab.

Практическая часть

Как я сделал мультик в Скретч

 

Мы видим на экране акулу, которая безмятежно плавает в море. Для того, чтобы получить такую картинку необходимо воспользоваться командами движения и управления:

when clicked ()- когда нажмут на (зеленый флажок, на форму героя)

move - пройти вперед указанное число шагов. Например: move(-10) – сделать десять шагов назад

if on edge, bounce - если попадаешь в край экрана, то отразись от него

wait() - команда ожидания. Параметр указывает сколько секунд следует ждать.

Forever – блок команд, заключенных внутрь конструкции будет выполняться постоянно.

Но акула не может жить в море одна и у нее появляются соседи - другие жители моря. Для этого мы добавили еще несколько агентов из папки “со звездочкой”. Теперь мы можем видеть, что акула приняла злобный вид (видимо она проголодалась). Чтобы добиться такого эффекта, мы использовали команды:

switch to costume () - перейти к костюму (можно выбрать костюм героя)

when clicked ()- когда нажмут на (зеленый флажок, на форму героя)

move - пройти вперед указанное число шагов. Например, move (-10) – сделать десять шагов назад

if on edge, bounce - если попадаешь в край экрана, то отразись от него

wait() - команда ожидания. Параметр указывает сколько секунд следует ждать.

Forever – блок команд, заключенных внутрь конструкции будет выполняться постоянно.

 

Злая и голодная акула приметила для себя жертву - бедного красного крабика. Во время своей охоты акула меняет свои костюмы: сначала она обозленная, затем она открывает рот и съедает краба, а потом с чувством выполненного долга и с сытым желудком умиротворенно плывет дальше.

switch to costume (shark1-a) - перейти к костюму (можно выбрать костюм героя)

when clicked ()- когда нажмут на (зеленый флажок, на форму героя)

move - пройти вперед указанное число шагов. Например: move(-10) – сделать десять шагов назад

if on edge, bounce - если попадаешь в край экрана, то отразись от него

wait() - команда ожидания. Параметр указывает сколько секунд следует ждать.

Forever – блок команд, заключенных внутрь конструкции будет выполняться постоянно.

If () – условие, при выполнении которого должны выполняться команды, заключенные внутри конструкции if Если не выполняется, то никаких действий

broadcast() - Передать сообщение. Переданное сообщение может запускать активность другого исполнителя. У нас акула сначала говорит “Пора обедать”, а потом, увидев краба восклицает: “Вот и еда!”

Вот в таком духе с помощью замечательной программы Скретч можно создавать свои абсолютно индивидуальные, оригинальные и интересные истории и мультики.

ЗАКЛЮЧЕНИЕ

Таким образом, Scratch можно рассматривать как инструмент для творчества, оставив программирование на втором плане. Дети могут сочинять истории, рисовать и оживлять на экране придуманных ими персонажей, учиться работать с графикой и звуком. Применений возможностям Scratch можно найти множество: в этой среде легко создавать анимированные открытки, презентации, игры, мультфильмы, различные модели. Благодаря простоте языка и идеологии в целом Scratch позволяет легко научиться основам программирования. А в какой версии работать, в англоязычной или русской, зависит от способностей класса. Задавая поведение своих персонажей в программе, ребенок изучает такие фундаментальные понятия, как циклы и условия. К сожалению, все проекты выполняются только в среде. Конечно, ими можно делиться с другими пользователями, выкладывая на сайте Scratch. При этом запустить проект можно непосредственно из браузера. Только для просмотра нужно установить на компьютер среду выполнения Java.

Scratch может использоваться в различных формах: в школах, музеях, центрах дополнительного обучения, дома… Он создавался для учеников 8 - 16 лет, но и дети более раннего возраста могут работать над Scratch -проектами вместе с родителями или старшими братьями, или сестрами. Да и студенты ВУЗов могут использовать Scratch на занятиях в компьютерных классах. Когда ученики создают проекты в Scratch, они осваивают множество навыков 21 века, которые будут необходимы для успеха:

творческое мышление,

ясное общение,

системный анализ,

беглое использование технологий,

эффективное взаимодействие,

проектирование,

постоянное обучение.

Scratch разрабатывался как новая учебная среда для обучения школьников программированию и позиционировался авторами как альтернатива культуре PhotoShop. В Scratch можно создавать фильмы, играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между объектами. Это объектно-ориентированная среда, в которой блоки программ собираются из разноцветных кирпичиков команд точно так же, как машины собираются из разноцветных кирпичиков в конструкторах Лего. Опыт и метафоры Лего-Лого в среде Scratch лежат на поверхности.

Мы можем взять любой объект и осуществить над ним действия:

видоизменить его внешний вид при помощи фиолетовых команд-кирпичиков внешнего вида;

переместить его при помощи синих команд кирпичиков перемещения;

поместить команды перемещения и видоизменения внутрь оранжевых блоков управления;

добавить к управляющим блокам фиолетовые кирпичики звуков;

и т.д.

В результате выполнения простых команд может складываться сложная модель, в которой будут взаимодействовать множество объектов, наделенных различными свойствами.

Список источников и литературы

Учитесь со Scratch, сообщество учителей, родителей и просто творческих людей. http://setilab.ru/scratch/

Официальный сайт Scratch. http://scratch.mit.edu/

Скретч в Летописи.ру. http://letopisi.ru/index.php/

Белова Г.В. Программирование в среде ЛОГО. Первые шаги. – М.: Солон, 2007

Великович Л., Цветкова М. Программирование для начинающих. – М.: Бином, 2007

Горячев А.В., Волкова Т.О., Горина т.и. Информатика в играх и задачах: Учебник-тетрадь для 2 класса четырехлетней начальной школы: В 2 томах. М.: Баласс, 2006

Еремин Е.А. Газета «Информатика». Среда Scratch – первое знакомство. – М.: Первое сентября, 2008 – №20 (573) – С. 17–24.

Еремин Е.А. Газета «Информатика». Среда Scratch – первое знакомство. – М.: Первое сентября, 2008 – №20 (573) – С. 16–28.

Кнут Е. Дональд. Искусство программирования. Том 1. Основные алгоритмы. – М.: Вильямс, 2007

Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы. Построение и анализ. 2-е издание, 2007

Красиков И.В., Красикова И.Е. Алгоритмы. Просто как дважды два. – М.:ИКФ «ЭКСМОС», 2006

Левитин А. Алгоритмы. Введение в разработку и анализ. – М.: Вильямс, 2006

Яховский Н.Г. Обучение программированию в начальной школе. – М., 200

Просмотров работы: 295