2020年から小学校プログラミング教育が必修化されます!
小学生の子供をもつ親御さんからすると、新しい教育が始まるということで、一体どんなことをやるのか、そもそも何のためにやるのか、気になる所ではないでしょうか?
我が家も小学生の子供がいるので、やっぱり気になります。
プログラミング教育の目的のひとつは「論理的思考力」を身に付けること、ということらしいのですが・・・
とはいえ
- プログラミングってコンピュータの専門家が知っていればいいことじゃないの?
- 論理的思考力って言葉だけでも難しいのに、そもそも子供に必要なことなの?
- 自分も知らないことを子供達にどうやったら分かりやすく伝えてあげられるんだろう?
そんな風に思っている方もいらっしゃるのではないでしょうか。
そこで今回は、そこで今回は、IT歴30年以上の経験を元に、私なりにこの3つの疑問に答えてみようと思います。
プログラミングも、論理的思考力も、捉え方次第で意外と簡単に理解することができるものですよ。
Contents
プログラミングとは
ではまず最初はプログラミングから説明しますね。
プログラミングはカンタンにいうと、物事の順序とルールを見つけて組み立てることを言います。
プログラミングというと、パソコンに向かって何やら英語で書かれた言葉や数字の羅列をひたすらに打ち込んで、パソコンで動かす・・・というイメージをされる方も多いのではないでしょうか。
確かにそのプログラミングを指すこともありますが、プログラミング教育では、そこまで理解する必要はまだなくて、もっと普段の生活の中で考えることができるものになります。
例えば・・・
- その日にやる必要がある作業を、どういった順序でやれば手早く終わらせることができるかを考えること
- 夕食のメニューを決めて、それを作るために、材料と道具に何が必要で、どんな手順でやれば完成させられるかを考えること
- 旅行の行き先と予算を決めて、交通手段や宿泊先、滞在時間を決めて、どんな行程で行けば目的地まで行けるか
こういったことを考えることも、プログラミングと言えます。
物事がうまく進んでいく、その仕組みや流れを理解して、それを実行するための手順を作ったり、必要なルールを作ったりすること
このようなことをパソコンやタブレットを使ってゲーム感覚で学ぶ、と考えてもらえばOKです。
プログラミングという言葉は、プログラムを作るという意味になります。プログラムといえば、運動会でいうと競技の順番を書いたものがありますよね。運動会でやる競技とその順番を決めたものがプログラム。それを作るのがプログラミング。
プログラミング教育で身に付けるのは、普段の日常生活の中にあるプログラムを見つけたり、それをどうやったら自分でできるようになるかを考える力ともいえます。
論理的思考力とは
では続いて、論理的思考力について説明しますね。
論理的という言葉に、難しい?お堅い?理屈っぽい?そんな印象をお持ちの方もいらっしゃるかもしれませんね。ですが、こちらもあまり難しく考える必要はありません。日常の中で何気なく使っている考え方だったりします。
論理的思考力とはカンタンにいうと、結果が出た理由を考えて理解する力のことを言います。
先ほどのプログラミングであげた例でいうと
- 今日の作業はいつもより早く完了することができた。なぜなら、始める前にやる順番を整理して始めたからだ。
- 昨夜の夕食はとても美味しかった。なぜなら、プロが作ったレシピの通りに作ったからだ。
- 先日の旅行は目的地でゆっくりと過ごすことができた。なぜなら、前もって余裕のある計画を立てたからだ。
こんな感じで、どうしてその結果になったのか、その理由を考えて理解する力が論理的思考力です。
ここでポイントとなるのは、ただ理由を考えて終わりではない、ということです。
結果がうまくいったのなら、次に同じことをするときに、どうしたら同じ結果を得ることができるのかを考えたり、さらに良い結果につなげるにはどうしたらいいかを考えることもできます。
先ほどの例でいうと
- 順番はこのままで良いから、作業一つ一つのやり方を見直して、より早く終わらせられるようにトライしてみよう!
- プロのレシピも美味しかったけど、もう少し甘みが欲しいから、今度は隠し味に○○をいれてみよう!
- 目的地で余裕があったから、今度は道中も楽しんでみたい。違う経路で行ける方法がないか調べてみよう!
といった感じで、工夫を凝らすきっかけにもなります。
最終的に、出したい結果が出せるまで、やり方や考え方を変えていく。このことを問題解決と言いますが、論理的思考は、問題解決する力を身につけてくれるものでもあります。
プログラミングで論理的思考力が身に付くのはなぜ?
プログラミングとは、物事がうまく進む、その仕組みや流れを理解して、それを実行するための手順を作ったり、必要なルールを作ったりすること、と先に書きました。一つのゴールや目標を与えて、それができるようにするための手順やルールを作っていくわけですね。
ですが、往往にして、すぐに出来上がるわけではありません。
先の例でいうと
- 今日の作業は順序通りにやってみたけど、想定していた以上に時間がかかってしまった。
- レシピ通りに料理を作ってみたけど、期待していた味に仕上がらなかった。
- 予定していた経路で目的地に向かったけど、到着が2時間以上遅れてしまった。
といった感じのこと、起こりますよね。
自分の考えた通りにプログラミングして(組み立てて)、実際にやってみたとしても、想像していたこととは全く違う結果になってしまうことが起こります。
そのときに、思った通りにできるように何度も同じことを繰り返すのではなくて、何が理由で違ってしまったんだろう?と考えますよね。
起こった結果に対して、その理由を考える。つまり論理的思考で物事を考えることになるわけです。
- 想定していた以上に時間がかかってしまっていた作業がわかれば、その作業のやり方を改めるか、時間がかかることを前提とした順序で組み立てる
- 期待していた味のうち甘みが足りないことがわかれば、材料に甘みを加えるものを増やすか、甘みを増すことができる手順で作る
- 到着が遅れたのが交通渋滞によるものであれば、次回は渋滞が発生する前に通過できるように出発する
このような感じで、工夫を重ねながら思い通りの結果にたどり着くことがプログラミングそのものであり、その過程を通して論理的思考力(問題解決力)が鍛えられていく、というわけです。
興味のある分野がベスト
プログラミング教育を通じて、パソコンやタブレットといったコンピュータ環境に慣れ親しみつつ、論理的思考力を身につけていく、というのが学校教育の新しい目的になっています。
パソコンやタブレット(スマホも含めて)についてはご家庭でも慣れ親しんでいるのではないでしょうか。パソコンやタブレットがなくても、家庭用ゲームを使うことでコンピュータやインターネット環境を利用した経験はあると思います。
とはいえ、プログラミングや論理的思考力というのは、そのような環境にいるだけでは身につきません。
プログラミングも論理的思考力も、なんとなく無意識にやっていることなので、意識的にやる必要があります。授業中はできても、普段の生活の中で使えるようになるには、やっぱり普段の生活の中で考えることが大事。短時間で身につくような力ではないので、継続的にやれるような工夫が必要です。
だから、授業の延長線上ではなくて興味がある分野で考えられるようにするのが一番効果的です。
ゲームが好きなら、ゲームの中で。
料理が好きなら、料理の中で。
ものづくりが好きなら、ものづくりの中で。
スポーツが好きなら、スポーツの中で。
読書が好きなら、読書の中で。
子供が一番楽しんでやっていることの中で、関わってあげるのがベストです。もちろん、これは大人にも同じことがいえます。
子供にはこんな風に伝えてみましょう
大人にとってもちょっと難しいイメージがあるプログラミングと論理的思考力。これを子供達にどうやって伝えれば良いかは、悩みどころかもしれません。
ですが、何とかして伝えようとする必要はありません。子供が興味をもっていることに一緒になって楽しんだり考えたりするのが一番伝わります。
子供がスポーツに興味をもっているのであれば、そのスポーツに興味をもって一緒に楽しんでみてください。
そして、何が楽しいのか、どんなことが面白いのかを聴いてみてください。
これだけでも、結果(楽しい、面白い)と、その理由(何が、どんなことが)を考える論理的思考に繋がります。
それから、こちらが疑問に思ったことがあれば、それを聴いてみてください。
試合の展開や流れが気になったら、この後どうなるの?とか、知らないルールが出てきたら、このルールでこの後どうなるの?とか。お子さんがその試合の選手だったとしたら、この後どうしたらいいか聴いてあげるのも良いですね。
こんな質問も、流れや組み立てを考えるプログラミングに繋がります。
難しい言葉を説明して伝えようとするよりも、このやり方のほうがよっぽど伝わります。
論理的思考力を高めるのに良い質問
楽しんでやっていたとしても、どこかでうまくいかないことが出てきます。それでも、なんとかしたい、どうしたらうまくいくようになるんだろう、と考え込んでいる時が理解を深める最大のチャンス。
そんなときにかけると良い、効果的な質問があります。
うまくいかなくなると、どうしたらわからなくなって、思考があちこちにどんでしまって、集中できなくなってきます。
だから、うまくいかなくなったポイントに意識をもって行ってあげるのが効果的になります
例えば
- 何が、きっかけでそうなったのかな?(理由を考える質問)
- それ、ほんとはどうなると良いのかな?(結果や途中経過を思い出す質問)
と行った感じですね。
もちろん、こちらから答えを教えることもできるでしょう。けれど、あえて教えないで自分で考える力を身につける。プログラミングを通して、自主性を育むこともできそうです。
まとめ
いかがでしたか?
普段何気なくやっていることが、実は将来とても役に立つ考え方に繋がっています。だからこそ、なんとなく過ごすのではなく、意識的にやることで力をつけることができるし、複雑なことでも理解ができるようになります。
最近はゲームを使ってプログラミングを学んだり、論理的思考力を鍛えることができるものもあります。有名どころでいうとマリオメーカーやマインクラフトと行ったゲームを作るゲームがあります。パソコンやタブレットが使えれば、ネット上にプログラミング練習が無料でできるサービスもあり、学びを深めるための環境は簡単に手に入りますよね。
自分の頃は、一からプログラムを打ち込んで作っていたので大変でした。今では楽しみながら身につけていくことができる環境がたくさんあり、ほんと羨ましい限りです。
けれど、そう行ったコンピュータの中だけの世界だけでなく、日常の生活の中にある物事を紐解きながら考えることが、一番使える力を身につけられると、個人的には思いますよ!