そもそも何でプログラミングを小学校から勉強するのか、考えたことはありますか。おそらく皆さんが学校で学んだ頃、プログラミングといえば、コンピュータ関連の仕事に興味を持って、将来はプログラマーになろうと考えた人だけではなかったでしょうか。専門的職業教育としてのプログラミングだったように思います。
でも時代が変わり、私たちの身の回りにコンピュータに支えられた道具があふれるようになってきました。家電製品、車などありとあらゆるものにコンピュータが組み込まれ、暮らしや社会を便利にしてくれています。多くのコンピュータは目に見えないところで私達の生活や社会を支えてくれているので、「魔法の箱」と言われています。この魔法の箱の使い方だけを覚えれば、たしかに便利に生活できます。しかしながら、この魔法の箱は、魔法使いが作ったものではなく、人が開発したものです。情報化の進展で、このような魔法の箱が身の回りに増え、次のSociety5.0では、IoTやAIを駆使した魔法の箱がもっと増えていくことでしょう。開発する人と、それをただ使う人の2極分化が起こるとも言われています。
発達段階に応じて、それぞれのレベルで、この魔法の箱の仕組を知ることが、この2極分化を防ぐことになります。後で詳しく勉強しますが、魔法の箱の多くは、外界の変化を捉え、コンピュータにその情報を伝え、目的とする行動をするように、コンピュータに接続された機器を制御することです。
簡単に言えば、温度や明るさなどの外界の変化を、コンピュータがわかる電気信号に変換するセンサーと、そのアナログな電気信号をデジタルな信号に変換するADコンバータ(アナログ・デジタル変換器)を通して、コンピュータが理解できる情報になるのです。このセンサーとAD変換器をまとめて入力インターフェースといいます。 コンピュータは、この入力インターフェースからのデジタル信号を受け取って、予め決められた手順に従って、目的の制御対象を動かすのです。
図1 コンピュータの処理手順
ここで、入力に従って、何をどのように処理すれば、目的の行動ができるか、コンピュータに処理手順を教えるのがプログラミングなのです。小学校段階では制御の仕組みを理解するのは少し難しいですが、それでも、暗くなったら明かりをつけるシステムや暑くなったらファンを回すシステムなどを作ることで、身の回りの魔法の箱の仕組みを考える事ができるようになります。中学校では、この制御のことが技術家庭科で、より詳しく学習しますし、高校ではより実用レベルでの制御システムなど、詳細なプログラムを学ぶことになります。
魔法の箱をクリアーにすることともう一つ大事なことがあります。簡単な制御の仕組みを学ぶことで、「こんな物があればいいな」というアイデアを考えるということです。これからの未来社会では、このアイデアを生み出す創造力や問題発見・解決能力がとても必要になってきます。プログラミングをするということは、プログラミング言語を覚えたりプログラミングの作法を学ぶことも必要ですが、最も重要なことは、私たちの暮らしや社会を豊かにするために、今何が問題になっているのか、何が必要か、こんな物があればいいなと、問題を考えることです。コンピュータにどのような仕事をさせればいいのか、だれも「答え」を持っていません。算数のような公式はありませんし、答えも一つとは限りません。各自が、自分で問題を見つけ、同解決したらいいのか考えなければいけないのです。これからの時代に必要な能力は、このような問題発見・解決能力なのです。小学校でスタートしたプログラミング教育は、この問題解決の手段として、すべての学習に共通する力をつけるのに役立つと考えられているのです。学習の目当てを示した学習指導要領でも、学習の基盤となる能力として、この問題発見・解決能力があげられています。
プログラミングが必修の学習内容になったのは、これからの時代に必要な問題発見・解決能力の育成に役立つからと言うのが大きな理由です。
児童・生徒が学習する内容や評価について国が定めている学習指導要領でも、総則において下記のように書かれています。
総則:第2 教育課程の編成
教科等横断的な視点に立った資質・能力の育成
「各学校においては,児童の発達の段階を考慮し,言語能力,情報活用能力(情報モラルを含む。),問題発見・解決能力等の学習の基盤となる資質・能力を育成していくことができるよう,各教科等の特質を生かし,教科等横断的な視点から教育課程の編成を図る」
総則:第3 教育課程の実施と学習評価
各教科等の特質に応じて,次の学習活動を計画的に実施すること。
ア 児童がコンピュータで文字を入力するなどの学習の基盤として必要となる情報手段の基本的な操作を習得するための学習活動
イ 児童がプログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動
プログラミングは、コンピュータに仕事をさせるための言語です。私たちが暮らす情報社会では、コンピュータが生活のあらゆるところで私たちのために仕事をしてくれています。今後は、この状況がよりすすみ、全てのものがインターネットに接続するIoT(Internet of Things)やAI(Artificial Intelligence)人工知能が私たちに変わって判断しコンピュータに仕事をさせる時代が来ると言われています。情報社会の次に来るこの社会は、今の所、何社会とよんでいいか分かりません。それで、最初の狩猟社会をSociety1.0とし、次の農耕社会をSociety2.0、その次の工業社会をSociety3.0、そして現在の情報社会をSociety4.0と呼び、来たるべき次の社会をSociety5.0と呼んでいるのです。
さて、情報社会から次のSociety5.0社会に進むにつれて、どのような人材が求められるのでしょう。
それを考える一つの指標として、以下の図や表を見て考えて下さい。
世界の企業の時価総額ランキング 日本経済新聞より引用
左:2006年 右:2016年
Society5.0時代は、VUCAな時代と言われています。これは、図にあるように、Volatile(予測困難)、Uncertain(不確実)、Complex(複雑)Ambiguous(曖昧)の頭文字をとって、予測困難で不確実、複雑で曖昧な社会という意味です。このような社会にあって、求められる能力・資質はどんなものか、OECDでは世界の研究者が集まって、DeCeCoプロジェクトを立ち上げ、2003年に報告書を出しています。そこで最も重要な資質として、自律的に学ぶ能力、協同で仕事をする能力、情報活用能力は必須と提言しています。また、オーストラリアや米国の研究者の研究成果として、2008年には21世紀型スキルの必要性も提言されたのです。ここでのスキルでの重要なものとしては、創造性や問題解決能力が強調されました。これらの提言に従って、世界の教育カリキュラムが、それを育成するカリキュラムを作り、そのような教育が実施されてきたのです。日本でも新しい学習指導要領の中で、上述したような問題発見・解決能力や情報活用能力を育成する学習が強化されました。プログラミング学習はこの問題発見・解決能力を育成する手段として、位置づいているのです。
新しい価値を創造する仕事がいかに重要かは、先に示した世界の企業の時価総額ランキングからも明らかです。2006年と2016年を比較し、どんな企業が発展しているかよく考えてみて下さい。明らかにGAFAといわれるIT企業が成長しているのがわかります。
別紙は、山西が北日本新聞に連載した、小学生向けのプログラミング教育に関する記事です。参考になる内容を順次添付しておきますので読んで下さい。