子どもがプログラミング的思考を身につける4つのメリット【元プログラマーママが解説】

この記事を書いた人
すまま

5歳・1歳を育てる、教育学部出身の元プログラマーママ

大学で教育を学び教職を目指した後、教育現場向けソフトウェアの開発に携わる。教育×ITの両方を知る視点から「考える力はどう育てるか」を日々研究・実践中。
現在は1歳・5歳の2児を育てながら、実際に試した知育おもちゃ・教材・声かけ方法を発信しています。

すままをフォローする

小学校でプログラミング教育が必修になり、「プログラミング的思考」という言葉をよく耳にするようになりました。

でも、「うちの子にも必要なの?」「教室に通わせないとダメ?」と、いまいちピンとこない方も多いのではないでしょうか。

教育学部を出たあと、プログラマーとして働いていた視点から言えるのは、プログラミング的思考は子どものうちに身につけておくと将来ずっと役立つ力だということ。

本記事では、プログラミング的思考を子どものうちから育てておくメリットについて紹介します。

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

「プログラミング的思考」と聞くと、プログラマーがプログラミングをするときに考える方法のこと?と思いがちですよね。

文科省ではプログラミング的思考について、次のように定義しています。

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

文部科学省「小学校プログラミング教育の手引」より

定義だけでは難しいですが、つまるところ、プログラミング的思考というのはゴールにたどり着くために、やることを分けて順番に並べていく力です。

プログラミングの時だけではなく、社会で生きる上で必要な力なんですよね。

子どもがプログラミング的思考を学ぶ4つのメリット

4つのメリット
  • 段取りを組み立てる力がつく
  • 予測しながら試す力がつく
  • 困難が起きたとき、解決する力がつく
  • 筋道立てて説明できる力がつく

段取りを組み立てる力がつく

段取りを組み立てる力がつくと、ゴールまでの道筋を自分で考えられるようになります。

物事には、スタートとゴールがありますよね。

スタートからゴールにたどり着くための道のりは1つではなく、いろんな手順が考えられます。 

私たちがふだん使っているアプリや機械のような「プログラムされているもの」は、入力(スタート)と出力(ゴール)が決まっていて、 その間の手順を作るのがプログラミングです。 

ゴールにたどり着けさえすれば、途中の順番は基本的にどんな順番でも大丈夫。 

だからこそ「ゴールまでにどんな手順を踏めばいいか」を自分で考えることが、段取りを組み立てる力になります。 

たとえば息子は、自分でフレンチトーストを作れるようになりました。下の図のように、卵液を先に作っても、パンを先に切っても、最終的に完成すればどちらでもOK。

息子はその日の気分によって順番を変えながら、ちゃんとゴール(フレンチトーストの完成)にたどり着いています。

予測しながら試す力がつく

「Aをしたら、Bになる」というのを頭の中で思い描きながら、実行できる力がつきます。

スタートからゴールまでの手順を考えるとき、「ステップ1をやったら次はどうなるか」「その次のステップ2をやったらどうなるか」と、一つ先の結果を思い浮かべながら順番を組み立てていきます。

そのため、実際に手を動かす前に「たぶんこうなるな」と予想できるようになります。

たとえば料理をしているとき、「ここで火を強めたら焦げそうだな」と思って、火を強めすぎないようにすることってありますよね。これも「火を強めたら焦げる」と先読みして動いている、予測しながら試す力のひとつです。

困難が起きたとき、解決する力がつく

自分で問題を解決できる力があれば、うまくいかなかったときに諦めてしまうのではなく、「なぜうまくいかないんだろう?」と原因を探して、直せるようになります。

これは、うまくいかなかったときに「どこのステップのせいか」を切り分けて考えるクセがつくからです。プログラミング的思考が身についている人は、失敗しても感情的にならず、原因を順番に洗い出せるようになります。

実際、プログラミングの現場でもそうなんです。書いたプログラムが一回で思いどおりに動くことなんて、ほとんどありません。むしろ、思いどおりに動かないことの方がほとんど。そんなとき、プログラマーは「なぜ動かないのか」「どのステップが原因なのか」を一つずつ切り分けて調べていきます。そうやって「ここが原因だ」と特定して、直していく。この”うまくいかない→原因を探す”の繰り返しが、そのまま問題解決の力になっていきます。

筋道立てて説明できる力がつく

自分の考えを人に説明するとき、順序立てて伝えられるようになります。

プログラムを作るうえでは、一つ一つの手順に「なぜそれをするのか」という根拠が必ずあります。 

プログラミング的思考が身につくと、その根拠を分かったうえで手順を進められるようになるので、頭の中が「なぜ→だからこうする」で整理されます。 

だから、人に話すときも一本の筋が通った説明ができるようになるんです。 

仕事でプログラムを作るときも、いきなり書き始めるのではなく「どういう順番で作るか」をまず考えます。しかもチームで開発するので、その順番を相手にも順序立てて伝えないと話が通じません。

これはプログラマーに限った話ではなくて、どんな仕事でも、人に何かを説明するときは「Aがあって、Bがあって、Cがあって」と順序立てて話せた方が、相手にとって断然わかりやすいですよね。

ちなみに、「プログラミング的思考」に似た言葉として「論理的思考」があります。
この2つ、似てるようで少し違うんですよね。

違いについて解説している記事もありますので、良かったら参考までにご覧ください。

メリットが将来活きる場面

仕事で役立つ

プログラミング的思考が身についていると、どんな仕事でも、段取りよく進められるようになります。

仕事というのは、たとえば「売りたいものがあって、それを売る(=売上を上げる)」というゴールがあり、そこに向かってどんな方法で進めるかを手順に分けて考えていきます。

プログラミング的思考”そのもの”とまでは言いませんが、つながる部分はかなり大きいんです。

実際の仕事では見切り発車で進めることも多いですが、それでも「どういう方向性で進めるか」の段取りを最初に決めてから、ステップを一つずつ踏んでいきますよね。

この段取り力は、どんな仕事でも役に立ちます。

日常で役立つ

プログラミング的思考は、仕事だけでなく日常でも役立つ場面がたくさんあります。

毎日の生活には、家事やお出かけの準備など、やることがたくさんありますよね。たとえばお出かけの準備も、行き当たりばったりで進めるより、先に「何が必要か」を洗い出してから順番を組み立てた方が、結果的に早く終わったりします。

料理も買い物もお出かけの準備も、結局は「ゴールに向けて手順を組み立てる作業」です。だから段取りを考える力があると、毎日の生活がぐっとスムーズになります。

変化の早い時代に、自分で答えを導き出す力になる

正解のない時代でも、自分で考えて答えを見つけられるようになります。

近年はAIが急速に広がり、変化のスピードもどんどん速くなっています。

単純な作業は機械が代わりにやってくれる時代になってきました。

そんな時代に大事なのは、決まった正解のない問題に、自分なりの答えを見つけていく力です。

AIは指示されたことは得意でも、「分解して・試して・直す」という問題解決はまだそこまで強くありません。ここは人間の方が強いところ。

逆に言えば、この力がないと、これからの時代はAIに仕事を奪われかねません。だからこの力を育てておくことが、これからを生きる子どもにとって大きな武器になります。

文部科学省も、プログラミング的思考を「どんな職業に就いても、時代を超えて普遍的に求められる力」だと位置づけています。 

親の関わり方で、家庭でもプログラミング的思考のクセが身につく

メリットは分かったけど、じゃあ実際、どうやってプログラミング的思考を育てればいいの?

プログラミングそのものは、パソコンや機械がないとできません。でも「プログラミング的思考」という”考え方”の土台は、普段の日常生活でも十分に育てられると私は思っています。

ここからは、我が家で私が実際にやっている「親の関わり方」を紹介します。じつはこれから紹介する3つ、どれも私が開発現場でやっていたことと、基礎的な部分は同じなんです。

親の関わり方3つ
  • すぐに答えを教えず、子どもが自分で考えるように問いかける
  • 躓いたとき、責めずに一緒に原因を考える
  • お出かけや予定を、一緒にプランニングする

答えを教えず、問いかける

子どもが「◯◯って何?」「◯◯ってどうして?」と聞いてきたとき、すぐに答えを教えるのではなく、まずは「どうしてだと思う?」と問いかけるようにしてみてください。

答えは合っていなくても大丈夫です。

間違えてもいいから「自分で考える」こと自体が、思考力を育てるからです。

我が家では、息子が何か考えがあって行動したときに「なんでそれをやったの?」と聞くようにしています。

つまづいたら、責めずに一緒に原因をさがす

「これができない」「この問題が分からない」と、子どもがつまづくこともありますよね。

そういうときは、できなかったことを責めるのではなく、「どうしたらできるかな?」「なんでうまくいかなかったんだろうね。ここを変えたらどうかな?」と、ヒントを出したり、一緒に原因を考えたりしてみましょう。

「なんでこうなったんだろう」と自分で考えさせて、「じゃあ次はこうしてみよう」と試す。この”試す”がプログラミング的にはとても大事です。

プログラムは一回でうまく動くことなんてまずないので、「なんでうまくいかないか」を繰り返し考えて直す=試行錯誤することで、少しずつゴールに近づいていくからです。

最近、我が家の息子はプログラミングカーにハマっています。

ボタンを押した順番どおりに車が動くおもちゃなのですが、押したとおりに動かないこともあります。

そんなとき「なんで動かないんだろうね」で終わらせず、「どこまではちゃんと動く?」と一緒に確かめます。

「ここまでは動くね。じゃあ、この先が違うのかも。ここを直してみようか」と対話しながら、どこを変えれば次に進めるかを考えさせる。

そうやっているうちに、いつの間にか自分でゴールまでたどり着けるようになっていました。

お出かけや予定を、一緒にプランニングする

お出かけや旅行の予定を、子ども自身に段取りから考えさせるのもおすすめです。

たとえば「今日はどこに行きたい?」と聞いて、「BとCに行きたい」と言ったとします。そうしたら、「AとCは近いけど、Bはちょっと遠いね。どういう順番で回ろうか?」「何時ごろ家を出ればいいかな?」「お腹が空くのはこの辺だから、どこでお昼にしようか?」と、順番や時間を一緒に考えていきます。

お出かけのスケジュールは、つい親が決めてしまいがちです。

でも、こうやって「次にどこへ行くか」「そのとき何が必要か」を子ども自身に考えさせると、手順を組み立てる力が自然と育っていきます。

私が息子に毎日やっている声かけや遊び方を、こちらに全部まとめました。

プログラミング的思考を子どものうちから育てるメリットまとめ

今回は、子どもがプログラミング的思考を身につける4つのメリットと、家庭での関わり方を紹介しました。

メリットをおさらいすると、「段取りを組み立てる力」「予測しながら試す力」「困難を解決する力」「筋道立てて説明できる力」の4つ。どれも、大人になってからも仕事や日常でずっと役立つ力です。

そして、この力を育てるのに、特別な教材や教室が必ずしも必要なわけではありません。
「答えをすぐ教えず問いかける」「躓いたら一緒に原因をさがす」「予定を一緒に組む」といった、日々のちょっとした関わり方で十分に育てていけます。

大事なのは、メリットを早く知ることより、毎日の生活の中でどう関わるかです。
今日からできることばかりなので、まずは一つ、気軽に試してみてください。

家庭でも十分に育てられますが、「もっと遊びながら伸ばしたい」「毎回、親が考えるのは大変」という場合は、プログラミング教室という選択肢もあります。

家庭でもっとプログラミング的思考の具体的な育て方を知りたい方はこちらの記事を参考にしてみてくださいね!

コメント

タイトルとURLをコピーしました