国立情報学研究所 研究成果発表・一般公開 オープンハウス2016

参加申込

開催まであと
--

NII若手テイダン!

INTERVIEW

さあ君も、プログラミングの世界を体験しに来ないか!

コンピューターのプログラミングは、私たちの身近な生活の場から宇宙ロケットの制御まで、あらゆる分野で使用されている。小中学生でも学べるプログラミングについて、国立情報学研究所の若手研究者3人に聞いてみた。

坂本一憲さん
アーキテクチャ科学研究系助教。専門分野はソフトウェア工学やプログラミング教育、情報学と心理学の融合など。ゲームAIプログラミングコンテストを主催する
秋葉拓哉さん
情報学プリンシプル系助教。高校2年生のときにプログラミングコンテスト「SuperCon」で準優勝、「日本情報オリンピック」で優勝。2012年には「ACM-ICPC」世界大会で銅メダルを獲得。現在は大規模ネットワークに向けた効率的なアルゴリズムの開発に取り組む
対馬かなえさん
アーキテクチャ科学研究系助教。専門分野はプログラミング言語・プログラミング教育。現在は安全なプログラムを簡単に書けるようにする手法の開発に取り組む

プログラミングって、何ですか?

秋葉
小中学生の皆さんは、コンピューターのプログラミングについてどんなイメージを持っているのでしょう? 簡単にいえば、プログラミングとは、コンピューターにいろいろな作業をさせる「設計書」といえますね。
坂本
料理のレシピのようなものですね。レシピの手順を一つひとつこなしていくと料理ができあがるように、プログラミングを積み重ねていきます。
秋葉
それをコンピューターはものすごい速さで、繰り返し処理することができるわけです。
対馬
実際のモノ作りだと、例えば100個作ろうと思ったらそれだけの材料が必要ですね。でも、コンピューターにはそうした物理的な制限がほとんどありません。
坂本
コンピューターゲームでボタンを押すとキャラクターが動く、あの動きもプログラミングです。家電や高速道路のETC、人工衛星の制御などもそう。
秋葉
いまの社会で、プログラミングによらないものを探すほうが難しいです。

先生たちはどうしてプログラミングを勉強したの?

対馬
2人はいつからプログラミングを学び始めました?
坂本
僕は中学1年生の部活からです。コンピューターゲームを作りたかったのが理由でした。
秋葉
まったく同じです。僕は小学生の頃からコンピューターに興味があったんですが、周りに教えてくれる大人がいなかったんです。中学で部活があってうれしかったなあ。
対馬
実は私も同じ。中学生から、ゲームを作りたくて始めました。ちょうどCG(コンピューター・グラフィック)技術が進化していた時期だったので、興味があったんです。
坂本
部活でそうやって学ぶなかで、あるとき、ゲームじゃないものを作ってみたんです。データの圧縮ソフトだったんですけど、自作のソフトを公開できるサイトにあげてみたら、使って喜んでくれる人がたくさんいた。それがとても励みになりました。もっとがんばろうって。
対馬
プログラミングは配布が簡単なのが特長ですね。あっという間に世界中に広がっていきます。
秋葉
僕はそのうち、プログラミングの技術そのものに興味が出てきました。これは“アルゴリズム”と呼ばれていますが、どうやればすっきりと、効率のいいやり方で答えにたどり着くか、その過程を考えます。例えばゲームキャラのグラフィックだったら、ただ動かすだけじゃなく、どうきれいに動かすかにこだわっていきます。ロジック(考え方の筋道)によってプログラムの賢さが全然ちがってくるのがおもしろくて、高校の後半からはずっとそれを勉強していました。それで、とうとう今はアルゴリズムの研究者になっています。
対馬
私はプログラミングをするようになってから、動いているものを見ると、どうやって作ったんだろう? と気になるようになりましたね。
坂本
僕はモノを作って、それが誰かの役に立つのを実感するのが楽しくて、今の研究につながっています。秋葉先生のアルゴリズムも、モノ作りに生かされていますよね。
秋葉
そうですね。僕の作ったアルゴリズムが組み込まれた製品はいくつかあります。ウェブサービスとか、地図の検索サービスとか。どちらも、入力したらすぐに反応してほしいですよね。その反応の速さを実現するのが、アルゴリズムなんです。

小中学生からプログラミングを学ぶと、どんな力が身につきますか?

対馬
プログラミングでは、モノ作りの楽しさを感じられますし、何度も失敗し、別の方法を試しながら挑戦できます。そのプロセスは、役に立つ経験だと思いますよ。
坂本
まずは、論理的に物事を考えられるようになります。それから、計画を立てるのがうまくなる。プログラミングは、あれをしてこれをして、という手順が大切です。常に目的に向かって、次を考える癖がつくからこそ、プログラムを書けるのです。
秋葉
クリエイティビティ(創造する力)が上がります。おもしろいゲームを作ろうと思ったら、プレーヤーが何に興味を持つのか気になるでしょう?自分の世界に閉じこもっていては、おもしろいゲームはできません。だから、プログラミングにはまると視野が広がるんです。
坂本
始めるなら、早いほうがいいですよね。
秋葉
そう!僕はいまの子どもたちが本当にうらやましいんです。だって僕たちの時代よりもプログラミングを学ぶ機会がたくさんありますからね。プログラミングって、本を読んでもすぐにできるようにはならないんです。数学と同じで、練習問題をたくさん解かないと身につかない。自分で何度もやってみることが大事なので、早くから始めれば、それだけたくさん練習できるわけです。
坂本助教が開発したプログラミング教育用アプリを使い、画面の中のキャラクターとぬいぐるみを同期させて操作する(昨年のイベントから)

プログラミングの楽しいところはどこですか?

対馬
自分で作ったモノが動くと楽しいし、人に使ってもらえるとすごくうれしい。さっきも言いましたが、手に取ることのできるモノはたくさん作るのが大変ですけど、プログラミングは世界中の人に、いくつでも使ってもらえます。
秋葉
アルゴリズムを見るだけで、会ったことがなくても“あ、あの人の作品だな”ってわかる。プログラミング言語は世界共通なので、世界中に知り合いができます。大会で実際に会うのも楽しみだし、昔からの親友みたいな感じがします。作品を公開すると、あちこちから英語でコメントをもらうんですが、自分の作品に対する感想だから、辞書を引いて必死に読もうとしますよね。英語も得意になるかもしれませんよ。
坂本
プログラムはたいていオープンソース(一般公開)なので、誰でも改良したり、感想を送ったりすることができます。そうやって、世界中の人が協力してより良いプログラムにしていくわけです。
秋葉
あとは、ロジックを組み立てること、それ自体も楽しいですよね。数学やパズルが好きな人なら、きっとおもしろいと感じるんじゃないかな。頭の中でイメージしたことを、どういう組み合わせで実現していくか、じっくり考えるのって楽しいですよ。そうやってできた作品がモノに組み込まれると、モノ作りの達成感も得られます。
坂本
コンピューターってすぐに結果が出るから、努力して改善して試して、また努力して……というループが速い。そのスピード感も、僕は好きですね。

では、プログラミングの難しさはどこにありますか?

秋葉
挫折しやすいところ(笑)。自分が作りたいモノを作れるようになるには、時間がかかるので。それでも最近は、MITメディアラボ(米マサチューセッツ工科大学の建築・計画スクール内に設置された研究所)が「Scratch(スクラッチ)」という子供向けのビジュアルプログラミング言語を開発したりして、時間がぐっと短縮できるようになりました。これはブロックみたいな見た目で、一つひとつがプログラムなんです。そのパーツを組み合わせていくと、複雑な一つのプログラムができちゃう。学び方も洗練されてきたなあ、と思いますよ。
対馬
そうは言っても、挫折は絶対、しますよね。
秋葉
します、します。僕たちみんな、挫折した経験が何度もあります。実力の差がはっきりわかる世界ですから、部活のときも、先輩のプログラムと比べて落ち込んでいました。でも、足りないことがわかるからこそ、努力できるんです。
坂本
努力しないとダメですね。モノ作りが形になるまでの道のりは遠いです。たくさん勉強して時間をかけないと。あとは、社会の理解かな。プログラミングって、親から見ると「またゲームで遊んでる!」と思われちゃう(笑)。遊びじゃなくて、大事な勉強なんだってこと、もっと大人がわかってくれるといいなあ。

プログラミングの世界で、日本の子どものレベルは高いですか?

秋葉
比較的、高いです。中高生向けのアルゴリズムの世界競技会があるんですけど、日本はトップランクです。
坂本
ただ、一部のがんばっている人に限られますね。日本ではプログラミングは趣味であって、義務教育ではありませんから。世界には、「これからは知的労働が中心になるから、国民全員がプログラミングをできるようにしよう」と義務教育化している国もあるんですよ。

プログラミングに向いている人ってどういう人ですか?

秋葉
どうかなあ。数学が好きな人は確実に好きだと思うけどな。
坂本
でも、ロジックを組み立てるのに、文系の力も必要ですよね。あ、逆にプログラミングを学ぶようになってから国語の成績が上がったという人もいます。論理的に考える訓練がいいのかな。
秋葉
では、結論。文系、理系、どちらの力も必要ですね。プログラミングは本当に実力勝負。実力さえあれば、小学生だろうと、中学生だろうと、大人とまったく同じ舞台で活躍できるのが魅力です。
研究成果を披露した約100のブースにも、子どもたちは興味しんしん。研究者と直接話もできる(昨年のイベントから)

自分にとってプログラミングとは何ですか。

秋葉
ロジックを表現しコンピューターに伝える方法です。
坂本
私が夢中になって取り組むことができ、そして、その結果生まれたソフトウェアが誰かの役に立てます。私に楽しみながら世に貢献できる術を与えてくれる存在です。
対馬
表現の手段であり、人と交流するきっかけであり、社会に貢献する手段であり .. と多くのものを可能にしてくれるものです。

プログラミングに興味が出てきましたが、何から始めたらいいですか?

対馬
「オープンハウス2016」は、いま話したようなプログラミングを気軽に体験できるイベントもあるので、少しでも興味があったら、ぜひ参加してみてください。
坂本
僕は小学生向けに、スマホを使ってプログラムを書き、目の前のぬいぐるみを動かすというワークショップを担当しますよ。
秋葉
プログラミングに関する、僕たちの座談会もあって、自由に質問もできます。皆さんにお会いできるのを楽しみにしています。
ページトップに戻る