「プログラミング的思考」とは何か?子どもの論理的な思考力を養う

「プログラミング的思考」とは何か?子どもの論理的な思考力を養う

2020年度より、全国の小学校で「プログラミング」が必修化されます。

この記事では、プログラミング教育の主な目的である

「プログラミング的思考力」とは何か?

について詳しく解説していきます。

プログラミング的思考力とは論理的な思考力

文部科学省の中央教育審議会で決定された、小学校での「プログラミング」の必修化。

これは日本だけのことではなく、現在世界中の国々で小学校レベルの教育にプログラミングが導入され始めています。

プログラミング教育の目的は、子どもたちに
「物事を筋道立てて論理的に考える力(プログラミング的思考力)」
を身につけてもらうためとされています。

文部科学省では、プログラミング的思考について

「自分が意図する一連の活動を実践するために、論理的に考えていく力」
と説明しています。

つまり

・自分がやりたいことを実践する
・自分に起きている問題を解決する

そのためには何が必要なのか?
どんな準備をすればいいのか?
問題の原因は何なのか?

と言ったことを自分の頭で考えて整理し、実際に実行する。
そして、実行した結果を観察し、必要に応じてい修正する

こういった能力は、これからの人生のありとあらゆる場面で役に立つものです。
プログラミングは、子どもたちの論理的な思考力を養うのに有効であると考えられているのです。
自分が意図する一連の活動を実践するために、論理的に考えていく力

プログラミングの特徴と、子どもへの影響

プログラミング教育が、具体的に子どもの思考力にどのような影響を及ぼすのか?

実際に「プログラミング」というものの特徴から考えていきます。

プログラミング的思考とは、主に次のような要素から成り立っています。

・アルゴリズム
・シーケンス
・ループ
・抽象化
・デバッグ
アルゴリズムとはアルゴリズムとは、「コンピュータが実際に働くための手順」を表したものです。
たとえは、正方形を描くアルゴリズムは「直線に10歩進む」→「右に90度曲がる」→「直線に10歩進む」を繰り返したもの。

このように自分が実行したい最終的な形から、それを構成する細かな要素を一つ一つ抜き出していき、手順を組み立てることで、子どもの論理的な思考力を育てていきます。

アルゴリズム

シーケンスとはシーケンスとは、「コンピュータがプログラムに書かれた指示を順番に実行していくこと」を表したものです。
音符を使って楽譜を書くように、プログラミングでは様々な指示を順番に並べることでコンピュータを動かしていきます。

どのような順番で並べれば、自分の思い通りの働きをさせられるのか?
子どもたちに考えさせることで問題解決能力を育てていきます。

ループとは
ループとは、「コンピュータが同じことを何度も繰り返すこと」を表したものです。

プログラムをループすることが出来るのはコンピュータの大きな特徴で、全く同じ動作を正確に、疲れたり飽きたりせずに繰り返したり出来るという、人間とは違うコンピュータの強みを理解することにも繋がります。

また、ループしているプログラムを観察して「始まりと終わりはどこか?」を見つけ出すことで、物事の重要なポイントを理解する能力も身につきます。

ループ

抽象化
抽象化とは、「プログラミングの重要なポイントを抜き出して余計なポイントを削除すること」を表したものです。

例えば、一つの正方形を描くプログラムを作るのに、100行も200行もプログラムを羅列する必要はないわけです。
そのような煩雑なプログラムは、無駄だしわかりにくいし他人に伝わりにくいし、どこかにミスが生まれる可能性も高くなります。

本当に重要な部分はどこか?必要ない部分はどこか?を見つけ出す能力は、子どもたちが物事の根本を見極める力を身につけることに役立ちます。

抽象化

デバッグとは
デバッグとは、「プログラムの中の間違いを見つけ出して修正すること」を表したものです。

プログラミング教育の中では、間違いを恐れる必要は全くありません。
料理や工作のように、失敗したら材料を消耗してしまうようなことはなく、何度でも失敗出来ます。

自分が作ったプログラムが上手く動かない原因はどこにあるのか?
見つけ出して修正し、その結果を観察する。

「間違っても修正すれば上手くいく」という体験は、子どもたちにとってチャレンジ精神や自信を身につけるための非常に大切な経験です。
プログラミング教育は、デバッグこそが最も重要な要素と言っても過言ではありません。

デバッグ

プログラミング的思考は既存の授業にどう関わるか

小学校でプログラミング教育が必修化されたからといって、「プログラミング」という新たな教科が出来るわけではありません。

既存の教科である「算数」「理科」「総合的な学習の時間」「家庭科」「音楽」などの授業の中で、プログラミング的思考を用いたカリキュラムが新たに導入されると言うことです。
具体的には、プログラミング的思考は既存の教科にどう関わって行くのでしょうか?

算数のプログラミング的思考算数の時間では、主に「図形」を理解するのにプログラミングが役立ちます。
正方形、長方形、平行四辺形、台形などは、どのような要素によって成り立っているのか?
そのような図形を描くには、どのようなプログラムを書けば良いのか?
コンピュータを利用して、より実践的に図形を理解することが出来ます。

また、算数や数学に必須の要素である「公式」とは、まさにプログラミングそのものです。
プログラミング的思考を通じて、公式とは何か?
公式を用いて問題を解決する思考力を身に着けていきます。

算数と図形

理科のプログラミング思考現代のあらゆる電子製品は、プログラミングによって働いています。
理科の時間では、例えば電気スタンドの工作キットなどを用いて、実際に電気を効率よく用いるためのプログラムを作成していきます。

他にも、地球の自然や生物の身体の構造などの「仕組み」をプログラムとして理解するのにもプログラミング的思考が役立ちます。

総合的なプログラミング的思考総合的な学習の時間では、ロボット教材などを使った授業などが想定されています。
自分が作ったプログラムが、コンピュータの画面上だけでなく、目の前のロボットの動作として実行されることは、子どもたちの感性に大きな影響を与えるはずです。

また、各自が調べたテーマについてプログラミングを用いて発表する授業なども想定されています。

手作りロボット

音楽のプログラミング的思考音楽家が書く「楽譜」は、まさにプログラミングそのものです。
音楽の時間では、リズムやパターンの組み合わせを考え、それをプログラミングして楽曲を作成する授業などが想定されています。

楽器演奏の技術が無くても、プログラムに沿って正確にシーケンスしたりループしたりするコンピュータの強みを理解することにも役立ちます。

音楽のプログラミング

家庭科のプログラミング的思考炊飯器でご飯を炊く時、水の量や火加減はどのように設定すべきか?
現代の生活に欠かせない家電製品は、すべてプログラミングで動いています。
「はじめチョロチョロ中パッパ」を再現するには、どのようなプログラムを作ればいいか?

家庭科の時間では、プログラミング的思考をより実践的に生活に役立てる思考力を身に着けていきます。

全国の子どもプログラミング教室で体験授業を実施中

小学校でのプログラミング必修化によって、子どもの教育にプログラミングがいかに有用であるかが、広く認知されるようになってきました。

それに伴い、全国で子ども向けのプログラミング教室が開講し、体験授業に人気が殺到しています。

小学校でも、4年生以上ではクラブ活動でプログラミング部などが想定されており、新しい時代の子どもの習い事として「プログラミング」は確実に定着してきています。

学校教育に任せるだけでなく、より専門的な研修を受けた講師たちに習ってほしいと考えるのであれば、まずはお近くの子どもプログラミング教室を体験してみてはいかがでしょうか?