なぜ子どもにプログラミング教育が必要なのか
中央大学 岡嶋裕史先生に聞きました!

取材・文 山崎潤子/写真 大野真人
いま、注目を集めている「プログラミング教育」。文部科学省は小学校でのプログラミング教育の必修化を検討し、2020年度からの新学習指導要領に盛り込む方向で議論を進めています。なぜ子どもにプログラミング教育が必要なのか、プログラミングを学ぶことでどんな効果があるのか、セキュリティの専門家で、プログラミングやIT関連の著書を多数執筆されている岡嶋裕史 中央大学准教授にお聞きました。

Profile:岡嶋 裕史
1972年東京都生まれ。中央大学大学院総合政策研究科博士後期課程修了。博士(総合政策)。富士総合研究所(現みずほ情報総研)、関東学院大学准教授、同 情報科学センター所長を経て、2015年4月より中央大学総合政策学部准教授。朝日新聞出版「大学ランキング2016」メディアへの発信度(教員:書籍)8位。プログラミング・IT関連の著書が多数あり、NHKEテレ『趣味どきっ』などで初心者向けのパソコン・ITの講師を務める。
プログラミングがすべての人のインフラになる
──いま、小・中学生に向けたプログラミング教育が流行っています。
はい。実際にプログラミング教室に通っている子どもたちも増えていますし、文部科学省でも、小・中学校におけるプログラミング教育を推進しています。
──でも、みんながプログラマーやSE(システムエンジニア)になるわけではないですよね。
そこにちょっとした誤解があるんです。「プログラミングを習わせる=プログラマーを育てる」と思っている人も多いですが、実はそうではないんです。
──プログラマーにならないのに、プログラミング教育が必要なんですか?
子どもにプログラミングを習わせている保護者の方の多くは、自分の子どもをプログラマーにしたいと思っているわけではありません。ではなぜプログラミング教育が必要なのかといえば、これからの社会において仕事の進め方が大きく変わっていくからです。

──いったいどういうことでしょうか?
現代ではどんな仕事を選んでも、情報技術とは切り離せないですよね。そういった社会では、プログラミングの基本的な知識の有無で、リーダーシップや他者とのコミュニケーション能力にも大きな差がついてしまうわけです。
──たしかに、ITやコンピュータとのつながりが一切ない仕事はほとんどないですね。
いまの日本では、産業の根幹であるモノづくりがうまくいってないという現実があります。なぜかというと、企業の現場でモノをつくっている人たちと、管理職の人たちが話している言葉や考え方のスキームがまったく違うからです。現場の技術者は技術の最適を求める一方、それを売りたい人や使いたい人が求めるものとの間にはギャップがあるんです。
──すぐれたモノをつくることはできるけれど、売れないということですか?
すぐれたモノの定義によりますが、技術として素晴らしい製品と利用者が使いたくなる製品は違います。利用者が使いたくなるような製品がつくれないのです。ほとんど誰も使っていないものに巨費をつぎ込んだり、それってものすごく無駄な投資ですよね。つまり、いまの日本には、性能はいいのに使いにくいものや使いたくないものができてしまうというジレンマがあるんです。
──日本経済のためにも、国としてそういう無駄はなくしていきたいわけですよね。
アップル、グーグル、アマゾンのような企業と渡り合っていくには、現場と経営者が理解し合うことが大切です。そのためには、みんなが情報技術の知識をインフラとして理解できないと、うまくいかないと考えられるわけです。
──今後の日本の経済を引っ張っていくには、そのインフラがないと太刀打ちできないかもしれない?
企業に入って、リーダーになり、幹部になれば、モノづくりに従事する部下をコントロールしていかなければなりません。そのとき、プログラミングについての最低限の知識がある、自分でもつくったことがある人のほうが、生産性や創造性が格段に上がるであろうということを念頭に、文科省はプログラミング教育を推進しているのだと思います。
──なるほど。どんな仕事に就こうとも、プログラミングをはじめとする情報技術の知識が必要になってくるわけですね。逆をいえば、そういう分野の素養がないと、将来社会を引っ張っていくような人材になれないのでしょうか?
いまは世の中のしくみの大きな部分を情報技術がつくっているので、それを知った上で社会に出ていくことは、大きなアドバンテージになると思います。だからこそ、小・中学生のプログラミング教育が注目されているのだと思います。

スマホによって格差が開く?
──いまの子どもたちはデジタルネイティブで、情報技術の知識が豊富というイメージがありますよね。
ところがそうでもないんです。スマホには慣れているけれど、パソコンをはじめて使う大学生も多いんですよ。
──そういえば、若者のパソコン離れは聞いたことがあります。
そうなんです。スマホで卒論を書く学生もいます。
──では、逆にスマホ世代は昔のパソコン世代よりもプログラミングの知識から離れているという側面もあるわけですか?
そうですね。「誰もが使いやすく」というフィロソフィーのもとに情報端末がつくられていますから、「中身を知らなくても使える」便利さが加速して、端末のブラックボックス化が進んでいるわけです。
──ひと昔前のパソコンは、ある程度知識がないと使えないイメージでしたよね。
そうなんです。スマホはむしろリテラシーがなくても使えるように設計されています。
──だからこれだけ普及したという面もあるんでしょうね。
便利に、簡単に、たくさんの人に使ってもらうためにスマホが進化しているわけですが、そのことによってオミットされて、コンピュータの内部構造をまったく知らずに大学まできてしまう子がむしろ増えていると思います。
──スマホ自体は使いこなしているのに、その構造やしくみがわかっていないというわけですね。
今後はさらに情報格差が広がってしまう可能性があります。わかっている人とわかっていない人の差がどんどん開くわけです。たとえば最低限の法律を知っているか知らないか、経済を知っているか知らないかで、人生が大きく変わってしまったりしますよね。情報技術も必須の教養のひとつになりつつあって、わからないとすごく損をしてしまうかもしれない時代が、そこまで来ているような気がします。

プログラミングはむしろ文系向き!?
──そもそもプログラミングとは、どんなものなんでしょうか?
プログラムというのは、コンピュータに対する命令のカタマリなんです。コンピュータは基本的に命令されないと動けない。そこでいろいろな指示をしてあげることで、複雑な動きができるようになり、最終的にアプリ(ソフト)になるというわけです。
──それを聞くと、理数系でないと難しいような気がしてしまいます。
たしかに、プログラムを書く能力は理数系と言われますよね。でも、アクロバティックで美しい数学を駆使したプログラムは、世の中に1%もないんです。ほとんどのプログラムは「まずこれをして、こうなるから次はあれをして……」という、平易な言葉をつなげた命令群としてコンピュータに指示を出しています。感覚としては、まだ言語能力が十分でない幼稚園の子どもに、かみ砕いた言葉で教えてあげるイメージです。だから、一般的なプログラムをつくるなら文系であることは必ずしもディスアドバンテージではなく、むしろ能力を発揮できるかもしれません。

──文系の人には朗報ですね。
プログラミングは自分の指示を相手(コンピュータ)が理解できるかどうかなんです。だから言語能力が高い人のほうが筋道立てて順番に言葉を並べられるという面があると思います。
──実際の相手(人)にわかりやすく伝える能力も身につきそうですよね。
そうですね。こんな風に説明すれば相手に伝わりやすいと考える能力は身につくかもしれません。
──プログラミングに対する見方が変わりますね。
世の中に浸透している「プログラミング=理数系」というのは、特に現状においては、正確性を欠く理解かもしれません。プログラミングは言葉(言語)で世界を把握しますから、言葉の運用がきちんとできるかどうかが鍵になります。
プログラミングを学んだ子どもは成功体験を積み上げられる
──子どもたちがプログラミングを学ぶことで、実際にはどういう効果があるんですか?
一般的には「論理的思考が身につく」「考える力が身につく」と言われますよね。それももちろんそうですが、プログラミングは英語と同じように、あくまでツールなんです。理科や社会を勉強するツールとしてプログラミングを利用することで、これまでは実験すらできなかったような分野での試行錯誤が可能になったり、異なる視角からの理解が可能になる。その結果、学習能力全般が向上する側面もあると思います。
──プログラミングによって、筋道やしくみがすんなり理解できるようなイメージでしょうか。
アクティブ・ラーニングといわれる能動的参加学習や反転授業が流行っています。その一環としてコンピュータでプログラムを書き、実際に星の動きや断層の形成などに自分がかかわったりすることで、学習の理解を深める動きがあります。テキストで学ぶだけではわからなかったけれど、コンピュータのプログラムを使ってみたら惑星の動き方が理解できた、というような効果があるんです。
──なるほど。プログラミングが5教科を伸ばす役割を果たすわけですね。プログラミング教育によって、勉強以外でも変化はありますか?
勉強でも遊びでもスポーツでも、漠然と目の前のことをやっていた子どもが、見通しを立ててから物事に取り組めるようになる効果が測定できました。プログラミングは、見通しをコンピュータに教えてあげる作業ですから、最初に考える癖がつくのかもしれません。
──それはいろいろな場面で生きてきそうですね。
何かを学ぶとき、最も効果的な学習法は「教えること」だと言われますよね。教えるためには深い理解と表現力が必要です。プログラミングは、小さい子どもにものを教える感覚です。小さい子どもでも理解できるように作業を分解し、分解した作業をこの順番で行うということを考えるのは、とてもよい経験になるはずです。
──プログラミング教育で、子どもの態度や意欲に変化が生まれることはあるんでしょうか?
プログラミング教室にやってくる子どもたちは、すごい集中力で取り組んでいます。一緒に来ていた保護者の方が「何をしても飽きっぽかったのに、こんなに集中力があったのか」と驚くほどです。

──プログラミングに、子どもを夢中にさせるような要素があるんでしょうか?
子どもは自分がコントロールされる側ですよね。社会的なルールを覚えなければならない年代でもあります。でもプログラミングを学ぶことで、自分でコントロールする快感が生まれるのかもしれません。指示通りにすべて動くし、指示がうまくいかなければくやしい。失敗とチャレンジを繰り返して、うまくいったときの成功体験も得られるわけです。若年時に適切な失敗と成功の体験を積んでおくことは、とても重要です。しかし、いまはそれが得にくい社会です。プログラミングで少しでも積み増せればいいと思います。
──やらされているんじゃないという部分が、ゲームとの大きな違いかもしれませんね。
そこで起こることはすべて自分が組み上げたものです。やらされたではなく、自分でつくりあげたものだという自信や達成感を得ることができます。

──勉強が苦手でもプログラミングは好きといった例もあるのでしょうか。
もちろんあると思います。私自身、9歳からプログラミングをはじめました。学校はあまり好きではなかったけれど、パソコンというフィールドに自分の居場所を見つけられた感覚がありました。得意分野を伸ばす意味でも、そういった子どもたちの受け皿にもなるといいなと思います。
──子どもならではの発想のプログラミングというものはあるのでしょうか?
電子回路をマインクラフトやミニロボットでつくったのを見て、おもしろいなと思いました。肉眼では絶対に見ることができない電子の流れを、手に触れられる実体として認知できますよね。
──生産性ばかり求める大人にはない発想ですね。
アンプラグド・コンピュータ・サイエンスといって、コンピュータを使わずに情報科学を学ぶという試みもあるんです。コンピュータは0と1の組み合わせで動いていますが、中身が見えないし、テキストだけでも理解しにくい。そこで実際に電球を並べて理解するようなイメージです。
──パソコンを使わないでパソコンを学ぶわけですね。
実際の手触り感を大切にしながら学んでいく方法も、将来広げていきたいと思っています。
──プログラミング教育と、普通の勉強との違いはありますか?
プログラミングにはいろいろな教え方がありますが、「まずは動かしてみよう」からはじめることが多いです。実際に動かして、「動いた」という感動を味わって、理屈をあとから知っていく。そして、自分がやりたいことをやるためにいろいろ試してみるところはあります。最初に理屈を知って、その先に解があるような一般的な勉強とは逆かもしれません。中身(しかけ)を探ってみようというプロセスで、論理的思考が育つのだと思います。

──プログラミングを経験した子どもとしていない子どもには、知識的な部分以外であとから差がつくんでしょうか?
プログラムを書ける子には「自分でつくれる」強さがあるような気がしています。たとえば『君の名は』の新海誠監督。個人的な意見ですが、新海監督の強さは「最終的には自分一人でつくれる」自信だと思います。新海監督はもともと、短いPVの制作をたった一人でやっていた人。そこで培った強さがあるから、作品に対する意思を貫けるのではないでしょうか。
──経験者、作者の強みのようなものですか?
どうすればどんなモノがつくれるのか、どのくらいのクオリティに仕上がるのかは、自分でつくったことがなければわからない。でも、それを知っていれば、「ここはもうちょっとがんばれるはずだ」「いつか絶対にできるはずだ」とわかる。それがさまざまな場面で効いてきます。成功体験のある人は、最終的なゴールを経験しているから、困難な状況に直面したときも、苦労を躊躇しません。それに乏しいと努力が無駄になることがこわくて、努力自体を継続できないことがあります。
──そういう意味では、プログラミングによって自信や自己肯定感のようなものを養えるかもしれませんね。
現代は自分を肯定してもらうためのハードルがとても上がっています。窮屈だった時代よりも、格段に自分が見えにくくなっています。自由が大きくなると、むしろ不安が高まりますよね。そうなれば、さらに自分を肯定する能力が求められます。そこにも、プログラミングが利用してもらえると思います。プログラミングはツールでしかありませんが、できれば便利に使ってもらって、たくさんの人に楽しくなってほしいです。