21世紀の必修科目『プログラミング的思考』

 この記事『「子ども発明家」が日本を救う?国も知財教育で後押し』は、知財教育的な発想が子供の教育にいかに有用であるかを問うものですが、私は、記事を読んで直ちに小学校でのプログラミング教育の必修化の件を想起しました。知財教育は、その根底においてプログラミング教育と共通する部分があり、これからの時代、第4次産業革命のもたらす全く新しい社会で生きていくための教育のあり方そのものと密接に関わってきます。

 はじめに、この記事から子供が特許出願に至るプロセスを追ってみると――

【第1段階】(現場)課題発見⇒自転車を出そうとした時……隣の自転車のブレーキがカゴに挟まって、カゴが傷ついてしまった。【第2段階】解決策発案⇒人力以外でラックを動かすにはどうしたら良いか……思いを巡らせるうち磁石の使用を思いついた。【第3段階】プレゼンテーション⇒夕食時に特許を取りたいと両親に話したら応援してもらえた。【第4段階】具体的行動⇒仁実さんが自分で書いたという特許の出願書類は、発明の内容が簡潔にまとめられている。

素晴らしいと思いませんか?この4つの段階は、子供に限らず大人にも必要な4つの力の体現なのです――

●課題発見=(自発的な)課題設定力・問題意識力など●解決策発案=創造力・調査力など●プレゼンテーション=説明力・説得力・言語化力など●具体的行動=計画力・行動力など

 ここでまず指摘したいのは、教育には、知識とその活用という2つの側面があるという事です。国語的、科学的、いろいろな知識がないと、自分の周囲で起きていることに対する気付きの足掛かりが狭まってしまいます。しかし、その知識をどのように使うか、学校生活の中でたった一つでもいいので、課題発見から具体的行動に至る成功体験を獲得することは、社会で生き抜いていくためのキャリアの原体験、第一歩となるのです。

このように、学校現場での実際の取り組み次第では、知財教育は、子供の成長に計り知れない価値のある体験をもたらす可能性を秘めています。そこで問題となるのは、課題解決の手法にコンピューターの果たす役割が極めて大きいという現実です。

RPA、ロボティクス、自動運転など、私達の日常生活に少し注意を払うだけで、今までにない革新的なテクノロジーが、ジワリと浸透してきている様が見て取れます。今までにも技術革新はありましたが、今起きている第4次産業革命下における革新は、AIという強力なツールを用いる事によって、その質、変化の度合いと影響の度合いが桁違いに大きく、各方面、いろいろな分野にパラダイムシフトを起こすことは間違いありません。AIというツールの使い方さえ間違わなければ、私達の生活を驚く程豊かにしてくれる、そんな時代がすぐそこまで来ているのです。SFの世界でしか思い描けなかったことが実現できる、事業化できるのは、AIという存在があるからです。AIを使ってどうやって人類の幸福を築き上げていくのか、私たち一人ひとりが、変化に向き合う自分を考える時が来ています。

 第4次産業革命下の社会とは、人間とAIが共生して、人間が自分の能力を無限に拡張してくれるAIを活用して、課題解決、未来を切り開いていく時代です。AIとの共存、AIとの付き合い方を学ぶことは、教育の最重点課題の一つとなると思います。その第一歩として、プログラミング教育の重要性が浮かび上がってくるのです。

小学校でのプログラミング教育は、最初からいきなりプログラミング言語を駆使するというより、『プログラミング的思考』を学ぶものです。このプログラミング的思考は、基本的に知財教育の場合と同じプロセスを辿りますが、意図した処理をコンピューターに実行させる、という1点が、課題解決をコンピューターを使って実行するという点が違いです。この点がプログラミング教育の重要性であり、知財教育とプログラミング教育の両方が必要な理由です。

【第1段階】コンピューターに処理させる課題(=意図)を設定する。【第2段階】課題を処理する(=意図の実現)には、コンピューターをどのように動かせばよいか?    ① 必要なものは?    ② それらをどのように組み合わせるか?    ③ その組み合わせを改善して効率的にできないか?      (=余計なもの、段取りを省いたすっきりとしたプログラム)【第3段階】コンピューターがうまく動かない時は?    ① 問題を解決するために試行錯誤する力を養う。    ② 問題を解決するのに必要なものを調べる力を養う。

意図を実現するために、コンピューターを動かす方法(プログラム)を考える、つまり、コンピューターを動かして課題を処理するというプログラミング的思考を学習するには、教材の良し悪しが決定的な意味を持ちそうです。この最初の第一歩で、コンピューターを動かす(=プログラム)、という勘所をつかめるかどうかが決定的に重要なことです。

私自身は、通っていた高校が私学でかなり自由なカリキュラムを採用しており、選択科目で『コンピューター数学』を勉強したのが鮮やかな記憶となって残っています。この科目のおかげで、その後プログラマーのような専門的な道には進まなかったものの、プログラムを書いてコンピューターを動かすんだ、という基本的な概念はしっかり学習できました。使用した言語はFortranで、毎回教師が生徒達の書いたプログラムを大学に持って行って、翌週の授業の時にプリントアウトを持ってきてくれるのです。プリントアウトに<error>の文字がなく、計算結果が出ていた時の喜びは忘れられません。残念だったのは、「西暦1年1月1日は何曜日か?」という学年最後に書いたプログラムが、<error>で戻ってきたことです。試行錯誤する時間はありませんでした。

 小学校でのプログラミング教育は、既にある教科の中で実践されるようなので、どの科目でどの程度時間を取るのか、中途半端なスケジュールでは実効性が危ぶまれます。私の実際の経験では、プログラムに失敗して試行錯誤する体験と、成功して計算結果が出る成功体験の両方が必要です。教え方如何、教材いかんでは、生徒にとってワクワクするような授業になることは間違いないと思います。プログラミング教育は、単に21世紀に必須の教育と言うだけではなく、生徒が課題解決という事を学ぶまたとない機会になるでしょう。

https://www.nikkei.com/article/DGXMZO29823450V20C18A4000000/

この記事が気に入ったらサポートをしてみませんか?