プログラミング的思考とは
文部科学省では「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」
※参照:文部科学省「小学校プログラミング教育の手引(第二版)」
と、定義されています。
堅苦しい用語が多いですが、簡単に言うと…
「自分が実現したいことを達成するために、物事を論理的に考え、順序立てて実行することで結果を導く思考力」です。
例えば、〇〇という結果を出したい→△△を選ぶとこうなるので次に▲▲を行なう→しかし□□を選ぶとああなるので■■を行なう必要がある→それぞれの組み合わせをどのように変えればより〇〇が導き出せるのか…等、試行錯誤しながら論理的に考える能力です。
プログラミング的思考を整理すると「抽象化」「分解」「一般化」「組合せ」「分析・評価」の5つの要素に分類されます。
抽象化:目的に応じて適切な側面や性質だけを取り出し、他の部分は捨てること。
分解:大きな動きを解決可能な小さな動きに分けること。
一般化:物事の類似性や関係性を見出し、別のことでも利用できる内容にすること。
組合せ:目的に合わせて試行錯誤しながら、明確でより良い手順を創造すること。プログラミングの3つの基本処理「順次・分岐・反復」はこれにあたります。
分析・評価:目的に応じて実行したことが意図した活動に近づいているか分析したり、その過程を評価すること。
「プログラミング」と聞くとコンピューターで入力したりロボットを動かすことをイメージしがちですが、それだけに限らず人間が生きていく中で直面する様々な問題の解決のための手順を以上の5つの要素に沿って考えることが「プログラミング的思考」ということです。
「プログラミング的思考」が身につく体験会予約はこちらから!!
プログラミング的思考教育
2017年に決定した小学校でのプログラミング教育の必修化は2020年度から開始しました。
とは言っても、新型コロナ感染拡大の影響によりほとんどの小学校で通常の授業カリキュラムがスタートできていないため、まだほとんど実施されていないのが実情というところでしょうか。
必修化が決定してから小学生の子どもの保護者のプログラミング教育への関心は年々高まりを見せてきました。また、2021年度から中学校、2022年度から高校での必修化が決定と政府による2024年度以降の大学入学共通テストへのプログラミング等の情報科目の導入(数学や国語と同じように受験科目となること)も決定し、さらに関心が高まることが予想されます。
受験科目におけるプログラミングはプログラム言語やプログラミングに関する知識等を学ぶのかな?と想像に難くない方も多いと思いますが、小学校段階でのプログラミング教育と聞くとイメージが湧かないという声がロボ団生の保護者からも多くありました。関心はあるものの、実態はどんな授業が行なわれるのか分からないという保護者の方が多いのではないでしょうか。
実は、プログラミング教育の「必修化」と言っても、小学校におけるカリキュラムでは「プログラミング」という授業が独立して行なわれるわけではありません。既存の教科である理科や算数、そして総合的な学習の時間(求められる力を高める学習)の中で「プログラミング的思考」を育むことが目的です。
※参考:文部科学省「学習指導要領解説」
では、プログラミング的思考教育はなぜ必要なのでしょうか?
ここで、世界の有識者が論文の中で予測している未来を紹介します。
「2011年に小学生になった子供の65%は将来、今は存在していない職業に就く」
※キャシー・デビッドソン教授(ニューヨーク市立大学大学院センター)
「今後10年~20年程度で、半数近くの仕事が自動化される可能性が高い」
※マイケル・A・オズボーン准教授(英・オックスフォード大学)
「人工知能の発展で2045年以降は人間の脳では予測不可能な未来が到来する」
※レイ・カーツワイル(米 発明家、未来学者)
これを受け、日本でも「今の公教育での学びは、時代が変化したら通用しなくなるのではないか」「AI(人工知能)の進化により人間の職業が奪われるのではなないか」という不安の声が上がりました。
そして、「予測できない変化を前向きに受け止め、主体的に向き合い・関わり合い、自らの可能性を発揮し、よりよい社会と幸福な人生の創り手となるための力を子どもたちに育む学校教育の実現を目指す」という学習指導要領改訂の方向性が決定されたのです。
プログラミング的思考を学ぶには
【小学校でのプログラミング的思考の学び方】
先述で紹介した通り、プログラミング的思考は5つの要素「抽象化」「分解」「一般化」「組合せ」「分析・評価」で構成されています。
小学校では、算数や理科・総合的な学習の時間等でこれらの要素を取り入れながらプログラミング的思考を育むことを目指します。
<実施例>
総合的な学習の時間:自分の暮らしとプログラミングとの関係を考え、その良さに気付く学び
理科:電気製品にはプログラムが活用され条件に応じて動作していることに気付く学び
算数:図の作成において、プログラミング的思考と数学的な思考の関係や良さに気付く学び
音楽:創作用のICTツールを活用しながら、音の長さや高さの組合せ等を試行錯誤し、音楽をつくる学び
図画工作:表現しているものを、プログラミングを通じて動かすことにより、新たな発想や構想を生み出す学び
※参照:文部科学省「新しい学習指導要領の考え方」
<算数の例題>
コンピューターで正三角形を書こうとする場合「正三角形を書く」という命令は通常用意されていないのでそのままでは実行できません。そこで、コンピューターが理解できる命令を組合せ、それをコンピューターに命令しましょう。
(プログラミングソフト スクラッチを用いたプログラミング的思考)
※参考:文部科学省「小学校プログラミング教育の手引(第二版)」
【ロボ団でのプログラミング的思考の学び方】
ロボ団のレッスンでは、自分が制作したロボットで課題解決のためのプログラミングを行ないます。プログラミングが出来たら自分が思い描いた通りに動くかどうか、実際にロボットを動かすことで確かめます。一度で課題をクリアすることは難しいですが、何度もトライ&エラーを繰り返すことでプログラミングスキルが身につきます。トライ&エラーにおける考察を元に論理的に考えることでプログラミング的思考力を育みます。
さらに、ロボ団ではレッスン内のプレゼンテーションの機会を活用することでプログラミング的思考の訓練を行なっています。問題解決のために自分が考えた一連の流れを順序立てて論理的に説明や解説することで、自身の理解もより深まります。
また、自分の選んだ行動にどんな意味があるのかを考えることも、プログラミング的思考を身につけるための訓練の一つになります。
5月から開始したロボ団オンラインでも、初回はプレゼンテーションについて重点的に学ぶ機会を設けました。通常のオフラインレッスンであれば実際にロボットを動かしている場面も見えるので非言語コミュニケーションも取ることができますが、オンラインレッスンでは自分の気持ちを言語のみで伝えることが必要なので難易度も上がります。オンラインレッスンは相手にわかりやすく伝えるためのプログラミング的思考の訓練にぴったりな機会ですので、どんどん挑戦してみてくださいね!
※ロボ団オンラインの詳細はこちらの記事から!
子どもたちが将来どんな職業に就いたとしてもAIに取って代わられることなく価値を生み出せる存在になるための力は、答えがある問題集を解くだけでは身につきません。問題解決のためのプロセスや方法を自分の力で考え抜く機会を多く持つことでプログラミング的思考力や論理的思考力を磨くことが不可欠です。