2015/08/17 14:00
プログラマーを育てたいならプログラム以外のことをさせよ――Viscuit開発者 原田ハカセ×サイボウズ 青野社長のプログラミング教育論
プログラミングが小学校で義務教育化する方向にある現在、プログラミングを学ぶ意味や、あり方を改めて考える時期にきているのかもしれません。プログラミング言語「Viscuit」開発者の原田康徳さんと、サイボウズのイクメン社長、青野慶久さんによる対談の前編では、子どものプログラミング教育や現在の課題について伺いました。
Viscuitは「コンピュータを粘土のように」がキャッチコピーのビジュアルプログラミング言語。2003年2月に、最初のバージョンがリリースされた。
Viscuitでは、言葉を一切使わずに、動き(差分)を「メガネ」と呼ばれるフィールドに指定することで、絵を動かすことができる。
また、Viscuitにはお絵かき機能もあり、自分で描いた絵を使ってプログラミングができる。原田さん曰く「はさみを使うより簡単」とのこと。
Viscuitは、コンピュータの本質やプログラミングの楽しさを伝えたくて開発した
――まず始めに、プログラミング言語の「Viscuit」を開発された背景をお聞かせください。
原田 コンピュータが少しずつ一般家庭に普及し、教育現場にまで導入されるようになりましたが、2003年あたりでしょうか、気付いたら子どもに触らせてはいけない悪いモノになっていました。某掲示板で殺人予告があったりして、その影響もあったのだと思います。
でも、悪者扱いする大人が知っているのは、コンピュータではなく、上で動いているアプリです。悪いアプリと良いアプリの違いが分からない大人が、子どもにコンピュータを触らせるなと言うのはよろしくないと感じました。しかも、この風潮は未だ残ったままです。それを変えたいと思ったのが一つです。
青野 (コンピュータの本質が分からず、けしからんと言う大人は)コンピュータをあまり触ってこなかったんでしょうね。説明できる人はなかなかいないですよね。
原田 にもかかわらず、コンピュータの何たるかを理解していない教育委員会や政治家が、今の情報化社会において大切な判断をしなければならないのが現状です。
青野 以前、妻に「インターネットって無線でしょ? コンセントいらないやつでしょ?」と不思議なことを言われて、何て答えればいいんだと困ったことがあります(笑)。でも、何がどう連携し、プログラムがどう動いているかが分かれば、それほど難しくて怖いものではないと理解してもらえるんですよね。
原田 そうした本質的なところを分かりやすく伝えたいと思い、Viscuitを開発しました。Viscuitは、2つの絵を比較し、その違いを動きに変えるビジュアルプログラミング言語です。一つひとつは単純な命令ですが、追加していくほどに複雑な動作をさせることができます。実はその延長線上にNintendo DSなどのゲームがあるんですよね。
青野 Viscuitは「これができた! 次これもできるかな?」というプログラミングの面白さを体感できる言語だと思いました。
原田 他の言語では、そういったプログラミングする楽しさがうまく伝えられないんですよね。
青野 教えるのが難しいんでしょうか。
原田 Viscuitに限っては、そんなことはないんです。毎月Viscuitワークショップのファシリテーター講座を開催していますが、女性の参加者が多いんですよ。
青野 そうなんですか! 女性から見ると魅力的なんでしょうか。これなら触ってみたいと思えるのかも。
原田 LEDやロボットが動くといったオタクっぽさというか、電子工作的なものを排除したのも、よかったのかもしれません。
青野 それは、大人も含めてより多くの人に使ってほしいと思ったからですか?
原田 ええ。ですので、最近は大人向け講座も積極的にやっています。当初は子ども中心の講座を開催していたのですが、子どもよりも、付き添いできている大人が楽しんでもらうことも大切と感じ始めまして。
もっと違うことをやってみたい、そんな子どもの欲求を潰さないことが大切
青野 たしかに、プログラミングを学ぶにしても、まずは大人が変なボトルネックになってほしくないですよね。言語はどんどん新しいものが登場していて、昔学んだものが通用しなくなることだってあります。でも、将来役に立つんだから学べと言われて勉強した場合、通用しない、役に立たないと分かった瞬間、コンピュータ全般がつまらないものに見える恐れがあります。自分でプログラムを作る喜びが根本にあるべきです。
その点で、Viscuitは触っていろいろ動かしているうちに、もっとこうしたいという気持ちを掻き立ててくれます。if文がどうとか構文がこうとかの理屈ではなく、作りたい気持ちを刺激してくれます。
原田 その先をやってみたいと追求するのは、とても楽しいですよね。実は私も、Viscuitで最近新しい発見をしました。それが、ソートです。数や数え方も知らないViscuitでソートができるんですよ。
実は、小学校3年生の娘にプログラミングを教えたいと思ってViscuitを作ったのですが、今は大学4年になった彼女との対話の中で発見したんです。
Viscuitでソートするには、「2 1」の場合は「1 2」に、「3 2」の場合は「2 3」にと指示を設定して実行するだけです。すると、小さい数字から順番に並べかえてくれます。
青野 これはすごいですね。思い付きそうで思い付かない。制約のある中で何かを生み出す、まさにクリエイターズマインドですね。
それに、「ソート」と言うと何をしているか分からないけれど、並び替えのやり方を見せてから「実はこれがソートなんです」と説明すれば、直感的に理解できる。
原田 そうなんです。Viscuitを使って2進法や10進法を教えているんですが、情報とは何か、計算とは何かを遊びながら考えるきっかけにもなっています。
積み木は本来、建築の基礎を学ぶという目的があったそうです。このように積むと崩れてしまうなど、試行錯誤を繰り返すうちに重心や平衡などに対する直感が磨かれていく。Viscuitでも、遊びながらコンピュータの基礎を肌感覚で学べるんです。
プログラマーに育てたいなら、何でもいいから多くの経験をさせること
――青野さんは、子どもにプログラミングを教えるべきかについてどう思いますか。
青野 それは子ども次第ですね。強制するのはよくないなと思います。プログラミングを学べと僕が言った瞬間、プログラミングは学ばなければならないものに変わってしまいます。それだけは絶対避けたいです。絵を描けと言われて画家になるというイメージが、私の中で湧かないんですよ。子どもの内側から欲してくるのを待つものだと思っています。
原田 文部科学省は初等中等教育にプログラミング教育を導入しようとしていますが、それは押しつけであって、プログラミングの楽しさが失われるという声がありますよね。
青野 ええ。でも、そうはいっても文字の読み書きを知らなければ小説家は生まれません。なので、バランスをとる必要があるのかとも思っています。
もしも私がコンピュータを教えるとしたら、基礎から始めたいですね。コンピュータの中身はこうなっていて、この機能とこの機能が連携するからこう動作するといった具合です。たとえば、地球や空気、地面はこういう構造ですと教わり、興味が湧いた人は自然学者を目指すように、コンピュータの基礎を学んだ先にネットワークやアプリケーションへの興味が湧いてくるといいなと。
原田 もう一つ、そのコンピュータで何かを生むためのネタを仕込むことも大切ですね。ある親御さんに「子どもにIT関係の道に進ませたいけど何をさせればいいのか」と質問されたのですが、今は何でもいいから多くの経験をさせることが大切だと伝えました。プログラミングの技術などは、そのあとでいくらでもできます。ネタの蓄積は、プログラミングを学んだあとに効いてきます。
青野 初音ミクの生みの親であるクリプトンの伊藤博之社長も、音楽を極める延長線上にプログラミングがあったと聞いたことがあります。プログラミングは何かを達成するための手段であって、何かをしたいという気持ちがその前にあるってことですね。
サイボウズの社員に、プログラミングを学び始めたきっかけについて聞いたことがあるのですが、一番多かったのはゲームでした。自分でゲームを作りたいから勉強したという人や、負けるのが悔しくてコード解析し、そのうちセキュリティに興味を持ち始めた人まで、さまざまです。
プログラミングの義務教育化は、プログラミングに社会が興味を持ち始めたのは良いことなんですが、何かを作りたいという根本的な欲求を育てられるよう子どもを導くことも大切なのかもしれません。
楽しさや怖さを学んでコンピュータや情報を使いこなす
青野 あとは、コンピュータがどんなところで活躍しているのかを伝えるのも楽しいかもしれません。SUICAでタッチ&ゴーできるのは、なぜなのかとか。
原田 仕組みを説明するだけで面白いものが山ほどありますよ。
青野 アプリも遠隔でどんどん更新されるし、配布も世界中に自由にできるし、コンピュータの世界は本当に面白いです。
原田 そこが、実際のモノとは全然違うところですね。たとえば車の場合、一台ずつ不具合が発生し、そのあとでリコールされることがあります。でも、コンピュータの場合は一斉に壊れて一斉に修正される。すごく便利だけど、すごく怖いところでもあります。
青野 怖いという意味では、最近は情報漏えいなど、コンピュータ絡みで社会問題に発展する事案が増えてきました。たとえば、情報がどこに保存されていて、何がどうすれば漏えいしてしまうのか、漏えいしたら何が問題なのかといった、情報と社会との接点を学ぶことも重要になってきています。
原田 私が作成したViscuitのデモの一つで「感染のシミュレーション」というのがあります.。健康な人が病人とぶつかると病気がうつるというものですが、たった一人の病人からスタートして指数関数的に感染が広がって行く様子がみられます。病気を治す病院を建てても、一人ずつしか治せないために、なかなか全員が健康にはなりません。情報も同じで、拡散すると元に戻すのが大変なんですね。
青野 その感覚はみんなに備えてもらいたいですね。私もネットで余計なことを言って痛い目にあった経験があるので(笑)。こういうことは子どものうちに小さい痛さとして経験させてあげたいです。自分の発信した情報がどう伝わるかを、子どものころから失敗を通じて学んでもらえるといいです。
原田 本当はこれをカリキュラムにして、計画的に学べるといいんですが。
青野 IT先進国の一つであるエストニアでは、小学校でSNSの使い方を学ぶ授業があるそうです。発信した情報がどう捉えられるかといったことを教えているようです。
原田 そこが分かれば、LINE禁止などと言いださなくなるんでしょうね。
***
子どもたちにコンピュータの本質を伝えたいと思い、Viscuitを開発した原田さん。プログラミングを学ばせるべきか、というよりも「プログラミングでこれを作りたい」という気持ちを大事にしようという話で盛り上がりました。後編では、今の子どもが大人になるころの、10年、15年先の未来のプログラミングについて、語っていただきます。
著:谷崎朋子
写真:小倉亜沙子