infomisc -ITエンジニア雑記-

某ITエンジニアの雑記および備忘録です。プログラミング教育についても触れていければと思っています。

プログラミング的思考#2

f:id:rmatsush:20200112005344j:plain

www.infomisc.netの続きです。

少し身近な話をしたいと思います。

今3歳の娘さんはレゴで遊ぶのが好きなのですが、「レゴで家を作りたい」と言ってきます。最初は作ってあげていたのですが、今は組み立ての説明書を見て一緒にやっています。

「プログラミング的思考」と紐づけると、「家を作りたい」という目的に対して、説明書の手順を踏むことで完成させることができるということが分かります(本人はまだ分かってないと思いますが。。^^;;)。家を作るためには土台となるブロックを配置して、それを繰り返していくことになりますので、この理解はプログラムでいうところの「順次処理」を意味しますので、プログラミング的思考が含まれます。

 

プログラミング的思考能力の向上

さらにプログラミング的思考を向上させることに踏み込むとなると、急にハードルが高くなりそうです。先ほどの「レゴで家を作りたい」という目的に対するプログラミング的思考能力のゴールは「組み立ての説明書を自分で作れること」になるかと思います。

本当に求められるのはこちらの能力だとは思うのですが、普通に考えると「レゴで家を作りたい」⇒「家を作るには組み立ての説明書が必要」⇒???となって、それ以上の答えが見つからなくなってしまうかもしれません(課題の分解ができなくなる状態)。そのような場合にどうするのかというと、自分の場合は知識や同様の経験から導く、または、有識者に聞くことで答えを出していきます。

プログラミング的思考ができる人は、目的に対して必要な課題を自分の消化できるかたちまで分解できます。「この実現のためにはこれをやらないといけなくて、それをやるためにはさらに別の課題を解決できないと、、」といった具合です。

正直、小学校の教育でどこまでのレベルが求められるのかはわかりませんが、ちょっとでも気づいてもらうことが重要なのかもしれませんね。