メリット

プログラミング的思考とは?子どもに必要な理由と家庭での鍛え方を解説

プログラミング的思考とは?を解説する記事のアイキャッチ画像。背景は青色で、子どもがタブレット端末を使っている写真が挿入されている。
プログラミング教育に詳しくない主婦
プログラミング教育に詳しくない主婦

うちの子、もっと考える力をつけてほしいな…
論理的に考える力って、どうやって育てればいいの?

このような疑問に答える記事です。

この記事でわかること

家庭でプログラミング的思考を身につけると考える力が育つ!

まる
まる

元システムエンジニアのまると申します。
小学生の娘2人の母親目線でプログラミング学習について発信しています。

目次

プログラミング的思考の基礎知識

プログラミング的思考の基礎知識を解説します。あまり聞いたことがない言葉かもしれませんが、私たちの日常生活の役に立つスキルとなります。

プログラミング的思考とは?論理的に問題解決を行う思考方法

文部科学省の資料より、プログラミング的思考についての説明を引用します(引用元URL)。

自分が意図する一連の活動を実現するために,どのような動きの組合せが必要であり,一つ一つの動きに対応した記号を,どのように組み合わせたらいいのか,記号の組合せをどのように改善していけば,より意図した活動に近づくのか,といったことを論理的に考えていく力

参考資料2 小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)(文部科学省)

プログラミング的思考とは、問題を解決するために必要な指示を、論理的に考える力のことです。物事を整理し、順序立てて考え、効率的に目標の達成を目指します。

プログラミング的思考は、実際にプログラミングすることを表しているわけではありません。日常生活や仕事の中で活用できる思考法として注目されています。

プログラミング的思考が必要とされている理由

プログラミング的思考を鍛えれば、子どもも大人も、自分で考え工夫しながら問題を解決する力を養えます。将来どんな職業に就くとしても役立つスキルです。

近年、AI・デジタル技術の発展により、さまざまな仕事がコンピュータに代替されています。コンピュータを「どのように活用するか?」を考え、仕事を自動化する仕組みを創造できる人材は重宝されるでしょう。

また、子どもの頃からスマホやタブレット端末に触れる機会が増加しているため、SNSやインターネットで得た情報が正しいか見抜く力が求められます。情報が適切か判断するには、直感ではなくプログラミング的思考が必要です。

小学校でプログラミング教育が必修化された背景

日本の小学校でプログラミング教育が必修化されたのは、プログラマーを育てるためではなく、子どもたちがプログラミング的思考を身につけることが目的です。

自分で考え、試行錯誤しながら問題を解決できると、単に知識を暗記するのではなく、主体的に学び、応用できる力が育ちます。

思考力は短期間で身につくものではありません。算数・理科・音楽・図工などの教科学習にプログラミング的思考につながる授業を導入し、さまざまな気づきを得ながら理解を深めていきます。

論理的思考との違い

プログラミング的思考と論理的思考は、どちらも物事を筋道立てて考える力を指しますが、重視するポイントが異なります。

プログラミング的思考は、試行錯誤しながら最適な方法を見つける思考です。例えば、「朝の支度をスムーズにするには、どの順番が最適か?」を考え、効率よく進められるよう改善を繰り返します。柔軟に手順を考える必要があります。

論理的思考は、矛盾なく筋道を立てて結論を導く思考です。例えば、「なぜ朝の支度が遅くなったのか?」と原因を分析していきます。説明に一貫性をもたせるためには因果関係の整理が必要です。

プログラミング的思考を学ぶメリット

プログラミング的思考を学べば、子どもが論理的に考える力や試行錯誤する力を身につけられます。プログラミング学習のメリットについて詳しく知りたい方は、以下の記事もチェックしてみてください。

プログラミング的思考で身につく5つの能力

プログラミング的思考を鍛えると、実際にどんな能力が身につくのでしょうか?仕事にも日常生活にも役立つ5つの能力が身につくので解説します。

能力1:分解して考える能力

プログラムを書くときは、一つ一つの処理を細かく分解して記述する必要があります。コンピュータはあいまいな指示を理解できないため、大きな問題をそのまま考えると、どこから手をつければいいか分からず混乱してしまいます。各部分の役割や関係性を明確にするには、小さな要素に分解して指示を出す必要があるのです。

もし、プログラムに不具合が見つかった場合、細かく分解されていれば、どの部分にエラーがあるかすぐに発見できるでしょう。

能力2:組み合わせて考える能力

各要素を分解した後、適切な順番で組み合わせると、プログラムが完成します。組み合わせにはさまざまなパターンがありますが、正しい手順をふむとスムーズに目的を達成できます。

例えば「ユーザーがボタンを押す→画面が変わる→データが保存される」などの手順を考えるのも、組み合わせて考える能力を使っています。プログラムの設計がスムーズになるだけでなく、日常生活や仕事の効率化にもつながるでしょう。

能力3:シミュレーション能力

プログラムを動かす前に、動作を予測し、問題が発生しないかシミュレーションを行います。実際にコードを書く前に、シミュレーションを行い問題点を予測できれば、エラーを減らしスムーズに作業を進められます。この能力を身につけると、効率的にプログラムを設計・開発可能です。

シミュレーション能力は、プログラミングだけでなく、プロジェクトの計画や業務フローの設計など、さまざまな場面で役立ちます。

能力4:抽象化する能力

具体的な事例から共通するルールやパターンを見つけ、本質を抜き出して整理することを抽象化と言います。プログラム制作の際に重要な部分と省略できる部分を選別すると、抽象化する能力が身につき、物事をシンプルな構造にまとめられます。プログラムを管理しやすくなり、新しい状況にも柔軟に対応できるでしょう。

抽象化する能力は、日常生活でも「あるルールを一般化して適用する」場面で活用できます。

能力5:物事を一般化する能力

プログラムの設計では、特定のケースだけでなく、さまざまな状況への対応が求められます。抽象化したルールや構造を、異なる状況にも適用できるようにするのが、物事を一般化する能力です。特定の事例から共通のルールを見つけ、それを他の場面でも適用できると、開発効率がアップします。

日常生活で「毎朝のルーティン」を作り準備をスムーズに進めたり、仕事で「成功パターンを他のプロジェクトに応用」して成果を出したりできるでしょう。

プログラミング的思考を鍛える実践的な方法2選

ここでは実際にプログラミング的思考を鍛える方法を2つ紹介します。具体的に解説するので、実現できそうなものがあれば取り入れてみてください。

方法1:料理で鍛える

料理は、プログラミング的思考を鍛えるのに最適な日常の活動の一つです。順序立てて考える力や、試行錯誤しながら工夫する力を育みます。ここではカレー作りを例に、具体的な手順をプログラミング的思考を交えて解説します。

材料をリスト化する(データの整理)

まず、カレーを作るために必要な食材・道具をリストアップします。

  • 食材 → 豚肉・じゃがいも・にんじん・たまねぎ・カレールー・水
  • 道具 → まな板・包丁・ざる・ボウル・鍋・サラダ油・菜箸

子どもに「カレーを作るには何がいるかな?」と問いかけ、考えながらリストを作ることで、情報を整理する力が育ちます。キッチンに入る前に材料をリスト化して、買い忘れがないか確認しておくと安心です。

材料をキッチンにそろえる(環境構築)

材料がそろったら、次は冷蔵庫や棚から出してキッチンにそろえます。 子どもと一緒に「まず何を準備する?」と確認しながら進めると、計画的に作業をする力や必要なものを見落とさない注意力が鍛えられます。

キッチンに出し忘れているものがないか、子どもと一緒にチェックしておきましょう。

③材料をどこに置くか考える(作業の最適化)

食材を切った後、どこに置くかを決めることも重要です。 「じゃがいもはお皿に、にんじんはボウルに入れる?」と考えれば、作業の流れを具体的にイメージできます。効率的に作業を進める工夫や使いやすい環境を整える力が身につくでしょう。

④手順を考える(アルゴリズム的思考)

カレー作りには、どの順番で作業するか考えることが大切です。大まかな手順だと

「野菜を切る → 炒める → 煮込む → ルーを入れる」

となりますが、1つめの「野菜を切る」の中にも以下の選択肢があります。

  • じゃがいもの皮をピーラーでむき、包丁で一口サイズに切る
  • にんじんの皮をピーラーでむき、包丁で一口サイズに切る
  • たまねぎの根と頭を切り、包丁でヘタを取り、一口サイズに切る
  • 豚肉を一口サイズに切る

「最初に何をするのがいいかな?」と考えさせることで、論理的に順序を組み立てる力が育ちます。時間も手間もかかりますが、よほど危険でなければ、子どもの意思を尊重し、好きな順番で作業を進めさせてあげましょう。

方法2:朝の支度をプログラム化して鍛える

小さな子どもでもプログラミング的思考を簡単に鍛える方法として、朝の支度をプログラム化する方法もおすすめです。目覚めてから家を出発するまでに何をどの順番で実行するのか考えられると、物事を効率よく進める力が身につきます。

小学生の朝の支度手順

我が家の長女(小学4年生)と次女(小学2年生)の朝のルーティンは以下の通りです。

※小学校の通学班の集合時間7:40に間に合うように家を出ます。

トイレと顔を洗う作業は2人同時に実行できないため、タイミングをずらして対応しています。

もし失敗してしまったら?のケースを考える

娘たちが小学生になってから朝のルーティンは順調に回っていますが、幼稚園に通っていたときは、さまざまなハプニングがありました。「もし〇〇だったら?」という考え方は、プログラミングにおける分岐処理と似ています。以下の具体例を読むと、育児しながらプログラミング的思考に触れていることに気づくでしょう。

📌 もし牛乳をこぼしたら?🥛

当日の対策

  • 子どもをなぐさめる
  • 急いで着替える
  • 家を出る前に服を水に漬けておく

翌日以降の対策

  • 着替えるタイミングを見直す(家を出る直前に変更するなど)
  • 「服を濡らさない方法」を子どもと一緒に考える

📌 もし雨が降っていたら?

当日の対策

  • レインコートを持っていく
  • 傘を持っていく
  • 長靴をはく
  • 替えの靴下とビニール袋をランドセルに入れる
  • ハンカチをもう1枚持っていく

翌日以降の対策

  • 寝る前に明日の天気を確認する
  • 天気予報が雨なら、寝る前に長靴やハンカチなど必要なアイテムを準備する

他にも「もし朝ごはんが好みじゃなかったら?」「もし歯みがきを嫌がったら?」など、さまざまなトラブルが発生する可能性があります。朝、時間がない中で子どもの支度を進める作業は非常に大変ですが、トラブルシューティングの経験を積めば、親子で成長していけるでしょう。

プログラミング的思考を鍛えられる教材・ツール5選

プログラミング的思考は、さまざまな教材・ツールで鍛えられます。ここでは5種類紹介するので、子どもの興味・関心に応じて好きなものを選んでください。

教材1:書籍・ドリル

プログラミングを学ぶときに書籍・ドリルを使用すると、自分のペースで基本からじっくり習得できます。パソコンを使わないため、いつでもどこでも学習できます。プログラミングに初めて触れる子どもにおすすめです。

📖 『ルビィのぼうけん』シリーズ
 → イラストを交えながら、プログラミング的思考を楽しく学べる絵本。

📖 『考える力が育つ!幼児向けプログラミングドリル』
 → 幼児向けのドリル形式で、パズル感覚で学習できる。

📖 『小学生からはじめるわくわくプログラミング』
 → Scratchを使いながら、実際のプログラムを作る入門書。

教材2:おすすめアプリ・おもちゃ

プログラミングはアプリやおもちゃによる学習も可能です。直感的に操作できるので、小さな子どもも楽しく取り組めます。アプリ内のキャラクターやロボットなどのおもちゃを、自分の好きな方向に動かせるので、プログラミングの基礎を簡単に学べます。

📱 「Scratch Jr.」(アプリ)
 → 5歳から遊べるプログラミングアプリ。ブロックを組み合わせてキャラクターを動かすことで、プログラミングの基本が学べる。

📱 「ワンダーボックス」(知育アプリ)
 → ゲーム感覚でSTEAM教育が学べるアプリ。プログラミング思考を鍛えるパズルや謎解きも充実。

🧸 「キュベット(Cubetto)」(おもちゃ)
 → タブレットやスマホを使わずに、木製のロボットを動かしながらプログラミングの基本を学べる。

教材3:カードゲームやボードゲームで鍛える

カードゲームやボードゲームは、ルールや目的が明確なので、駆け引きや試行錯誤を楽しみながらプログラミング的思考を鍛えられます。ルールを子どもに教えたり、子どもと一緒に覚えたりすれば、コミュニケーション能力もアップします。勝ち負けを予想しながらゲームを進めることで、戦略的思考が身につくでしょう。

🃏 「Robot Turtles(ロボット・タートルズ)」
 → 4歳以上を対象としたゲームで、カードを使ってカメをゴールに導く。親子で楽しめるのが魅力。

🃏 Code Master(コードマスター)
 → 8歳以上向けのゲームで、指定された条件で最短ルートを考える。レベルが進むごとに難易度が上がる。

教材4:ロボット作りで鍛える

ロボット作りは、部品を組み立てて工作する学習方法と、動作をプログラムする学習方法に分かれます。子どもの興味に合わせて好きな方法で取り組みましょう。

集中的にトレーニングしたい人は、ロボット制作ができるプログラミング教室に通うのがおすすめです。実際に手を動かしてロボットを操作できると、創造力が養われます。物事を順序立てて考えられると、ロボットが予想通りに動くようになり、プログラミングを楽しく学べるでしょう。

🤖 「KOOV(クーブ)」
 → ソニーが開発した8歳以上向けのロボットプログラミングキットで、カラフルなブロックを組み立てて動かす。

🤖 「Sphero BOLT
 → 8歳以上を対象としたボール型のロボットで、専用アプリを使ってプログラミングする。

教材5:オンライン講座

実際にプログラムを制作したくなったら、オンライン講座を受講してみましょう。動画や実践演習を通じて、楽しく学びながらプログラミング的思考を鍛えられます。書籍・ドリルで文字を読むより、プログラムの動かし方やコードの書き方を動画で学びたい方におすすめです。

🎥 「Progate(プロゲート)」
 → 小学生から学べる、初心者向けのプログラミング学習サイト。スライド形式で学べるので、わかりやすい。

🎥 「CodeCampKIDS」
 → 子ども向けに特化したオンラインプログラミングスクール。Scratchを使いながら、楽しく学べる。

🎥 「Udemy(ユーデミー)」
 → 世界的に有名なオンライン学習プラットフォーム。親子で学べるプログラミング講座も豊富。

プログラミング的思考に関するよくある質問4点

プログラミング的思考を鍛える際に生じる疑問をまとめます。

Q1. プログラミング的思考は何歳から始めるべき?

プログラミング的思考の学習は、5歳くらいの幼児期からが推奨されています。読み書き不要な教材・ツールを使えば、ゲーム感覚でプログラミングに触れます。視覚的・触覚的に学習を進めて、プログラミングの基本的な考え方に触れる良い機会となるでしょう。

10歳を過ぎると、新しいことへの挑戦を怖がる子どももいるため、それまでにプログラミング的思考の学習開始をおすすめします。

Q2. プログラミング的思考が苦手な子どものサポート方法は?

プログラミング的思考が苦手な子どもをサポートするには、学習を継続できる環境を整えることが重要です。具体的には以下の対策があります。

  • テレビやスマホの音を消し、静かに集中できる部屋を用意する
  • 子どもが楽しめそうなプログラミング教材を用意する
  • 親も一緒に学ぶ

新しいプログラムを作ったり、アイデアが浮かんだりしたら、小さなことでもほめてあげると、子どもの自信につながりやる気がアップします。特別な才能がなくても、継続できればプログラミング的思考を身につけられるのです。

Q3. プログラミング的思考は文系でも役立つ?

プログラミング的思考は、文系の人にとっても非常に役に立ちます。プログラミングは、数学や物理などの理系科目の知識は全く必要ありません。文系出身のIT系エンジニアもたくさんいます。

プログラミング的思考を鍛えると、問題解決や業務効率化が得意になり、文系理系問わずさまざまな分野で活躍できる人材に成長します。文系ならではの文学や社会学の知識が加われば、将来のキャリアの選択肢を広げられるでしょう。

Q4. プログラミング的思考を学ぶときの注意点は?

プログラミング的思考を学ぶときの注意点は以下の通りです。

  • 「コードを書かないと身につかない」と誤解されやすい
  • 「正解」を求めるより、試行錯誤が大事
  • パソコンやタブレットを長時間使用したら休けいする

コードの記述などの難しいことをしなくても、プログラミング的思考を学習できますが、正解は1つではないので、さまざまなパターンを試してみましょう。組み合わせによっていろいろなプログラムが制作できるので、楽しめるようになります。

パソコンやタブレットは長時間使用すると目が悪くなるため、親がタイマーなどで時間を管理し、子どもの健康面もサポートしてあげましょう。

プログラミング的思考とは?まとめ

プログラミング的思考は、単にプログラミングを学ぶためだけのものではなく、問題解決力や論理的に考える力を育む重要なスキルです。

デジタル化が進む現代では、SNSやインターネット上の情報を正しく判断する力が求められます。子どものうちからプログラミング的思考を鍛えることは、将来の学びや仕事に役立つだけでなく、日常生活においても大切な力となるでしょう。

本記事で紹介した学習方法や教材を活用し、お子さんが楽しみながら考える力を伸ばせる環境を整えてみてください。

  • この記事を書いた人
まる

まる

Webライターのまるです。 小学生の娘が2人います。 元SE(システムエンジニア)で応用情報技術者の資格を所持しています。 子どものプログラミング教育について発信中です。

-メリット