チエネッタ

presented by NTT西日本

文字サイズ

2018.10.01

プログラミング教育は子どもにとって本当に役に立つの?

写真:プログラミング教育は子どもにとって本当に役に立つの?

いまや男子中学生の将来なりたい職業・第1位がITエンジニア・プログラマー(※1)。親が子どもに習わせたい習い事のランキングでもプログラミングが第1位に輝く(※2)など、子育て世代を中心に関心が高まっています。

そんな中2020年から小学校の授業でプログラミングが必修になることも発表され、国を挙げての一大プロジェクトへ発展したプログラミング教育。けれど、自身で体験したことがない親世代からは、戸惑いの声も聞こえます。「プログラミングは子どもにとって本当に役に立つの?」「いざ子どもが学ぶとなったら、親はどのようにサポートしてあげればいいの?」

ふつふつと湧き上がるギモンや不安を解消すべく、『プログラミング教育が変える子どもの未来』の共著者、松村太郎さんにお話をうかがいました。

※1 出典:ソニー生命保険2015年度調査
※2 出典:イー・ラーニング研究所2017年度調査

画像:松村太郎

監修者プロフィール

松村太郎(まつむらたろう)
1980年東京生まれ。現在、米国カリフォルニア州バークレー在住。モバイル・ソーシャルを中心とした新しいメディアとライフスタイル/ワークスタイルの関係をテーマに取材や執筆を行う。テクノロジーを活用した新しい学びを研究・ビジネス化するキャスタリア株式会社取締役ほか、日本初のプログラミングを必修にした通信制高校である学校法人信学会コードアカデミー高等学校の設立に携わり、開校時の副校長を務めた。

そもそもプログラミングとは?

写真:そもそもプログラミングとは?

「プログラミング」とは、簡単に説明すると、プログラミング言語という、コンピューターが理解できる言葉を使ってコンピューターにしてほしいことを命令すること。「プログラミング」と聞くと専門的なイメージですが、私たちの暮らしを陰ながら支えている、とても身近な存在です。

パソコンで利用するWebサービスやスマホのアプリはもちろん、お掃除ロボットや冷蔵庫などの家電、鉄道や電力といったインフラまで、身の回りのあらゆるものがプログラムで制御されています。そして、それらを作っているのが、エンジニアやプログラマーと呼ばれる人々。ということは、プログラミング教育は、将来子どもたちがエンジニアやプログラマーになるために行う職業訓練なのでしょうか? 答えは、ずばりNOです。

プログラミング教育はエンジニア育成が目的ではない!

写真:プログラミング教育はエンジニア育成が目的ではない!

子どもたちにプログラミングを教える目的は、将来全員がプログラマーやエンジニアになってもらうためでも、コンピューター言語(コード)を覚えさせるためでもありません。真の目的は、コンピューターに意図した処理を行うよう指示する体験をさせること。そこから体験を通じて論理的な考え方や情報活用能力をはじめとする「プログラミング的思考」を育むのがねらいです。

たとえば、スマホのアプリを作ろうとするとき、自分が困っていることや日々面倒だなと思っている作業などを洗い出し、既存のアプリを参考に解決方法を模索したり、うまく動くようにトライ・アンド・エラーを繰り返しながら改良を重ねたりする必要があります。このようなプログラミングの設計は、ひたすらコードを打ち込んでいく作業とは別モノなのです。

プログラミング教育で養われる4つの能力

写真:プログラミング教育で養われる4つの能力

では、プログラミング体験を通して身につくと考えられる4つの能力をご紹介しましょう。

自己解決力

プログラミング教材は基本的に、「自分一人で」プログラムを書くようにできています。途中でエラーが生じた場合、その箇所を知らせる機能が付いていますが、エラーを解決する方法が1つとは限らないため、自分で答えを見つけ出さなければいけません。解決方法を模索する中で、必要な学びを自分で得る努力をしたり、論理的に物事を考える力や、問題を一人で解決する力が身につきます。

想像力

プログラムで何かを作る際、まず自分がどんなものを作りたいのか、アイデアを掘り下げていく必要があります。ゲームを作るなら、「ボタンを押した場合どうなるか」「クリアしたらどんな演出を施すか」など細かい分岐点それぞれに展開と予想を立て、ユーザーがどんなものを求めているのかも推し測りつつ、想像力をフルに働かせなくてはなりません。また、作りあげたものが他人にとって使いやすいかを繰り返し検証することでも、想像力が養われていきます。そのような一連の体験は、身近な家電や街のATM、自販機などに触れたとき、どんな仕組みで動いているのかを推測し理解を深めることにもつながります。

自分を信じる力

ほとんどの子どもは最初、キーボードの操作もままならない状態。けれど徐々に操作に慣れてくるうちに、「もっとこうしたい」と考えるようになり、自分で調べて進めるようになります。はじめのうちは失敗がつきものですが、失敗を乗り越えて得られる小さな成功体験の積み重ねで、いつの間にか「自分にもできる」という自信を身につけていきます。

表現力

自分が手がけたプログラムの仕組みについて人に説明したり、大勢の前で発表する機会が増えれば、単なるプログラミングの知識だけでなく、説明する力や、コミュニケーション能力も一緒に育んでいくことができます。それらはプログラマーに限らず、社会人としてさまざまな職種の人とともにチームで働くうえで大いに役立ちます。

小学校でのプログラミング教育はどんな風に進められるの?

写真:小学校でのプログラミング教育はどんな風に進められるの?

2020年以降、日本の小学校でプログラミングという新教科が設けられるのかというとそうではなく、あくまで算数や理科、課外授業などと融合するかたちで「体験」が盛り込まれる予定です。最初からコードを書くようなことはせず、アンプラグドと呼ばれるコンピューターを使わない学習や、ブロック型の命令を組み合わせるビジュアルプログラミングなど、子どもが理解しやすいツールを使って段階的に進められるものと考えられます。

「義務教育でプログラミングを教える必要性があるのか?」と疑問を感じる声があるのも事実ですが、小学校の頃を思い起こしてみてください。習った教科の中には、その後の人生に直接的に役立っていないものもあるのでは? 私の場合は、家庭科の調理実習でした。現在の仕事に活かされてはいませんが、包丁の扱い方を教わったり味噌汁を作ったりした体験は30年経った今でも記憶に残っています。そして特に印象深いのは、授業でカレーの作り方を学んだあと、林間学校でカレーを作ったことです。教室で学んだことが、実際にお腹を空かせた林間学校の夕食に役立った、学びの実践に通ずる経験でした。

プログラミング教育についても、同様に考えることができるのではないでしょうか。たとえ将来エンジニアにならなくても、プログラムがどのような考え方と仕組みで動いており、どうすれば安全か、逆にどうすれば危険になるのか、知らないことで損失を被ることになります。体験ありきの授業を通じて知識と経験を身につけ、さらには自分の目的のために利用するきっかけになることが、必修化されたプログラミング授業のゴール、と考えています。

親が子どものプログラミング学習をサポートするには?

写真:親が子どものプログラミング学習をサポートするには?

まず一番に大切なのは、子どもと一緒になってプログラミングで遊んでみること、そしてときには子どもたちに教えてもらいながらやってみる姿勢です。親子で参加できるプログラミング教室に通ったり、教材を買って実践してみて親が楽しむ姿を見せることによって、子どもも「やってみたい」と意欲を見せるはずです。

画像:駅の券売機

また、日常的に親子で一緒に使う機械や道具の側になって考えてみるのもおもしろい方法の一つ。たとえば、駅の券売機で複数の切符を買う際に便利な「まとめ買いボタン」。「3枚まとめ買いボタン」が押されたときの券売機の動作を思い浮かべてみましょう。お客さんの視点では「3」という数字を指定して1つの処理を券売機にお願いしていますが、券売機の視点では3回の繰り返しとして乗車券の発行をしています。このように処理の実行をお願いする側と、それを頼まれて実行する側では、同じやり取りをしていても数に対する捉え方が異なるのです。(図)この「繰り返しループ」のようなプログラミングではおなじみの概念を、身近なものを例にして親子で一緒に学ぶ機会をつくってみてはいかがでしょうか。

一方で、プログラミング教育がスマホやタブレットの使い過ぎを助長するのではではないかと心配されている親御さんも多いことと思います。その点は米国でも議論の対象となっていて、中には一定の年齢に達するまで子どもにスマホ等を触らせないようにしている家庭もあります。しかしそのような家庭では、スマホやコンピューターの代わりに、紙とペン、積み木といったアナログツールを使って、子どもにプログラミングの知識や考え方を学ばせているケースが多く見受けられます。というのも、現在活躍しているエンジニアたちは、大人になってからパソコンやスマホに触れた世代。であれば今の子どもたちも、幼い頃から仕組みさえ理解させておけば、実際パソコンやスマホに触れるのは大人になってからでも、十分間に合うのではないかという考え方です。子どものデジタル依存などが心配な方は、そうした方法があることも念頭に、家庭でのプログラミング学習のあり方を検討してみてくださいね。

社会の変革に立ち向かうため、子どもに与えてあげられる翼

写真:社会の変革に立ち向かうため、子どもに与えてあげられる翼

「第四次産業革命」とも言われるように、社会は今、人工知能(AI)やロボット、IoT(Internet of Things/モノのインターネット)、ビッグデータをはじめとする最新技術によって大きく変わろうとしています。今現在、そしてこの先直面する政治や経済、気候変動などの環境問題も、コンピューターの力なしには解決不可能となってきました。

たとえば人工知能は、人手不足や生産性向上といった課題を解決するために、もはやなくてはならないテクノロジーです。一方で「人工知能によって仕事が奪われるのではないか」という懸念も広がっており、事実、米国やアジア諸国では、労働人口の減少を背景に、従来人間が行っていた仕事を人工知能に置き換える流れが急速に進んでいます。

そうなった場合、仕事を奪われるか、奪われないかは、プログラミングの心得を持ち、コンピューターを操れる側に立てるかどうかにかかっています。プログラミングを学ぶ意義として、必ずしもプログラマーやエンジニアになることが教育の第一目的ではないとはいえ、将来生き残れる職業を選択できるようになる、というメリットがあるのです。

ちなみに、IT先進国の米国ではすでに「IT企業」という概念そのものがなくなりつつあります。サービスやモノづくりのIT化は当たり前で、それをせずに生き残っている企業は皆無に等しいからです。日本でもすでにその波が押し寄せ、どんな業界、どんな企業であろうと、プログラミングの素養が求められる時代が訪れつつあるのです。

高度に情報化し、仕事のあり方やライフスタイルが急速に変化する現代および未来において、プログラミングの学びは子どもが将来、どんな場所や状況に置かれても自分の力で羽ばたけるようにする、いわば「翼」のようなもの。私たち大人は、その翼を与えると同時に、ときには翼を共有しながら、子どもと一緒に上手な羽ばたき方のトレーニングを続けていきたいものです。

お気に入りに追加

こちらもおすすめ

あなたのお気に入りリスト

あなたが最近読んだ記事