プログラミング的思考が必要な理由とは?子どものうちから学べる方法も紹介
この記事ではプログラミング的思考についてや、子どもになぜプログラミング的思考が必要なのかだけでなく、家庭で学ぶ方法についてなども紹介しています。プログラミング的思考とはなにか気になっている保護者の方はぜひ読んでみてください。
プログラミング的思考ってなに?
プログラミング的思考とは、目標達成に向けて順序立てて考えた上で、どうすれば効率よく問題解決できるのか考える、問題解決型の思考のことをいいます。物事を効率的に考えるプログラミング的思考は、目標達成において必要な行動について考えるため、無駄な作業を減らし時間を有効に使えます。また、プログラミング的思考は日常生活や勉強にも活用できる考え方であるといわれています。
プログラミング的思考と論理的思考の違い
プログラミング的思考と論理的思考は、順を追って考えるという面では同じですが、それぞれには違いがあります。 プログラミング的思考が目標を達成する上で効率よく達成する手段はないかを考えることに対して、論理的思考は、目標達成のためになぜそうなるのか、またどうすれば問題解決できるのかといった、必要な行動を分解して手順を考える思考のことをいいます。1つ1つの事柄を意識して筋道を立てて考える論理的思考に対し、効率のよさを優先して考えるのがプログラミング的思考です。
プログラミング的思考が必要な4つの理由
物事を効率的に考えるプログラミング的思考は、今後子どもたちが生きていく上で必要な考え方とされます。 では、なぜプログラミング的思考が必要なのでしょうか。ここでは、子どもにプログラミング的思考が必要な理由はなにか解説します。
【1】目的と過程を明確にする力が身につくようになるため
プログラミング的思考を身につけることで、目的と過程を明確にする力が身につきます。このような力が身につくと、目標達成に向けて必要な事柄を取捨選択できるようになります。無駄な行動を減らすことで、より効率的に目標達成できるようになるのです。 効率よく仕事ができることは、社会人において欠かせない武器となります。目的と過程を明確にする力を身につけた子どもは、社会を上手に生き抜いていけるでしょう。
【2】物事を合理的に考えられるようになるため
物事を合理的に考えられるようになるためにも、プログラミング的思考が必要です。プログラミング的思考では、目的と過程を明確にする力が身につくため、目的と過程を明確化することで、物事に対して合理的に考えられるようになります。プログラミング的思考を通して合理的に考えられるようになると、計画的に行動できるようになります。
【3】問題を順を追って解決する力が身につくようになるため
目標達成に対してなにをすればよいか順序立てて考えて実行するプログラミング的思考を身につけると、問題解決に対して順を追って解決する力が身につくようになります。たとえば、計算問題の場合は、答えをいきなり出すことはできません。答えを出すためには、どのような数式を用いれば答えが出るのか考える必要があります。プログラミング的思考を身につけることで、問題を解決するために順序よく考えられるようになれます。
【4】正しい判断で情報を使いこなせるようになるため
プログラミング的思考を身につけることで、正しい判断で情報を使いこなせるようになります。現代では、スマートフォンをはじめとした、さまざまなツールを使ってたくさんの情報が得られます。情報に溢れているからこそ、自分にとってなにが必要な情報かを判断できるようにならなければなりません。
プログラミング的思考を学べる4つの方法
プログラミング的思考を学ぶには、パソコンやタブレットなどの機器を使わなくても学べます。ここからは、子どもがプログラミング的思考を学べる方法について紹介していきます。
【1】他の科目にプログラミングを組み込んで勉強してみる
さまざまな科目の勉強でプログラミングを組み込んで勉強する方法があります。ひとつの問題に対していろんな方法で答えを出すことで、目標達成に向けて情報を整理し、論理立てて取り組む力が養われていきます。 たとえば、算数で図形を書くときにはコンパスや定規を使うだけでなく、プログラミングを組み込んでみるとよいでしょう。
【2】家事のお手伝いをする
プログラミング的思考を育むには、家事などのお手伝いを子どもにしてみてもらうこともいいでしょう。 家事は、目標達成までにさまざまな過程が必要なため、プログラミング的思考を学ぶ方法に適しています。たとえば、洗濯するということでも、洗剤を入れたりスイッチを押したりなど、お手伝いを終えるまでにいくつもの手順が必要になります。これらの1つ1つの行動を子ども自身が考えて行動することで、日常的にプログラミング的思考を身につけることができます。
【3】アンプラグドなプログラミング体験をしてみる
プログラミングの体験は、パソコンやタブレットなどの電子機器を使わなくてもできます。 たとえば、本を使ったりカードやボードゲームを用いることで、アンプラグドなプログラミング体験をさせることが可能です。アンプラグドなプログラミング体験では、プログラミング的思考の基礎にもなる論理的思考力が育まれます。遊びや好きなことの延長でプログラミング体験ができるため、子ども自身も楽しく体験できることでしょう。
【4】ロボット作成体験をしてみる
プログラミング的思考は、ロボット作成体験でも学べます。さまざまなプログラムツールを組み合わせて作るロボットは、打ち込まれたプログラムが正しい組み合わせでなければ作動しません。どうすればロボットが作動するか考えて実行することを繰り返すことで、考え方が正しいかどうかを確認することができます。 はっきりとした目標と正しい過程を見出す必要性のあるロボット作成体験では、プログラミング的思考をわかりやすく学ばせることができます。
プログラミング的思考を養うのに重要なこと4つ
家庭内でプログラミング的思考を養うには、保護者が子どもに問題提示するようなきっかけを与えることが多いでしょう。子どもがプログラミング的思考を養うときには、いくつか保護者が注意しなければならないことがあります。ここからは、プログラミング的思考を養うにあたり重要なことを解説していきます。紹介するポイントを押さえておくことで、より効果的にプログラミング的思考を身につけることができるでしょう。
【1】プログラミング的思考とはなにかを正しく教える
子どものプログラミング的思考を養うためには、保護者自身がプログラミング的思考について正しく理解した上で、適切に教えなければなりません。プログラミング的思考を養うには、実際にパソコンを使うことばかりではありません。しかし、お手伝いやアンプラグドな体験がプログラミング的思考に繋がると理解している子どもは少ないでしょう。 そのため、プログラミング的思考とはなにかを正しく教える必要があります。子ども自身に理解させた上で取り組むことで、より大きな効果が期待できます。
【2】結果だけではなく過程が大事であると伝える
子どもには、結果だけでなく問題解決における過程が大事である、ということを伝えた上で、プログラミング的思考を養いましょう。たとえば、1つの計算問題でもさまざまなやり方で答えを出せます。しかし、学校で正しい答えが出せたときに、学校で教えられたものとは違うやり方だから正解ではない、となってしまう場合もあります。 このような中ではプログラミング的思考を身につけることが難しくなってしまうため、結果だけではなく、過程が大事であるということを何度も伝える必要があります。
【3】自分の考えが正しいのか試行錯誤を繰り返させる
プログラミング的思考を養うために、子ども自身が本当に自分の考えが正しいのか、何度も考えてみることが大切です。目標達成に向けてやり方や考え方を試行錯誤することで、プログラミング的思考が養われるからです。そのため、目的に対して成功や失敗をした場合に、なぜそうなったのかを何度も繰り返し考えさせるとよいでしょう。
【4】子どもの話を聞いてあげる
保護者がしっかりと子どもの話を聞いて肯定してあげる環境を作ることで、プログラミング的思考が大きく育てられます。プログラミング的思考は、正解や間違いがわかりにくく、子ども自身が自分の考え方が正しいのか心配になることも少なくありません。心配や不安が大きくなると、学習意欲が低下してしまうため、子どもの気持ちに寄り添って話を聞いてあげることがポイントになります。
プログラミング的思考とプログラミングの共通点
プログラミング的思考とプログラミングには、目的に対して解決する手順を見出していくというやり方に共通点があります。プログラミングとは、コンピュータを動かすことで目的を達成させることをいいます。そもそも、プログラミング的思考とは、プログラムを書く、いわばプログラミングするときの思考法です。 目標達成に向けて正しい解決策を考えるという考え方が、プログラミング的思考とプログラミングの共通点といえます。
プログラミング的思考とプログラミングの相違点
プログラミング的思考とは、物事に対する考え方のことをいいます。それに対して、プログラミングとは、物事に取り組むそのもののことを指しています。目的に対する考え方のことをいうのか、それとも目的を達成することそのものをいうのかというのが、それぞれの違いです。
親子でプログラミング的思考を養っていこう
日常生活の中のできごとに、プログラミング的思考を用いた考え方を取り入れることで、親子でプログラミング的思考を養っていけます。プログラミング的思考を養うことで、日常生活はもちろん、大人になり社会に出てからも役立つことでしょう。この記事を参考に親子で、プログラミング的思考を養っていきましょう。
[参照元]
参照:『小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)』(文部科学省)
https://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm