2018.12.1
プログラミング教育について
はじめまして!教育事業部を担当している、がっくんといいます。
よろしくおねがいします。
さて、今回は昨今話題になっているプログラミング教育について軽く話せればと思います。
プログラミングとは
まずプログラミングとは何か。
簡単に説明すると、”コンピューターを意図通りに動かすための命令”です。
もうここで、わからない人にはさっぱりだと思います。笑
まずは、プログラミングがどのように使われているか、何に使われているかイメージしてみるといいかもしれません。
身の回りでプログラムが組み込まれているものをいくつ言うことができますか?
普段意識していないとあまり出てこないかもしれません。
実はプログラムが組み込まれているものは身の回りにたくさん溢れています。
いくつか列挙してみます。
・ゲーム機
・スマートフォン
・車
・信号機
・テレビ
・洗濯機
・レジ
・デジタル時計
etc….
どうですか?挙げたらキリがないのですが、普段私達の知らないところでプログラムが溢れています。
では、次にこれらのどこにプログラムが使われているか。
テレビを例に簡単に説明してみます。
テレビには、リモコンが付属していますね。
リモコンの電源ボタンを押すと、どうなりますか?
そうです。テレビがつきますね。まさにその瞬間プログラムが作動したのです。
何かの命令を受けたときに、どのような動きをする。というのが予めプログラムとして組み込まれているのです。
スイッチを押す->テレビ本体へ信号を送る->信号を受け取り画面を表示する。
まさに、コンピューターを意図通りに動かすための命令ですね。
これで少しは、イメージがついたでしょうか。
なぜプログラミング教育が話題なのか
プログラミングがどのようなものかわかったところで、なぜプログラミング教育の話題がこんなにもでるのか。について話します。
要因としてはいろいろあるのですが、ここ最近での要因として一番影響があったのは”2020年プログラミング必修化”だと思います。
文部科学省より、2020年に実施されれる学習指導要領に盛り込まれています。
ではなぜ、教育の場にプログラミングが参入してきたか。
なぜ教育にプログラミングなのか
プログラミング教育でないが身につくのか。大きく3つの要素が挙げられます。
論理的思考、問題解決能力、創造力向上
これらの文字を見ただけでは、全然ピンときませんね。
これら一つ一つを、ゲームを例に解説していこうと思います。
まずは、論理的思考についてです。
皆さんは、スーパーマリオブラザーズをご存知でしょうか。
赤帽子のキャラクターが横に進みながらゴールを目指す、いわゆる横スクロールゲームですね。
このゲームで、キャラクターを右に動かそうとするとき、皆さんはどのようにしますか?
無意識に右ボタンを押しているはずです。
なぜなら、私達にとってそれが当たり前だからです。
どんなゲームでも、私達にとってはそれが直感的にわかりやすいよう、できるだけ自然に行えるように作られています。
しかし、コンピューターにとってはどうでしょう。
右といってわかるでしょうか。左といってわかるでしょうか。
そもそも、どれがキャラクターかわかるでしょうか。
答えはNOです。
コンピューターには、どれがキャラクターなのか、どれがブロックなのか教えてあげないとわからないのです。
ここで、プログラミングの登場です。
キャラクターを右に動かすためにどのような命令が必要か考えてみます。
まずは、どのボタンが押されたら動くかというのを教えて上げる必要があります。
今回は右へ動かしたいので、どのボタンが右だよ。とプログラムを書いてあげます。
次に、どれがキャラクターなのかをプログラムしてあげます。
コンピューターからすれば、画面上にあるものすべてが同じものです。
なので、どの画像がキャラクターなのかを指定するプログラムを書いてあげます。
これで、右ボタン、キャラクターを教えることができました。
最後に、右に動け!と命令してあげます。
もちろん、コンピューターは右なんてわかりません。なのでコンピューターが理解できるもので右を指示してあげます。
そこで使用するのが座標です。コンピューターは右という概念などではなく数値を使用して情報を与えることができます。
今回は右に動かしたいので、X座標をプラス方向に増やして上げることで右に動かすことができますね。
このように、これらすべてを論理的にプログラミングしてあげて初めて、右ボタンが押されたら右に動くというプログラムが完成するのです。
もしこの順序がばらばらであったり、必要な部品を間違えていたらうまく動作させる事ができません。
次に問題解決能力です。
これは文字からなんとなく雰囲気はわかりますね。
先程の右に動かすプログラムを例にとってみましょう。
論理的にプログラミングが行われていると、どのようなメリットがあるかと言うと、
どのような順番で、どのような処理を行っているか。というのが理解しやすい点にあります。
例えば、右ボタンを押したときにキャラクターが左に動いたとします。
何が原因でしょうか。論理的に考えてみます。
右ボタンを押したタイミングで、キャラクターが動いている。
ということは、右ボタンからの命令をコンピューターがしっかりと受け取れている解くことになります。
ここは問題なさそうですね。
次に、キャラクターを指定できているか。
右ボタンを押したときに、ブロックや敵ではなく、キャラクターを動かせているということはしっかりとどの画像がキャラクターか判断できているということですね。
ここも問題はなさそうです。
最後に座標について。
右に動かしたいのに、左に動いてしまっている。
ということは、X座標への数値がマイナス値になっているのではないか。
ここが問題ありそうですね。
このようにして、論理的に考えることができるとすぐに問題となる場所を特定することができます。
あとは、今のアプローチがだめなら、次のアプローチ、また次のアプローチといったトライ&エラーを繰り返しながら問題を解決していきます。
このような、普段生活しているなかでなかなか意識することのできないことを小さな画面上で何回も何回も体験することができるため、論理的思考、問題解決能力を効率的に向上させることができるのです。
最後に創造力向上について
絵を書くこと、文章を書くこと、音楽を作ることこれらすべて創造性がありとても育まれやすいものです。
プログラミングはこれらすべての要素を組み合わせて一つの作品とすることもできるのです。
ゲームをイメージしてみてください。
たくさんの絵が動いていますね。シナリオがありますね。BGMなどもありますね。
このように自由自在に自分の創造するものを簡単に実現するためのスキルがプログラミングなのです。
最後に
プログラミング教育がなぜ、話題になっているか。プログラミング教育とはどういうものなのか。少しわかってもらえましたか?
最後に宣伝を。。。。
随時無料体験授業を行っています。
ビジュアルプログラミングや本格的なプログラミング言語についてもレッスンを行っていますので、ぜひお問い合わせください。