文部科学省推奨の「プログラミング的思考」とは?鍛える方法や効果を解説
子どもにプログラミング的思考を持ってほしいとお思いの方もいるでしょう。本記事ではプログラミング的思考とは何かを解説し、必要な理由や日常生活で身に付ける方法、おすすめのスクールを紹介しています。プログラミング的思考を子どもに学ばせたい方は参考にしてください。
「将来のために、子どもにプログラミング的思考を身につけさせたい」
「プログラミング的思考を学ばせるにはどうすればいい?」
「日常生活でもプログラミング的思考は役立つの?」
技術の進歩により、ITやプログラミングはこれからの時代に必要とされる知識の一つです。子どものプログラミング的思考を鍛え、社会で活躍できる人材になってほしいとお考えの方もいるでしょう。
本記事では、プログラミング的思考とは何かを解説し、必要な理由や身に付くスキル、日常生活のなかでプログラミング的思考を鍛える方法についても紹介します。この記事を読むことでプログラミング的思考とは何かがわかり、豊かな発想力を持つ子どもに育つことでしょう。
プログラミング的思考について知りたい方、子どもにプログラミング的思考を学ばせたいとお考えの方は本記事をチェックしてください。
文部科学省が推奨するプログラミング的思考とは?
小学校で行われているプログラミング教育においては、プログラム言語を使ったコーディングよりも、プログラミング的思考を身につけることが重要だとされています。
プログラミング的思考と論理的思考はどう違うのか、学校でのプログラミング教育が必修化されたねらいを見ていきましょう。
プログラミング的思考と論理的思考との違い
文部科学省は、プログラミング的思考について「実現したい一連の活動の実現に向けて、どのような組み合わせが必要かを考え、それに対応する記号の組み合わせ方を論理的に考える力」と定義しています。
筋道を立てて物事を考えるという点では、プログラミング的思考は論理的思考の一部といえますが、この2つには違いがあります。
論理的思考では「すべての項目を網羅して考える」のに対し、プログラミング的思考では「目標達成のために効率的な手段を考える」となり、生産性を重視しているのがポイントです。
プログラミング教育が必修化されたねらい
小学校でのプログラミング教育が必修化されたねらいは以下のとおりです。
・プログラミング的思考を育成すること
・情報技術やプログラムが社会でどのような役割を果たしているのかを知り、それらを上手に活用できる考え方を育てること
・各教科のなかで実施する場合は「教科などでの学びをより確実なものにする」こと
AIの登場などにより、人間に代わってコンピューターが作業をする場面が増えています。そのため、コンピューターをうまく使いこなし、人間にしかできない創造力や思考力を伸ばしていくことがプログラミング教育のねらいです。
プログラミング的思考が必要な理由
将来を担う子どもたちには、急激な技術の進化への対応力が求められます。プログラミング的思考はIT業界をめざす子どもだけでなく、これからの時代を生きていくために必要な力となるでしょう。
ここからは、プログラミング的思考が必要とされている理由について具体的に解説します。
教科に活用すると確実に理解できるようになるから
小学校では算数や理科、音楽や図画工作といった教科のなかでプログラミング的思考を伸ばし、理解を深める教育を実施中です。
例えば理科の授業では、電気製品がどのような条件で動いているのかを調べ、使われているプログラムやプログラミングの仕組みを知る授業が行われています。
「comotto」では、身近なものをきっかけに学びへの興味を持ち、ゲーム感覚で取り組むことで、プログラミング的思考をはじめとしたさまざまな力が身につくサービスを提供しています。
コンピューターを主体的に活用することができるようになるから
近年は家電製品や自動車などにもコンピューターが組み込まれ、IT技術は現代生活の一部となりつつあります。
具体的な仕組みやプログラミングを知らなくても製品を使うことはできますが、文部科学省ではこういった「ブラックボックス」状態をなくすために、コンピューターとプログラミングの関係を知ることが必要であると考えています。
製品をただ使うだけでなく主体的に活用できるようになることが、プログラミング的思考の教育を推進するねらいです。
「comotto」では、お子さまの年齢に合わせたカリキュラムを提供し、好奇心や興味をきっかけにプログラミング的思考の学びをはじめることが可能です。
プログラミング的思考で身に付く力
プログラミング的思考によって、さまざまな力が身に付くと言われています。具体的には「物事を抽象化する力」や「物事を分解する力」などです。
ここからは身近な「みそ汁作り」を例に、それぞれの力がどのような場面で役立つのかを解説します。
抽象化する力
「抽象化」とは、異なる部分を取り除いて、大切な部分のみを抜き出すことをさします。
みそ汁には、具材や使うみその種類によってバリエーションがあります。「豆腐のみそ汁」「ナスのみそ汁」「赤だしのみそ汁」などさまざまですが、すべて「みそ汁」としてまとめることができます。
抽象化の能力が身に付くことで理解力や発想力、応用力が高まることが期待できます。
分解する力
具体的にどんなみそ汁を作るのかを決めたら、具材は何が必要なのか、みそは何を使うのかなど、使われているものを洗い出す作業が必要です。
また、「具材を切る」「出汁をとる」「具材を煮る」「みそを入れる」など、さまざまな手順があります。
「みそ汁を作る」という課題の達成に向けて、材料と手順を細かく洗い出すことで分解する力が身につきます。
組み合わせる力
分解した材料と作業内容を、みそ汁を作るための手順に並べ替える必要があります。例えば「具材を切る」「鍋に水を入れて出汁をとる」「具材を煮る」「みそを入れる」という流れです。
具材の処理方法や調理の順序が誤っていると、おいしいみそ汁は完成しません。分解したものを正しく組み合わせる力は、実際のプログラミングでも必要とされる能力です。
シミュレーションする力
手順の並び替えが終わり、頭のなかで作業を実行してみることが「シミュレーション」です。
手順に誤りがあれば見直しを行い、問題なければ実際に調理をはじめます。完成したみそ汁がおいしくなかった場合は、何が悪かったのかを振り返り、次に作る際には改善しようと考えるでしょう。
おいしいみそ汁ができた場合は、同じ手順で次回も上手に作れるだろうということが学べます。
このように実行結果を分析し、よい点や悪い点を見つけて次につなげることを繰り返すことで、シミュレーションする力が身に付くでしょう。
一般化する力
課題解決のための手順をまとめ、公開することを「一般化」と言います。
おいしいみそ汁が作れるようになったら、友人に教えてあげたいと思うこともあるでしょう。調理方法をメモにまとめたり、レシピ集を作ったりするには一般化する力が必要です。
一般化する力は物事をまとめるだけでなく、知識の整理や日々の暮らしの改善にも役立つ能力だと言われています。
プログラミング的思考を簡単に鍛える方法
プログラミング的思考はさまざまな場面で役立つ考え方ですが、すぐに使えるようになるといったものではありません。しかし、身のまわりの出来事や身近なものを使って訓練し、プログラミング的思考を身につけることが可能です。
ここからは、子どもでも簡単にプログラミング的思考を鍛えられる方法を4つ紹介します。
プログラミング学習をする
プログラミング的思考を身につけるには、プログラミングを学習するのがおすすめです。
「プログラミング」と聞くとハードルが高いように思えますが、近年では子ども向けのプログラミング教材が数多く準備されています。初心者向けのプログラミング教室に通うのもよいでしょう。
「comotto」では、お子さまのレベルに合わせたプログラミングを学べるだけでなく、さまざまなイベントやサービス、保護者向けのコンテンツを数多く用意しています。
ロボット作りをする
プログラミング的思考を鍛えるために、ロボット制作に取組むのもよいでしょう。
材料や手段を考え、実際に試行錯誤しながらロボットを形にすることで、楽しみながらプログラミング的思考が身につきます。
さまざまなロボット制作用のキットが販売されており、子どもが興味を示すキットを使えば、飽きることなく取り組んでくれるのでおすすめです。
アプリゲームをする
アプリゲームで遊びながらプログラミング的思考を鍛えることもできます。
簡単なものからアニメやRPGゲームを作れるもの、高度なプログラミング言語を扱えるものまでさまざまなアプリがあり、レベルに応じたものを選んで楽しく学べます。
タブレットやスマートフォンを使うため勉強しているという感覚が少なく、机に向かうのが苦手な子どもでも喜んで取り組んでくれることでしょう。
カードゲームやボードゲームをする
プログラミング的思考は、カードゲームやボードゲームでも鍛えることが可能です。
いずれも多くの選択肢から最適な選択をする必要があり、分析力やシミュレーション能力の向上につながります。パソコンやタブレットが不要で、電子機器を使わせることに抵抗がある時やデバイスが苦手な子どもにもおすすめです。
また、カードゲームやボードゲームは一人でプレイができないため、家族や友達とのコミュニケーションを通じて、育まれる分析力や洞察力の向上にも役立ちます。
日常生活のなかでプログラミング的思考を鍛える実践方法
プログラミング的思考を身につけるためには、日頃からプログラミング的思考に沿った考え方を実践するのが効果的です。
身のまわりにあるものでテーマを決め、実践してみることで考え方のコツが身に付くと言われています。
ここからは、日常生活のなかでプログラミング的思考を鍛えられる方法を2つ紹介します。
買物をする
商店街やスーパーマーケットなどで買物をすることは、プログラミング的思考を育むのに役立ちます。
購入したいもののリストアップには「分解する力」が必要です。また、地図や店内の見取り図を見て何がどこに売られているのかを確認し、効率よく回るルートを考えることで、「組み合わせる力」「シミュレーションする力」の訓練になります。
買い物から帰ったら今日のルートを紙に書き、「次回は最短でいけるようにしよう」などと考えてみるのもおすすめです。
お手伝いをしながらゲーム感覚で楽しめるため、子どもも積極的に取り組んでくれるでしょう。
料理をする
料理をすることも、プログラミング的思考を鍛えるのに効果的です。
食事の献立を考え、主菜や副菜、みそ汁などを一品ずつ順に作っていると、時間がかかる上に冷めてしまい、おいしくいただけないことが想像できるでしょう。
そこで、「お米は炊いて保温しておく」「副菜は冷めてもいいので一番はじめに作る」「主菜は手早く作れる炒め物にしよう」「みそ汁は熱々で出せるように最後に作る」など、効率よく作る方法を考えることが、アルゴリズムの学びにつながります。
学校の授業でも調理実習は人気な授業の1つなため、興味を持ちやすいでしょう。子どもにとっては大人のような経験ができるとともに、プログラミング的思考の思考にも役立つので一石二鳥です。
プログラミング的思考の効果
プログラミング的思考を身につけることで、どのような効果やメリットがあるのかを見ていきましょう。
文部科学省は、これからの時代に求められる資質や能力として以下の項目を挙げています。
・情報を読み解く力
・情報技術を手段として利用し、論理的、創造的な思考で課題を発見して、解決するとともに新たな価値を生み出す力
・よりよい社会や人生のあり方について考え、感性を働かせて学んだことを生かせる力
ICT技術の進化はめざましく、スマートフォンなどでの情報収集が当たり前のように行われている現代においては、プログラミング的思考を使って課題解決に取り組む人は重宝されるでしょう。
プログラミング的思考のスキルを持つ人はIT業界以外でも活躍が期待されており、将来の就職においても有利になることが多いと言われています。
子どものプログラミング的思考を育てて発想の幅を広げよう
プログラミング的思考とは何か、必要とされる理由や具体的な内容と日常生活で楽しみながらスキルを身につける方法を紹介しました。
これからの情報化社会を生きていくためには、課題を冷静に分析し、柔軟な発想力で効率よく進めていく力が求められます。
「comotto」では、多彩なカリキュラムやイベントを通じて、お子さまが楽しんでプログラミングを身につける学びの場を提供しています。
日々の生活のなかで子どもが自ら考えるきっかけを作り、楽しみながらプログラミング的思考を育んでいきましょう。