プログラミング教育って。。。#4(問題解決力)
前回は、プログラミング的思考力について述べましたが、今回は、ふたつめの知識及び技能(問題解決力の育成)について勝手に解説してみます。
国がプログラミング教育で児童に期待すること
- 思考力、判断力、表現力等(プログラミング的思考力の育成)
- 知識及び技能(問題解決力の育成)
- 学びに向かう力、人間性等(自発的な学習能力)
知識及び技能(問題解決力の育成)
問題解決力。。。
プログラミングが終わったら、それが決まった通りにちゃんと動くか確認する必要があります。
これを一般的にはテストと言いますが、このテストで不具合(バグ)がひとつも出ないということは、まずありません。
それどころか、なかなか思ったように動いてくれないのが現実です。
的確に指示しないとちゃんと動いてくれません。間違えた命令を書くと、指示通り間違えたまま動いてしまいます。
ある意味、子育てみたいなものですね。
不具合が見つかればその原因を調べて修正していかなければなりません(デバッグ)
このテストとデバッグを繰り返すことにより完璧なものを作り上げていくのです。
これってコンピュータの世界だけの話ではなくて色々な場面で同じようなことが行われていますよね。
例えば、自動車業界。。。
生産するまでに、
開発段階で、企画→デザイン→設計→試作・評価
生産準備段階に入って、生産性検討・工程計画→設備検討・調達→設備の品質確認
の工程を踏んで生産に入るそうです。
開発段階、生産準備段階の両方で最後に確認するという工程がありますね。
この確認工程がなかったら。。。ぞっとしますね。安心して運転できませんよね。
身近なところでいうと、料理。。。
普通は作りっぱなしで食卓には出さないですよね。多分味見ってしますよね。
味見して確認して、調味料とかで補正していって、最後に美味しいものが出来上がります。
前回も述べたように、ひとつの結果を出すのにプログラミングの方法は何通りもあります。
だから、プログラミングの方法によって不具合の内容も様々で、どんな不具合が出てくるか予想もできません。
更には、不具合に対する修正の方法も一通りではなく何通りもあります。
そんな不具合に対して、ああでもない、こうでもないと確認と修正を繰り返すことにより、最善の方法で完璧な物を完成させていく。
これが、問題解決力だと思います。