ビスケットのあれこれ

ビジュアル言語ビスケット(Viscuit)に関するあれこれを書いてゆきます.

コンピュータあるある

2014-07-22 01:58:16 | 1
ビスケットは良くあるプログラミングを学ぶツールとは違います.ビスケットの目的はプログラミングというスキルの獲得ではなく,プログラミングを通じてコンピュータとは何かを知ってもらうことです.

「コンピュータとは何か」これはそう簡単な問いではありません.人によって答えがまったく違ってくるでしょう.コンピュータにどっぷり浸かっている人でも,コンピュータで今の時代に役に立つプログラムを書いている人や,未来のコンピュータはどうあるべきか研究している人,1日10時間はアプリを使っている人など,それぞれの人にとって「コンピュータとは何か」の答えは違います.どっぷり浸かっていない人だともっと全然違うイメージをもっているでしょう.

そんな大きな話ではなくて,もう少しみんなが合意できる共通像は何か考えてみたいと思います.つまり「コンピュータあるある」です.これは,コンピュータの中身を知っている人にとっては,わざわざ言うまでも無い当たり前すぎることだけれど,中身を知らない一般人にとってはまったくピンと来ないこと,を言います.その中で特に,時代や技術に不変なものがあります.そういうことをどこまで噛み砕いて一般人へ伝えて行くか.それがプログラミングを通じてコンピュータとは何かを知ってもらうということです.

いつものビスケットの教え方を例にして解説して行きましょう.

最初に魚の絵を描いて,それをメガネで動かします.まあ,1匹だけ動かすのでも自分で作ったメガネで魚を自由に動かすことができて,それはそれで楽しいのですが.ためしに魚を沢山ステージに置いてみます.置かれた魚は全部同じ動きをします.たった一つのメガネで,魚は全部同じ動きをする.これがコンピュータです.一度書いたプログラムは何度でもどこにあっても同じように動きます.ところが自然界ではこんな不思議なことは起きません.似たものがあっても少しずつ動きが違っていて,すべてがピッタリ同じ動きということはまったくあり得ません.



次にそのメガネの中の魚の位置を変えます.つまりプログラムを修正します.すると,ステージに置いてあるすべての魚の動きが一斉に変わります.たった一つのプログラムを直しただけで一瞬で全部の動きが変わってしまいます.これもコンピュータならではです.自然界では一瞬で全部の動きが変わるなんてあり得ません.少しずつ真似が伝搬することはあるかもしれませんが,伝わるのに時間がかかります.


それだけにぎやかに動いていたステージですが,メガネのプログラムを壊すと,一瞬ですべての魚の動きが止まります.これもコンピュータならではです.コンピュータではプログラムに不具合があると,そのプログラムを使っているすべてのコンピュータで必ず不具合が出ます.ところが自然界では,たとえば車のリコールがあったとき,ある部品の不具合が見つかったとしても,その部品を使っているすべての車が必ず故障するわけではありません.故障する可能性が高いので,危険だからすべて回収するというだけです.コンピュータほど極端な反応はしましません.


新しい魚を描いてステージにいれます.しかし,それは動きません.なぜならその魚を動かすためのメガネをまだ作っていないからです.その絵が最初の魚とそっくりに描いてあったとしても,コンピュータにとっては別物として扱われます.これもまったくコンピュータらしい性質です.人間はそこまで冷たくはありません.似ているものに対しては融通を利かせて大体似たような動きをさせます.



コンピュータは自然界・人間と比べて何でも極端なんです.それがプログラムのバグを一斉に修正できるというよい使われ方をする一方で,コンピュータウィルスに感染したら,それが一気に広まってしまう,という危険に対しても作用します.

アプリやシステムなどを注意深く設計してコンピュータの上にかぶせれば,素のコンピュータを隠すことはできるかもしれません.しかし,どんなに注意深く設計しても見逃しがあって,ときどき素のコンピュータが顔をだして来ます.ずっと未来には素のコンピュータを完璧に隠せるようになるのかもしれませんが,当分はまだまだです.

ビスケットの標準的な教え方では,ここまでを5分~10分で教えてしまいます.このような細かな解説はしませんが,遊んでいるうちにこれらのコンピュータの性質が自然と体に入ってもらうことを期待しています.


今年もNTTドリームキッズという全国でのイベントで,ビスケットが体験できます.いつも,この体験の最後にコンピュータとは何かという解説を少し入れているのですが,今年はここに書いたようなちょっと踏み込んだ内容を話してみようかなと思います(大阪,福岡はまだ募集中のようです.僕は全部の会場には行けません).

http://www.ntt-dreamkids.com/



この手のビスケットを使ったコンピュータの性質の解説はまだまだあるので,乞うご期待.

小学校1年生にプログラミングを教える例のやつ

2014-07-02 17:21:01 | 1
先日,武雄市とディー・エヌ・エーと東洋大学とで,武雄市の小学校1年生にプログラミング教育をする取り組みについてニュースになりましたね.こういうことがニュースになるのは本当に素晴らしいことで,陰ながら応援したいと思います.


僕はプログラミング言語オタクなので,どういうツールを使うのかが非常に気になっています.この記者会見の中継は見ていなかったのでちょっと間違ったことをいうかもしれませんが.この朝日新聞の記事に少しだけ画面がありました.

画面はこちら.ここにその画像を貼りたいですが,直リンク禁止しているみたいで(ハックすれば簡単にできますが)すみません,リンク先をごらんになってください.

(開発中の画面に文句を言うのは申し訳ないのですが,日本製のものに期待をこめている部分もあります)

まず,気になるのは「まえにすすむ」という命令です.ここに出ているキャラクターは手前を向いています.なので,このまま前に進んでもらったら画面の手前に来てしまいますよね.これを作った人の気持ちもわからなくはないですが,キャラクターは横を向いていなければなりません.一番いいのは「みぎにすすむ」という命令にすることだと思いますが,そうすると「はんたいをむく」というのが訳が分からなくなるんですよね.

それから,この背景の草の絵からすると,真上から見たのではなくて,斜め上から見た感じですが,それだとキャラクターが画面の上に進むことは,草原にとっては向こう側に進むことになるんですが,それを何と言う言葉で表現するか.同じようにキャラクターが画面の下に進むと,それは草原の上ではこちら側に来ることになります.子どもが感じる画面の上の動きと,それを表す言葉の関係はかなり難しい問題です.草をちょっと立体的に書いたことが失敗なんですよ.

文科省のプログラミンはそこは上手にやっていますね)

それから,「はじっこについた」というのが出てきます.しかし,この画面は明らかにすごく広い草原の一部を見ている.はじっこ というのは草原の端ではなくて,これを見ているカメラのフレームのことです.なぜ,このキャラクターは私が見ているカメラのフレームの端についたことがわかるのでしょうか(笑)

やるんだとするなら,背景は机の絵のようなものにして,ちゃんと机の端も画面のなかに見えていて,その机の端についたなら,とすべきだと思います.

もちろん,コンピュータに毒されて,コンピュータの文法にしたがって生きている人たちにとっては「端といえば画面の端に決まってんじゃん」というかもしれませんが,そんなコンピュータの中にしか通じない常識を教えることが大事なんでしょうか.

僕の不安は,このちょっとした絵や言葉の違いにひっかかって先に進めなくなる子が何人かいるんじゃないか,ということです.TVゲームやiPadを遊びまくっている子どもは,コンピュータの文法にしたがうことに慣れているかもしれませんが,そうじゃない子もかなりいる.一般の小学校ですから.

それとやはり思うのは「文字による命令から動作への変換スキル」のことをプログラミングと思っているのだとしたら,それは余りにもプログラミングを狭くとらえすぎです.それはプログラミングのごくごく一部でしかありません.出来の悪いパズルを解く能力でしかないです.

僕も小学生にプログラミングを教えていますが,それは「コンピュータの無限の可能性」とか「プログラミングでコンピュータが自分のものになった感じ」を伝えたいからやっています.で,そういうことを小学生の能力にダイレクトに伝えるためには,文字とか空間の概念とかいろんなものが邪魔で.なので文字を使わないビスケットにしたわけですね.ビスケットの設計にはこのレベルの考察をかなりやって,現場のフィードバックを重ねてます.

そうはいいますが,なんだかんだ言って子どもはすごい能力を持っているので,最終的には子どものおかげでこのプロジェクトは成功すると思います.子どもは一瞬で大人の求めていることを察してそれに追従してくれますから.

でもそれは逆に怖いですよ.自分が予期しない方向に成長しちゃうわけですから.子どもを相手にする人は,ものすごく高い理想を持ってやらないといけないのです.

子どもにコンピュータを教える,と言うこと自体が,我々世代が初めて経験することです.先人の真似さえしてれば良い分野とはまったく違います.慎重に繊細に進めたいものです.


(実は同じ武雄市で今月末にビスケットのワークショップがあります.
宇宙のアニメづくり