2014年8月7日木曜日

Scratch以外のプログラミング言語の世界を知る1つの方法

みなさん、こんにちは。


夏休みもそろそろ折り返し地点に近づいていますね
宿題は順調に進んでいるかな?

これから(汗)、という人も
もう終わっちゃった!という人も

なすしおばらクリエイティブ・ラボでは
Scratchのワークショップをやっているので遊びに来てね!

また、教室の見学もできるので予約して遊びに来てください。

さて、まさに今、アメリカのMITメディア・ラボでは


が行われています。

日本からも関係者の方々がワークショップを行ったりポスター展示を行うために現地に入っていらっしゃいます。

そのScratch@MIT2014プログラムの中からなすラボがちょっとだけつまみ食いしたものを取り上げてみたいと思います。

今日はScratchに取り組んでいる子ども達がScratch以外のプログラミング言語の世界にジャンプしていく1つの方法として提案されているプログラミング言語

についてです。


Facebookページでもすでに取り上げている話題なのですが
Thursday
4:00p
Sniff: Post-Scratch Programming
Ian Stephenson, Tom Stacey
Children often struggle to make the leap from Scratch to mainstream text-based
programming. Sniff is designed to ease the transition. It uses the notation and semantics of Scratch, but in a text-based format. This poster will demonstrate how children can use Sniff to interact with physical devices.

と説明されています(英語ばっかりでゴメン)

カンタンに言うと

Scratchをマスターしている子ども達が主流となっているテキスト(文字)ベースのプログラミング言語の世界に行くのに苦労していることに着目してSniffという言語をデザインしている

テキスト(文字)ベースであるということ以外はScratchと同じようにプログラミングできるように配慮されている(でも、ちょっとした構文エラーも体験する!)

っていうのが特徴で

Scratch@MIT2014では子ども達がラズベリーパイやArduinoなどのフィジカルデバイスへのアクセスをSniffでどのようにやるのかを紹介するよ

ってことみたいです


Sniffでもっともカンタンな「ハローワールド」プログラムは
when start
.say "hello"

と書きます。

when startは緑の旗をクリック
.say "hello"はLooks(見た目)カテゴリのsay(と言う)ブロックそのものですね。

Variables(変数)についてはScratchでは

「Make a variable(新しい変数を作る)」

でしたが、Sniffでは

「make」

で作れます
make x number

と書くとxという数値を扱う変数を作れます。

SniffはダウンロードしたZIPファイルの中に沢山サンプルプログラムが含まれているので興味のある人は中身をのぞいてみてね。

sniffコマンドはZIPファイルを展開したフォルダの中にあるsetupスクリプトをsourceコマンド(.ピリオドでも可)で実行することで利用可能になるのでその手順を忘れずにやりましょう(詳しくはREADMEファイルを読んでね)。

SniffはArduinoやラズベリーパイのGPIOなど外部デバイスや他のソフトウェアとの接続もサポートしているので手軽にLEDチカチカ(Lチカ)を試すこともできます。

例えば、ラズベリーパイにArduinoUNOを接続して以下のようなプログラムを書いてsniffコマンドを通して生成された実行ファイルを実行するとArduinoUNOボード上のLEDがチカチカ点滅します(Lチカですね)
make led digital output 13
when start
.forever
..set led to off
..wait 1 secs
..set led to on
..wait 1 secs

Minecraft Piにメッセージを表示させるだけのプログラムだと以下のように書けます。
make minecraft device
make message string
when start
.set message to "Hello, Minecraft World"
.tell minecraft to "show"



Scratchの言語設定を英語にしたことがある人なら「おっ!」と思えるようなプログラムになっていることが分かると思います。


Scratchでイロイロな作品を創ってきた人で、キータイピングもそれなりにできるようになってきたら構文エラーの出る世界に挑戦できそうな気がしてきませんか?

"sniff"という英単語には「くんくんとにおいをかぐ」というような意味があるんだけど、これはScratcherのみんながテキスト(文字)ベースのプログラミング言語の世界のにおいをくんくんとかいでもらえるといいな、という想いから付けられた名前なのかもしれません。


くんくんくんくん・・・・
ねぇねぇ、カレーの匂いがするよ!

それはたぶん
今日のゴハンだと思う・・・

0 件のコメント:

コメントを投稿