Языки программирования для детей

Дата публикации: 27/03/2009

В продолжение темы о том, как обучать детей программированию, хочу рассказать об одном интересном и необычном языке под названием "Scratch". Он был придуман в знаменитой медиа-лаборатории Массачусетского Технологического Института (MIT) и в нем используется ряд идей, заложенных еще в Logo и о котором я рассказывал чуть раньше.

Пример программы на языке "Scratch"

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

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

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


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

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

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

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

Интерфейс программы

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

Интерфейс языка программирования "Scratch"

Для любого блока посредством контекстного меню можно вызвать помощь в картинках, объясняющую, как именно он работает. А если Вам нужно создать несколько однотипных объектов, например, рыбок в аквариуме, то достаточно создать только одну рыбку, а затем сделать нужное число копий данного объекта. При создании копий будут продублированы также и все написанные для этого объекта скрипты и добавленные изображения. Это позволяет затем незначительными изменениями получить разных рыбок в аквариуме, каждая из которых плавает по своему собственному алгоритму.

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


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

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

Для просмотра опубликованных программ вовсе не обязательно их скачивать к себе. Благодаря встраиваемому в код странички Java-апплету, программу можно запустить непосредственно на сайте. Проблема может возникнуть только если у вас изначально на компьютере не была установлена виртуальная Java-машина. Тогда придется вначале скачать несколько десятков мегабайт Java-дистрибутива.

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

Несмотря на то, что язык появился относительно недавно, число его поклонников уверенно растет и создаются свои сообщества в разных странах. В том числе есть большое коммьюнити российских пользователей. По большей части это, конечно, преподаватели, ученики и их продвинутые родители. Начать путешествие можно, например, с сайта "Учитесь со Scratch" на котором представлены статьи для начинающих и другие руководства по языку. Другой сайт на котором можно почерпнуть полезную информацию эта страничка "Скретч" на школьном проекте "Letopisi.Ru".

Теги: для детей, обучение, программы, языки программирования

Смотри также