公開日:2022.12.23
- プログラミング
- 思考
プログラミング的思考とは?必要とされる理由や鍛える方法などを解説します
2020年より小学校でも必修化されたプログラミング教育の目的のひとつは、「プログラミング的思考を養うこと」だとされています。
その理由は、「これからの時代には、プログラミング的思考が重要な能力となるため」と説明されています。
とはいえ、「プログラミング的思考」とは具体的にどのような考え方なのか、ピンと来ない方もいるかもしれません。
そこでこの記事では、プログラミング的思考とは何なのか、プログラミング的思考が必要とされる理由、そしてプログラミング的思考を鍛える方法について解説します。
プログラミング的思考とは?
2020年より小学校でもプログラミング教育が必修化され、「プログラミング」や「プログラミング的思考」などの言葉を聞く機会も増えてきました。
しかし「プログラミング的思考」と言われても、どのような思考なのかをイメージしづらい人も多いかもしれません。
そこで、「プログラミング的思考とは何か」ということを考えてみましょう。
文部科学省は、「プログラミング的思考」という言葉を以下のように定義しています。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
端的に言うと、プログラミング的思考とは「自分が意図する『動き』を実現するために必要な指示を、論理的に考えていく力」のことであると言えます。
コンピューターは正確に動きますが、プログラミング言語の指示通りにしか動きません。
人間のように、もし間違った指示が来た場合でも相手の事情を推しはかり、気を利かせて間違いを自主的に直してくれるようなことはありません。
このためプログラミングでは、指示と指示の組み合わせや順番を正確に、また論理的に考える必要があるのです。
プログラミングとは、「コンピューターを動かす為の指示を順番に書くこと」を指します。
外国人に何かを伝えるときには外国語を使うのと同じように、コンピューターに指示を伝えるには、「プログラミング言語」と呼ばれる言語を使います。
小学校プログラミング教育必修化の目的とは
2020年より小学校でプログラミング教育が必修化されただけでなく、中学校や高校でもプログラミング教育が拡充されています。
「プログラミング教育」と聞くと、「小学生のうちから、長い英数字をキーボードで打ち込むようなことをするの?」と思うかもしれません。
確かに、プログラミング教育の中でプログラミング言語について学ぶことはあります。
しかし、プログラミング教育の目的はそこだけではありません。
プログラミング教育の目的の本質は、むしろ「プログラミング的思考をはぐくむこと」であるとされています。
プログラミングという作業を通して、論理的思考力などをつちかうことが重視されているのです。
論理的思考とは?プログラミング的思考との違いとは?
プログラミング的思考とは、「自分が意図する『動き』を実現するために必要な指示を、論理的に考えていく力」だと説明しました。
では、「プログラミング的思考」と「論理的思考」、どちらも意味がよく似ている言葉ですが、具体的には何が違うのでしょうか?
ひとつずつ言葉を分解してみていきましょう。
「論理的」とは、広辞苑によると「論理の法則にかなっているさま」とされています。
つまり論理的思考とは、「議論・思考・推理などを進めていく筋道の法則にかなった考え方」と言うことができるでしょう。
一方、「プログラミング的思考」をもう少し簡単に言うと、「何らかの目的を達成する方法を、論理的に考える力」であると言えるでしょう。
つまり論理的思考との違いは、「プログラミング的思考には『目的を達成するため』という『ゴール』が存在する」ことだと言えます。
プログラミング的思考が必要な理由とは?
プログラミング教育の目的の本質は「プログラミング的思考をはぐくむこと」であることを説明しました。
では、プログラミング的思考はなぜ、必要だと考えられているのでしょうか?
それは、「社会のあり方が大きく変わっていく」といわれているこれからの時代に必要だと考えられているからです。
文部科学省の未来予測と、プログラミング的思考の重要性
文部科学省は、2016年に「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」を実施しました。
この会議では、プログラミング的思考の必要性について、「プログラミング的思考は、将来プログラミングに携わる仕事に就きたい子どもに限らず、これからの時代を生きていくにあたって普遍的に必要となる力」だとしています。
その内容をかいつまんで見てみましょう。
これからの時代はテクノロジーが発展する中、今人間がおこなっていることの多くをロボットやAI(人工知能)がおこなうようになったり、さまざまな物の動きがインターネット経由で最適化されたりするなど、情報技術がますます生活に溶け込んでいくことが予測されています。
そのような時代をこれから生きていく子どもたちは、情報技術を活用できる力を身につけておくことが重要となります。
また、従来にはなかったような状況に直面することも増えるでしょう。このような場面でも、慌てず論理的に考える力も求められると考えられます。
情報技術を活用できる力と論理的思考とが合わさった力とは、すなわち「プログラミング的思考」そのものであると言えます。
したがってプログラミング的思考は、将来プログラミングに携わる仕事に就きたい子どもに限らず、これからの時代を生きていくにあたって普遍的に必要となる力だと考えられます。
プログラミング的思考を鍛える方法
情報技術の発展がめざましい現代社会において、教育業界でのプログラミング的思考への重要度が高まる中、子どものうちからプログラミング的思考を身につけておくことは、さまざまな局面において役立つでしょう。
プログラミング的思考を鍛えるのは必ずしも難しいことではなく、日常における工夫や、身近なものを使うことなどで鍛えることができると考えられます。
ここでは、子どものプログラミング的思考を鍛えるための3つの方法を紹介します。
家事の手伝いで鍛える
家事には、マルチタスクを必要とする作業が多くあります。
そこで家事を子どもに手伝わせる際に、プログラミング的思考を用いておこなうように促してみましょう。
例えば料理であれば、「夕食に3品つくる」「お店のような味のハンバーグとソースをつくる」などの「意図する結果」をまず決めます。
そして、「そのためにはどうすればよいか」ということを、子どもと一緒に考えるところから始めます。
- 夕食に3品つくる:複数の作業を同時進行させる段取りを、どう組み立てるか
- お店のような味のハンバーグとソースをつくる:どのレシピを採用して、どこのお店に何を買いに行けばよいか
上記のように、「意図する結果」から逆算して「達成のための道筋」を考えます。
「こうしたら、こうなる」ということを子どもが論理的に考えられるように、思考を導いてあげてください。
うまくいかない場合、すぐに答えを教えるのではなく、いったん「どうしたらいいと思う?」と子どもに問いかけて考えさせることが、プログラミング的思考をはぐくむことにつながります。
プログラミングアプリやゲームで鍛える
子どもが遊びながらプログラミングを学べるアプリやゲームがたくさん出ています。
楽しく遊んでいるうちに、自然とプログラミング的思考が身についていくでしょう。
例えば、子ども向けの無料プログラミング学習ツール「Scratch(スクラッチ)」は200以上の国と地域で利用されています。
8~16歳の子どもが対象ですが、5~7歳の子ども向けにデザインされた簡易版である「ScratchJr(スクラッチジュニア)」もあります。
プログラムをキーボードの文字入力で記述するのではなく、ブロックなどを操作することでプログラミングをおこなう「ビジュアルプログラミング言語」を採用しています。
プログラムをキーボードの文字入力で記述するのではなく、ブロックなどを操作することで、直感的にプログラミングを学べる仕組みになっています。
Scratch(スクラッチ)について、以下の記事で詳しく説明していますので参考にしてみてください。
ロボットづくりで鍛える
ロボットづくりをおこなうことも、プログラミング的思考を養うのに役立ちます。
実際にプログラミング教室などでおこなわれているプログラミング教育は、「ロボットプログラミング」と「ソフトウェアプログラミング」の2種類に分かれます。
ロボットプログラミングとは、教材のロボットキットを組み立てる過程でモーターやセンサーなどのプログラミングができる部品を組み込み、タブレットやパソコンで部品の動きをプログラミングしてロボットを思い通りに動かすというプログラミングの学習方法です。
なお、ソフトウェアプログラミングとは、コンピューターなどの画面上でアニメやゲームを作ることでプログラミングを学ぶ方法で、先に紹介した「Scratch(スクラッチ)」などが該当します。
代表的なロボットプログラミングの教材に、教育用のレゴ®教材である「レゴ® エデュケーションSPIKE™ ベーシック」があります。
マウスのみで簡単に操作できるソフトウェアを使いながら、レゴ®ブロックでロボットを組み立てていくことで、楽しみながらプログラミング的思考を鍛えていくことができます。
LITALICOワンダーならプログラミング的思考を楽しく身につけられる
子どもがゲームやアプリなどでプログラミングに親しみ、興味を示しているようであれば、子どもを対象とするプログラミング教室でより本格的にプログラミングに触れることで、プログラミング的思考を身につけていく方法もあります。
LITALICOワンダーでは、プログラミング教室とロボット教室を、教室とオンラインの両方で実施しています。
生徒一人ひとりの興味にあわせて、オーダーメイドでカリキュラムがつくられます。
このため、「ロボットづくりやプログラミングは初めて」という子どもも、ゲームやアプリですでに慣れ親しみ、高度な作品づくりにもチャレンジしてみたいという子どもも、それぞれのスキルに合わせて楽しみながら学んでいくことができます。
ロボットづくりやゲーム制作などをおこなう中で、プログラミング的思考を身につけていくことはもちろん、「アイデアを形にする」という経験を通して好奇心や創造力、問題解決力なども刺激されるでしょう。
教室とオンラインの両方で無料体験授業をおこなっています。
興味のある方は、お気軽にお問い合わせください。
プログラミング的思考についてまとめ
プログラミング的思考とは、何らかの目的を達成する方法を、論理的に考える力だと言えます。
情報技術が生活にますます溶け込み、社会のあり方が大きく変わっていくと予測されるこれからの時代において、プログラミング的思考は重要な能力となると考えられています。
プログラミング的思考への重要度が高まる中、子どものうちからプログラミング的思考を鍛えていくことは、将来さまざまな局面を生きていくにあたって役立つでしょう。
日常生活にもプログラミング的思考を取り入れるほか、子どもを対象とするプログラミング教室やロボット教室などもぜひ、活用してください。