プログラミング教育って。。。#3(プログラミング的思考力)
前回は、プログラミング教育必須化に至った背景などをざっくりと述べてきましたが、今回はもう少しブレイクダウンしてみます。
国がプログラミング教育で児童に期待すること
- 思考力、判断力、表現力等(プログラミング的思考力の育成)
- 知識及び技能(問題解決力の育成)
- 学びに向かう力、人間性等(自発的な学習能力)
なんか難しいですね???
これらを私なりに勝手に解説してみます。。。
今回は、ひとつめの思考力、判断力、表現力等(プログラミング的思考力の育成)について解説してみます。
思考力、判断力、表現力等(プログラミング的思考力の育成)
プログラミング的思考力。。。
プログラミングって、ある結果を導き出すために色々な命令を書くんですけど、その結果を導き出すための命令の書き方はひとつだけではなく何通りもあるんですね。
プログラミング的思考力って、そんな何通りもある書き方の中から、最善の方法(効率的で、誰が見てもわかりやすい)を導き出す能力の事だと思うんです。
例えば、子供に今日の晩ご飯は何が食べたいか聞く時に、
母:「ハンバーグ食べたい?」
子:「いや食べたくない」
母:「では、カレー食べたい?」
子:「食べたくない」
母:「では、エビフライ食べたい?」
子:「食べたい!!」
と聞くよりも
母:「ハンバーグかカレーかエビフライのうち何が食べたい?」
子:「エビフライ!!」
と聞いた方が効率的ですよね
他には。。。
例えば、スーパーなどで買い物をする時に、買う商品を決めて、その都度レジに行ったり、更にはその都度、店を出て、また入ったりはしませんよね。
普通はスーパーに入ったら買う商品をかごに入れてまとめてレジに行きますよね。そして支払いを済ませてスーパーを出ますよね。
最後にもう一例だけ。。。
電車に乗って目的駅に向けて移動する時、いちいち途中の停車駅で降りたりしませんよね。更にはその都度、途中駅を出て、また入ったりもしませんよね。
普通は駅に入ったら電車に乗ってそのまま目的駅に着くまでまで電車に乗ったままですよね。そして目的駅に着いたら電車を降りて駅を出ますよね。
実はプログラミングって基本的には書き手の自由に書けるので、書き方次第では、上記のような非効率な処理になったりしがちなんです。
これって、仕事のやり方であったり、小学生で言えば、勉強のやり方とかにも同じことが言えると思うんです。
そこで、「プログラミング的思考力」を育成することで、いろんな考え方の幅が増えて、より効率的なやり方を見つけ出すことができるようになる。
つまりは、思考力とか判断力とか表現力がより豊富な人材を増やして、日本の未来を明るくしていこうという国の思いなんだと思います。