• どうも、こんにちは。自己紹介で重要なのは北海道の人だっていうことと、NTTに23年いたと。そのあと、いろいろあって、兼務しましたが、去年、デジタルポケットっていう会社を作りました。一応、総務省のプログラミング教育の委員とかもやっています。

  • 基本的にはコードが書ける研究者っていう感じですね。コード書けちゃったんで、研究の道をそのまま、居続けられましたと。どういう研究をしてきたかというとプログラミングをいかに簡単に書けるかという研究をしてきました。

  • プログラミング言語っていうのが、この先どんどん高度になっていくと、少しのプログラムですごいことができるというふうになると。

  • そのとき、ターゲットにしてたのは、プロの人向けにビジュアル言語で何かをやろうとしていたんです。ところが、あまりにも大上段で構えすぎていて、研究が息詰まって、肩の力を抜いて、今まで、いろんな蓄積があったんで、それの入門用を作ろうと作ったのがビスケットという言語で、それが2003年です。そしたら、結構、思った以上におもしろいものができたので、そのあと、それを普及するように努めようと。

  • 私がどういう未来を考えているかっていうと、だから、研究者だから、まず未来を想定してから研究するんですが、プログラミングっていうのは、今よりずっと、簡単になるっていう、まずそこです。ソフトウェアが、きちんとソフトになると。これ、ソフトウェアっていう名前は、本来、ソフトウェアなのに今、全然やわらかくないですよね、がっちがちで。むしろ、がちがちに作るほうが安全だったりするということもあるんでしょうけども、そこがちゃんとソフトになるっていうのが、

  • 私の考える未来でその結果、どういうふうになるかというと、誰もが、プログラムで自由にものを作れるようになって、例えば料理とかっていうのはいろんなレベルがあるんですけど、卵焼きとか、ホットケーキ作るのから、三つ星のシェフとかね。いろいろなレベルがあるようにプログラミングを書くのもいろんなレベルがあるでしょうと。

  • もう一つは、作る人と使う人の垣根がなくなる。今は完全に垣根がありますけども、そういうふうになるっていう未来を想定してる。そのときに、ビスケットってどういうものかというと、未来のプログラミングを先取りしたというふうに

  • ちょっと思っていただけたら。今、プログラミング教育っていうのが、すごく流行になってて、その中であるのは、今のプログラミングを子ども向けにアレンジした。そういうのがすごく多いんですけど、そうではなくて、私は未来のプログラミングをそのまま持ってきてるという感じです。そうすると、コンピューターの本質っていうのが、どういうふうに見せていくかっていうのと、コンピューターの本質的じゃない部分っていうのをどんどん隠さなきゃいけないですね。

  • ビスケットで遊ぶとコンピューターの本質が見えてくるということで、教育的にもいいということです。ここからは、ビスケットのデモに入ります。ビスケットはアプリとして出てるんですが、こうやって、絵を描きます。

  • 絵を描いて、絵を置きますね。これが眼鏡というもので、眼鏡の中に今、描いた絵を入れると、こういうふうに動き出します。ずらすと、ずらした方向に動くので、これ、眼鏡は前と後ってことなんですけど。もう一個、絵を描いて、今度は口の開いた魚ですね。描いて。もう一個、眼鏡を持ってきて口を閉じた魚が、口が開くという命令ですね。こっちは口が開いたのが閉じるっていうふうにやると、

  • こうやって、パクパクします。ここで、わーってウケるところなんですけども。こうなります。それから、ちょっと餌みたいなのを描いて、これ、餌です。餌を置いて、

  • 今、向かって、食べそうになるんですけど、これは口が開いた魚の前に餌があったら、食べると。これでぱくっと食べますね。ここで条件判断が入るんですよ。ぱくぱくと食べますね。それから、これがタッチですね。画面を触ると、そこに餌ができるという。例えば、走らせてどんどんタッチしていくと餌が生まれて、そこにいくと、食べてくれると。こんな感じです。

  • これ、いろんな学年の子どもたちとやっているんですが、これ、よくやるものです。棒人間が横に動くってプログラムです。もう一個、棒人間描きます。これが、風邪をひいた人です。風邪をひいた人は上に進むっていう命令ですね。1個入れると、上に進んでいます。もう1個入れると、ゆらゆらさせるんですね。眼鏡が2つあると、ランダムに選ばれて、ゆらゆら上に進むっていう、風邪をひいた感じですよね。

  • ゆらゆらと。これで、普通の人というか、健康な人と、風邪をひいた人がぶつかると、風邪がうつるっていうプログラムを作ります。それがこれなんですけど、健康な人と風邪をひいた人がぶつかると、健康な人が風邪をひいて、風邪をひいた人はそのまんまですね。これで、風邪がうつる。そうすると、どんどん、うつっていきますよね。

  • ここもがーっと...。あー!って感じですね。小学生にやると、一人増えるごとに、あー!ってなりますよ。静かに見るところじゃない。最後は消えたのか、これで、あー...ですね。ありがとうございます。

  • このあと、こういう解説をしています。ものと情報の違いってやつですけども。ものがありますよね。ものを誰かにあげます。あげると、自分のところからものがなくなりますね。ものっていうのは、移動するのが

  • 原理なもので、それに対して情報というのは相手に教えても自分は忘れません。さっきの風邪の場合も、風邪を相手にうつしても自分は治らないわけですから、そういう相手に教えても忘れないという、複製するってことですけど、それは原理的に拡散するわけですね。

  • そういう性質があると、拡散することになっちゃって。逆に言うと拡散をどう止めるかの方が大事になるんですね。しかも、その拡散もさっきやったように最初は、すごくゆっくりと、途中から急激に増えますよね。そういう現象になるっていうのが

  • 情報っていった瞬間にそうなるっていうことなんですよ。それがものが落ちると同じくらい重要な原理だってことです。それを今の遊びの中で、主体にしていると。もう一個、3すくみ。風邪の感染って一方的に例えば、風邪が強いだけですよね。それに対して、絵を3つにして

  • 強い関係が三角形になっているという、じゃんけんですね。それをやったらどうなるかっていうのが、この実験です。グーとチョキとパーを描いて、グーを入れて、チョキを入れるとグーは、動きますね。チョキも動くと。グーとチョキがぶつかるとグーの勝ちなので、グーとグーになる。これをぶつかるように、ちょっとしますね。こういう感じですね。これ、グーをゆらゆらさせてから...。チョキもゆらゆらさせますと。今度、パーを入れます。パーを入れて、パーとチョキがぶつかると、パーが動いて...

  • パーとチョキがぶつかると、チョキの勝ちなので、チョキとチョキになります。最後に、パーとグーがないですね。パーとグーがぶつかるとパーの勝ちなので、パーとパーになります。走らせますね。これ5つずつ入れてるんですけど...。パーが優勢ですね。これでチョキが2人になった。チョキが頑張ってますね。じっと、見てるのつらいかな?...。あー、グー、1人になった。これね、結構おもしろいんですよ。私、結果、知ってるから。

  • (映像を見ています)

  • なくなっちゃいました。これでもう決着ついちゃったんですよね。実は、一斉にグーにやられちゃうというね。これ、チョキ、もうどうしようもないですね。実は、これって、皆さん最初、どう思われました?走らせるときに、3つバランスとれてるから、ずっと動き続けるんじゃないかと思われたと思うんですが、僕もそう思って、実験したんですよね。

  • そうしたら、実はそうではなくて、意外なことに最初に頑張って相手を滅ぼしちゃうと、その人、負けるっていう、とんでもないことになってしまうんですね。そういう結果を知ってから、この眼鏡をよくよく見ると、たとえば、グーが頑張ってチョキを滅ぼすとパーの敵がいなくなるので、グーは一方的に負けると。

  • これ、実はそれが分かってから、この眼鏡を見ると、この理屈がすごい分かるんですけど、最初の先入観ではそうは思わないんですね。人間の先入観って実は正しい判断をよくできない。対して、コンピューターは脳の拡張をよくいわれるんですが、まさにシミュレーションをやると、人間が間違った先入観を持っていても、

  • 正せるってことなんですね。この実験をやると誰もうそをついてないってことが分かりますよね。自分でプログラミング書いているので、誰もうそをついてないって分かって、そういうことになるんですよね。私、このシミュレーションができるということが、プログラミングを一般の人に使えるようになるという一番のキラーアプリになると思っているんですが、これがあれば人間はいろんなところで正しい判断ができると思ってます。

  • これは、そっち側の話ですが、三角を触ると三角から、青い丸が出てくる。三角を触ると出てきて、何回か触ると、重なってるのでどんどん濃くなっていきます。この青い丸が、これは横に動くっていう命令でやると、できたものが、どんどん横に動いていく。

  • これ、画面がつながってるんで、これで画面がつながらないっていうふうにしてやると、こういうふうに出て、どんどん、はじかれていきます。重要なのが、この青いのが動くっていうところに、ここにもう一個、重ねます。

  • 2個重なると、隣に動くという。1個だけ動く。これで1です。また2つ出てきて、また重ねると、とんとんといくんですよ。

  • また重ねると、とんといって。数えますよ、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、

  • ということで、これ2進法なんです。実は。2進法なんですが、これは6なんですけど、6と7、8、9、10、11、12なんですけど、似てますよね、2個並んでて。これ、ぱっと区別つかないんで、これを区別つけるようにちっちゃい点を1つ描きます。ちっちゃい点を描いて、それを動いたあとのところに、ここにぽんと置くようにします。これで、桁がずれないんで、こういう感じになります。そうするとさっきの6と12が区別つくのですが。

  • この小さい点と大きい丸が重なっているのが気持ち悪いんで、それをもう1個、眼鏡出して大きい丸と小さい点が重なると小さい点が消えるというふうに、眼鏡、やります。こうすると、これできれいに消えていきますね。なんか、気持ちよくないですか?これ。

  • ビスケットは、1回、作ったあとで絵を描きかえることができるんで、描き直すことができるんで、大きい丸ですね。描き直して、1っていう数字にします。薄い字で1っていう数字にします。

  • それから、小さい点を描き直して、0を書きます。そうすると、さっきのが、とたんにそれっぽくなるわけですね。そのときに、さっきの眼鏡がどういうことだったかというと、まず2つ重なると、次の桁にいくというのがもともとあって、0と1が重なったら1になるっていうのがありましたね。0足す1ということなんです。

  • 2つ重ねると足すって意味にしてます。1と1が重なると1、0になるっていう、2進法の足し算を眼鏡で作ってたということなんですね。この原理でいくと10進法っていうのは、絵を10個描いてこういうことなんですけども。これは一部しか見せてないですが、絵を0から9まで描いて、それぞれの桁の足し算を教えてあげると、

  • 10進法の計算ができるようになります。実際、作ると、眼鏡が55個必要ですね。そのときに、どうしてコンピューターは2進法で計算するかっていうと、一番簡単な計算だからですね。それに対して、どうして人間は10進法が簡単だと思うかというと、50何個の眼鏡を小学校のときに暗記したからですよ。これだけの話なのに、なぜか、コンピューターは0と1の世界だからという印象で語られますよね。別に人間は0から9までの世界だけじゃないですか。

  • それから、コンピューターはデジタルだからというのは全然、おかしくて、人間だって普通にデジタルで考えてるし、そもそも細胞とか、そのレベルまでいっちゃうと、全然、アナログじゃないですよね、数で決まりますので。

  • そういうわけで実はコンピューターにまつわるいろんな話っていうのは、結構、印象だけで、本質をちゃんと分かってれば大したことない話なのに、そうなっちゃってるということがあります。

  • ちょっとだけビスケットでどんなアプリを作ってるか。これが、「テグスリフィア」っていうボールを穴から飛び越えて、とっていくゲームがあるんです。例えば、このボードをここに引くと、

  • 真ん中が取れるっていう。最後は1個だけ残れば終わりってやつ。これをビスケットで作ると、どういうふうに作れるかというと、なんと...。まず上が、ボールを選択するっていう2つ目があって、その下、4つが飛び越えたら消えるというのがあります。実は、この6つで終わりなんですよ。あのパズル作るのは。あのゲームはそういうものだから、それをビジュアル的に書き加えると、これだけだから、それだけで済むだけだから、これでできちゃう。

  • それから、今度はこれが、ボールが落ちてきて、上に、4つLがありますが、そのLの配置があったら消すっていう、眼鏡が入ってます。大体、こんなもんなんですが、これも例えば、あそこを触ると消えますね。こういう、20個ぐらいの眼鏡でできます。これが非常におもしろいんです。これ、眼鏡は何個ぐらいだったかな。斜めに2進法の計算をしてます。桁が移動するたびに、縦棒ができて、それが横に動いてきて、そのボールが丸につながると音が鳴るっていうやつなんですけど、ただそれだけで、作曲になる。音楽って、2進法的な構造を持ってますよね。

  • 2回に1回、4回に1回...みたいな。このまま出てるんです。桁が増えると、複雑なフレーズが出るのですが、また静かになってくる。波に乗って。この並び方、ランダムにしているんで、それを変えるといくらでも曲が作り直せます。曲変えたのか。なんか、いいですよね。結局、音楽の美しさっていうのを眼鏡で表すと、こんなふうになるっていうただ、それだけなんです。

  • これはつい先日、見つけたビスケットの...。今までのビスケットと違う感じしませんか?こんなのもできるんだと。これは、プログラムは眼鏡2つですね。眼鏡2つで、ぐちゃぐちゃって描いたのをたくさん出して...眼鏡3つか。この辺、私にはブログをずっと書いていて、そこのビスケット開発室というブログがあって、そこに、その辺のサンプルプログラム、全部載せているのでぜひ、ご覧になってください。

  • なぜ、小学生にプログラミング教育かというのが、私が一番言いたい話を最後に持ってきます。実は、小学生だけじゃなくて、コンピューター的な機器に触れる人間は全員、まずプログラミング教育をやってほしいと。というか、コンピューターがどういうものであるか知るべきであると思います。

  • それは例えば、お米がどうやって育つかを知らないとか、魚が切り身で泳いでるとかって、そういう話、ありましたけども、われわれから見ると笑い話みたいですが。それって、みんなの常識としてそれを知っているから、知らない人たちに対して、笑い話ですが。じゃあ、コンピューターは社会に対して、

  • すごい影響力があるにも関わらず、こういうことをコンピューターがどう動いているのかを知らないっていうのが、笑い話にならないっていうのが、今、本当はおかしいなと思うのですね。だから、コンピューターがどういうものかっていうのは今、説明したようなことっていうのは、

  • プログラム書いてる人たちは全員知ってることだと思うんですが、コンピューターを学ぶ最適な方法は何かといったときに、

  • コンピューターというのはすごい得意な発明であると。過去に前例がないすごい発明ですね。例えば、何々のようなという言い方を普通の発明は餌のいらない馬車って言ったら自動車です。

  • 自動車を見たことない人に餌のいらない馬車ができたんだってって言えば、なんか通じるわけですが、ところがコンピューターはなんていったらいいのかっていうことになりそうですよね。あと、すごさが桁違いであると。人間が大体、想定できるものは30倍というものだとなんか分かるけれども何億倍っていうものがきたときに、なんと思っていいのか分からないですよね。

  • そういう全然、前例のない発明だというのがあります。そのときに、大体、われわれの知識っていうのは、本とか座学で得ようとしているので、前例のないものに対して、理解できないんですよね。となると、あとは体験をしてしか学ぶことができないと、コンピューターをね。その体験といっているのが、プログラミングであるということです。プログラミングっていうのは、昔は、難しかったわけですが、今はご覧になったように結構、簡単になってきてるわけですね。

  • なので、そういうのを使うと、もっと、今言ったみたいなことができるんじゃないかというのが、私の主張ですね。ふだん、こんな感じで、ワークショップやってます。タブレットで、床に置いて子どもたちに。きょうも今、やってきたんですが、幼稚園児とかにやらせて。楽しそうですよね。あとは私の宣伝ですね。今、私たちがカリキュラムをいろいろ開発してまして、年長とか、小学校の低学年に対して、50分で36回ぐらいのカリキュラム。

  • 内容としては、どっちかというと造形教室みたいな感じっていうのかな。単にプログラミングのテクニックを学ぶではなくて、赤い色で想像できるものは何かなとか横に動くものは何かなとか、そういうような感じで、どんどん作れるような。きょうも幼稚園児を見てきたんですが、もう、10回ぐらいやってるかな。

  • どんどん自分たちの表現力が上がってきていて、すごかったですね。そういうのをやってます。あと、ふだん、子ども向けワークショップはあさってか、ほぼ毎日、いろんなところでやっています。大体、4歳ぐらいから中学生、高校生ぐらいに対してもやってます。あと、大人向けの体験型の研修っていうのをやってまして。チラシをお配りさせていただきましたが、コンピューターの入門っていうのが2時間ぐらいで、今、感染の話と2進法の話をしましたけども、

  • その路線でいろんなものが。きょうはお見せするだけでしたけども、実際にタブレットを一人一台お配りして自分で二進法のプログラミングを作ってその上でやるというようなことです。あと、子ども向けのワークショップを自分たちでやりたいという人が増えていて、指導者講習というのを月1回やっています。あと、今度個展をやることになっています。渋谷のはちラボという科学館っぽいところで、そこで私が開発したビスケットとか、ビスケットの他にいくつか科学教育のアプリを作っていて、実際に足利のキッズピアというところに納めさせていただいたものとかあるのですが。あと3Dモデルをつくるという、そういうのも展示するという宣伝をさせていただきました。ありがとうございました。