目次
目的を達成するための道順は1つではない
プログラミングは、コンピュータを思い通りに動かすための指示書というのは前回まで何度かお話してきました。
つまり、コンピュータに何かやって欲しいこと(目的)があるからプログラミングを行うわけです。
その目的を達成するための道のりは必ずしも1つとは限りません。どういうことか理解しやすいように道案内を例に解説していきます。
例として、上記のようにスタートからゴールまでの道案内を考えます。この時、皆さんならどのような道案内をするでしょうか?
おそらく次の2パターンが考えられるかと思います。
家を出てすぐに道に曲がる青色のパターンと家を出て2本目の交差点で曲がる赤色のパターンの2通りが考えられますが、はたしてどちらのルートが正解でしょうか??
答えはどちらのルートも正解です。
「スタートからゴールに行くこと」が目的で、そのための道順はどちらも同じなのがわかります。
プログラミングもこの考え方と同じように、コンピュータにして欲しい動作(行動)に対して、いくつもアプローチ方法があるということです。
学校教育では教、えやすいからなのか、採点しやすいからなのか、答えはこうでないとダメ!というようなことが時としてあるようですが、プログラミングでは必ずしも答えは一通りとは限らない!というのを知っておいてください。
プログラミングはシンプルに最適なものが望まれる
もちろん、正解がひとつとは限らないだけであって、望ましくない答えというものはあります。どういうものかを先ほどと同様に道案内を例に考えてみましょう。
例として、上図のような道案内を考えます。
こちらの例題でもスタートからゴールまでの道のりとしては上図のように2つ考えることができますね。
先程の例題では赤色のルート、青色のルートどちらも正解と伝えましたが、今回はどうでしょうか??
今回は正しいのは青色のルートです。
今回の例題は先程と違ってスタートの位置が異なり、青色のルートのほうが最短でゴールに着くのがひと目でわかります。
これは見ただけでわかるかと思います。実際に道案内をされたことを考えても赤色のルートを教えられたら、もっと近くてわかりやすいルートがあるじゃん!!って怒っちゃいますよね。
プログラミングの世界でも、同じように目的を達成する手段(方法)がいくつかあった場合、「より簡潔」で「より短い」ものが好まれます。 目的を達成できる方法なら決して間違いというわけではないのですが、よりシンプルで簡単な方が良いのは間違いないので、プログラミング教育を通じてそういった思考も鍛えていくのも大切なことです。
答えの数だけ成長のチャンスが溢れている
プログラミングは、答えが何通りもあるというのが理解していただけましたでしょうか?
この、答えを何パターンも考えてみるという思考こそがプログラミング脳を育てる重要な要素になります。これは問題解決能力の向上にも大きく影響しています。
1つのパターンでダメだったら別の方法を考えてみる。他にももっと簡単にできる方法は無いか探ってみるという思考力がプログラミングを通じて育てられていきます。また、色々なパターンを想像することは柔軟な思考力を鍛えることにも繋がります。
この能力は、プログラミングだけでなく人生のありとあらゆる場面で活用することができます。
子供が将来何か問題にぶつかった時に、こういう考え方ができれば、きっと人生をいい方向へ導いてくれることでしょうし、柔軟な思考力で何か新しい発見や開発をすることができるかもしれません。
これらの能力を鍛えるためのコツはズバリ!
ひとつの答え方だけでなく、他の答え方も無いかを探してみる!ことです。他にも無いかな??と考える時に脳はとても成長します。
ぜひ親子で一緒になって、楽しみながら取り組んでみて貰えたらと思います。