プログラミング的思考という言葉があります。
2020年の小学校プログラミング必修化に伴い、多くのメーカがプログラミング教材を発表しました。
そのほとんどで『プログラミング的思考を身に付ける』という言葉が使われています。
『論理的に物事を組み立てる力』や『問題を解決する力』などという言葉もプログラミング教育ではよく見かけますが、まずは、『このプログラミング的思考』という言葉についてもう一度確認してみました。

そこで、BingAIとchatGPTに『子供に必要なプログラミング的思考とは』について聞いてみました。


子どもに必要なプログラミング的思考とは何ですか?どんなものですか?説明をしてください。
BingAI
BingAI

プログラミング的思考は、プログラミングをする上で必要な思考方法のことです。プログラミング的思考を身につけることで、目的と過程を明確にする力が身についたり、物事を合理的に考えられるようになったり、問題を順を追って解決する力が身についたりします¹。2020年より小学校でも必修化されたプログラミング教育の目的のひとつは、「プログラミング的思考を養うこと」だとされています。

例えば、プログラムを作成する際には、目的や手順を明確にする必要があります。そのため、プログラミング的思考を身につけることで、目的や手順を明確にする力が身につきます。
また、プログラムの作成過程で発生するエラーの原因を特定し、解決するためには、問題解決能力が必要です。プログラミング的思考を身につけることで、問題解決能力が身につくようになります。

¹: [プログラミング的思考が必要な理由とは?子どものうちから学ぶメリット・鍛え方 | ATHUMAN KIDS](https://kids.athuman.com/cecoe/articles/000178/)
²: [プログラミング教育で鍛えるべき「プログラミング的思考」とは? | Wonder LITALICO](https://wonder.litalico.jp/news/column2212-4/)
³: [プログラミング的思考とは | なぜ必要?家庭でできる対策は? | COETECO](https://coeteco.jp/articles/10277)

chatGPT
chatGPT

子供に必要なプログラミング的思考は、以下のような特徴を持つことが望ましいです。

  1. 論理的思考: プログラミングは論理的な手順を追いながら問題を解決することが求められます。子供には、論理的な思考を養うことが重要です。例えば、条件分岐やループなどのプログラムの制御構造を理解し、プログラムの流れを追う能力を持つことが望ましいです。
  2. 問題解決能力: プログラミングは問題を解決するためのスキルを必要とします。子供には、問題を分析し、効果的な解決策を見つける能力を養うことが大切です。また、複雑な問題を小さな部分に分割して解決する方法を学ぶことも重要です。
  3. 創造性: プログラミングは創造性を発揮することができる分野でもあります。子供には、自分自身のアイデアを形にする方法を学び、オリジナルなプログラムを作成する能力を育むことが望ましいです。また、問題に対する新しい視点やアプローチを見つけ出す創造的な思考を養うことも大切です。
  4. 比較的抽象的な思考: プログラミングは抽象的な概念を扱うことが多いため、子供には抽象的な思考を養うことが望ましいです。例えば、変数や関数のような抽象的な概念を理解し、それらを組み合わせてプログラムを作成する方法を学ぶことが重要です。
  5. 持続性: プログラミングは試行錯誤を繰り返すことが多いため、持続性が求められます。子供には、長期的な目標を持ち、途中で挫折せずに取り組むことのできる持続力を養うことが望ましいです。
  6. コミュニケーションスキル: プログラムはチームでの開発が一般的であり、コードの共同編集や意思疎通が重要です。子供には、自分のアイデアや考えを他人に伝えるコミュニケーシ
  7. エラーへの対処能力: プログラミングはエラーやバグが発生することが一般的です。子供には、エラーを見つけて修正する能力や、問題を解決するために自己解決能力を養うことが重要です。また、エラーが発生した際に諦めずに問題を解決するための忍耐力や根気を持つことも大切です。
  8. 自己学習のスキル: プログラミングは急速に進化している分野であり、新しい技術や言語が登場することが多いです。子供には、自己学習のスキルを養うことが重要です。新しい情報を調べたり、オンラインのリソースを活用して自己学習をする方法を身につけることが望ましいです。
  9. デザイン思考: プログラミングはユーザーのニーズを満たすためのソフトウェアやアプリケーションを作成することが目的の一つです。子供には、ユーザーの視点を考慮し、使いやすく魅力的なインターフェースをデザインする思考を持つことが望ましいです。
  10. 柔軟性: プログラミングは常に変化する環境に対応する能力が求められます。子供には、柔軟性を持ち、新しいアイデアや技術に対してオープンな姿勢を持つことが大切です。新しいことにチャレンジし、自己成長を促すような柔軟な思考を養うことが望ましいです。

これらのプログラミング的思考は、子供がプログラミングを始める際に役立つだけでなく、一般的な問題解決や創造的な思考、自己学習のスキルなど、幅広い領域で役立つスキルでもあります。子供にこれらの思考を育む機会を提供し、プログラミングを通じて幅広いスキルを身につけられるよ