Языки программирования для детей
Дата публикации: 27/03/2009В продолжение темы о том, как обучать детей программированию, хочу рассказать об одном интересном и необычном языке под названием "Scratch". Он был придуман в знаменитой медиа-лаборатории Массачусетского Технологического Института (MIT) и в нем используется ряд идей, заложенных еще в Logo и о котором я рассказывал чуть раньше.
В отличие от Logo, язык программирования "Scratch" скорее похож на Lego, т.к. программа создается при помощи цветных блоков, соединяющихся подобно фигуркам Lego. Пример несложной программы, которую я написал, изучая язык, Вы можете видеть слева на рисунке. Забавно также то, что получить код программы можно только в виде рисунка.
При создании нового проекта вы видите симпатичного котенка - он является героем по умолчанию. Вы можете давать ему различные команды и он будет их выполнять. Приведенный выше код заставляет его бегать кругами, а потом здороваться и мяукать! :) В любой момент можно создать своего собственного героя. Причем это можно сделать, либо загрузив готовый рисунок из файла, либо нарисовав его самостоятельно. Несложный графический редактор встроен непосредственно в само приложение.
Любая программа на "Scratch" состоит из главной сцены и нескольких объектов. Для каждого объекта можно написать один или несколько скриптов, реагирующих на определенные события. Вместе с дистрибутивом поставляются неплохие примеры, среди которых встречаются как очень простые программы, так и такие сложные вещи, как "Tetris".
Немного о Logo
Дата публикации: 11/03/2009Как известно, язык программирования Logo был придуман специально для того, чтобы обучать детей программированию. И он широко использовался, но не у нас и не на платформе PC. В те времена, этак лет 15-20 назад, образовательные программы были все больше на Макинтошах и использовались в американских школах. А тут я вдруг зашел к племяннику, который учится в третьем классе и дополнительно ходит на компьютерные уроки, и увидел, что их обучают тому самому Logo. При этом программа была небольшая и работала под Microsoft Windows.
Мне всегда хотелось повозиться с этим языком программирования, т.к. с одной стороны он достаточно простой и наглядный, а с другой позволяет создавать достаточно сложные рисунки. Напомню немного для тех, кто подзабыл или не помнит основные концепции языка Logo:
- Язык используется для создание рисунков при помощи элементарных команд движения
- Основной герой языка - это "черепашка", которая умеет перемещаться в заданном направлении на указанное число шагов и поворачиваться вокруг себя на произвольный угол
- Рисование осуществляется при помощи подъема и опускания пера, которое, вероятно, находится в передних лапах вышеупомянутой черепашки :)
- Перо может иметь определенный цвет и толщину
Язык сам по себе очень наглядный и команды можно выполнять как напрямую - просто вводя их в командной строке, так и создавая код программы. Последнее, разумеется, самое интересное. Изображение, которые вы можете видеть в иллюстрации к данной заметке, я сделал буквально за пару минут, используя следующую строчку:
REPEAT 36 [FORWARD 250 RIGHT 130]
Это простая команда запускает цикл рисования в 36 шагов и на каждом шаге черепашка перемещается на 250 единиц вперед и после этого поворачивается направо на 130 градусов. Если поэкспериментировать с этими числами, то можно получить и множество других интересных вариантов.
Та версия программы, которую я обнаружил у племянника, называется "MSWLogo" и создана компанией "Softronics Inc". Она распространяется по лицензии GNU и поэтому доступна также и в исходниках. Дистрибутив программы (~2Mb), а также документацию по Logo можно скачать на официальном сайте "MSWLogo". Кроме этого на сайте есть очень неплохой электронный учебник по языку Logo. Он правда на несложном английском, но зато с забавными иллюстрациями.