プログラミング的思考を日頃からどのように実践すればよい!?

Website photos

プログラミング的思考の育成は、プログラミング教育の最大の目標です。文部科学省の提言によると、プログラミングは「将来どのような職業に就くとしても、時代を超えて普遍的に求められる力」として極めて重要であるとされています。 では、プログラミング的思考の何が魅力で現在においてここまで求められているのでしょうか。今回は、その理由をご説明いたします!         1.現代においてプログラミングが必要な理由   文部科学省では以下のように、プログラミング的思考が定義されています。   「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」 (文部科学省『小学校プログラミング教育の手引(第三版) p.9』より)   プログラミング的思考とは、別の言い方をすれば、「”効率的な移動ルートを考える” “試行錯誤しながら理想のルートを導き出す” “目標を達成するための動きを細かく分解する”」ということです。 2020年から始まったプログラミング教育では、特定のプログラミング言語の習得よりも、プログラミング的思考を身につけることに重点が置かれるようになりました。なぜ今、プログラミング的思考が学校で求められるようになったのでしょうか。     ・コンピュータの機能を理解し、自分で使えるようになること 現在、私たちは第4次産業革命の真っ只中にあり、IoTやビッグデータの活用、AIの開発など、技術の進歩が特徴となっています。例えば、冷蔵庫やエアコン、洗濯機などの家電製品にIoTやAIの技術が組み込まれ、自律的にデータを読み取り、評価、実行することができるようになりました。また、AlexaやSiriなどの人工知能サービスを日常生活で利用している個人も少なくありません。 このように、情報技術は日常生活の中で身近なものとなっているため、多くの子どもたちは、その仕組みが分からなくても活用することができます。これは文部科学省によると「ブラックボックス化」といい、プログラミング教育で克服する方針です。   ・コンピュータはプログラムで動いていること ・プログラムは人が作成していること ・コンピュータには得意なこととなかなかできないことがあること ・コンピュータが日常生活の様々な場面で使われており、生活を便利にしていること ・コンピュータに意図した処理を行わせるためには必要な手順があること (文部科学省『小学校プログラミング教育の手引(第三版) p.12より抜粋)   コンピュータの機能を理解していないと、何でもできる「魔法の箱」のように見えるかもしれませんが、決してそうではありません。コンピュータのように簡単で便利なものでも、そこに至るまでには多大な試行錯誤と工夫が必要です。自分でプログラミングをやってみると、その難しさがよくわかる。練習してプログラミングの考え方を身につければ、コンピュータやコンピュータを含むあらゆるものの機能を把握し、より積極的に活用できるようになります。     ・新たな価値を創造する人材の育成が予測困難な時代に必要 政府が2016年に発表した「第5期科学技術基本計画」では、自動化やAI技術をより高度化した「超スマート社会(Society 5.0)」の実現が謳われています。アメリカの有名大学の教授による提言も有名です。”今後10~20年で、すべての仕事の半分以上が自動化され、”多くの子どもたちが、今は存在しない仕事に就くようになる “と言われています。10年後の今日でさえ、何が起こるか予測することは困難だと謳われています。 では、AIに自動化されない雇用を見つけるため、あるいは将来的に新たな雇用を生み出すために、私たちは何をすればいいのでしょうか。その目的は「新しい職業や自動化システムを開発する人材になること AIやITによって機械化できるものは今後ますます自動化されていきますが、自動化システムを構築できる人間は常に需要があります。さらに、今ない新しい職業を発明できるのは人間だけです。   このような人材をより多く輩出するためには、学校でプログラミングに触れ、プログラミングマインドを身につける機会を提供することが重要です。プログラミング教育の第一の目的はITプロフェッショナルの育成ではないが、文部科学省は、若者が自ら企業を興し、特許を求めるようになることを期待しています。     ・プログラミング的思考が教科の学びにつながる   プログラミング教育とは、「プログラミング」という独立した科目の形をとるのではなく、プログラミングの考え方をすべての科目に応用していくものです。   例えば、正三角形をプログラミングするには、まず “すべての辺の長さが等しい””すべての内角の大きさが等しい “など、正三角形の性質をマスターしなければなりません。その上で、コンピュータが理解できる形式に命令を書き換えなくてはならないのです。 プログラミングを教育に用いると、より深く、より確実な理解が期待できます。プログラミング的な発想で目標を達成するためには、なんとなく情報を把握するだけでは不十分です。本気でプログラミングに挑戦することで、プログラミング的思考力が向上し、より深い理解を得ることができます。   このように現代の子供たちには多くのことが求められているのです。 […]